fma*: Simplify test.
[gnulib.git] / ChangeLog
1 2011-11-05  Bruno Haible  <bruno@clisp.org>
2
3         fma*: Simplify test.
4         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
5         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6
7         Tests for module 'fmal'.
8         * modules/fmal-tests: New file.
9         * tests/test-fmal1.c: New file.
10         * tests/test-fmal2.c: New file.
11
12         New module 'fmal'.
13         * lib/math.in.h (fmal): New declaration.
14         * lib/fmal.c: New file.
15         * m4/fmal.m4: New file.
16         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
17         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
18         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
19         REPLACE_FMAL.
20         * modules/fmal: New file.
21         * doc/posix-functions/fmal.texi: Mention the new module and the various
22         bugs.
23
24         Tests for module 'fmaf'.
25         * modules/fmaf-tests: New file.
26         * tests/test-fmaf1.c: New file.
27         * tests/test-fmaf2.c: New file.
28
29         New module 'fmaf'.
30         * lib/math.in.h (fmaf): New declaration.
31         * lib/fmaf.c: New file.
32         * m4/fmaf.m4: New file.
33         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
34         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
35         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
36         REPLACE_FMAF.
37         * modules/fmaf: New file.
38         * doc/posix-functions/fmaf.texi: Mention the new module and the various
39         bugs.
40
41         Tests for module 'fma'.
42         * modules/fma-tests: New file.
43         * tests/test-fma1.c: New file.
44         * tests/test-fma1.h: New file.
45         * tests/test-fma2.c: New file.
46         * tests/test-fma2.h: New file.
47
48         New module 'fma'.
49         * lib/math.in.h (fma): New declaration.
50         * lib/fma.c: New file.
51         * m4/fma.m4: New file.
52         * m4/fegetround.m4: New file.
53         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
54         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
55         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
56         REPLACE_FMA.
57         * modules/fma: New file.
58         * doc/posix-functions/fma.texi: Mention the new module and the various
59         bugs.
60
61         Extend gl_MATHFUNC.
62         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
63         Support 'void' as argument type.
64         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
65
66 2011-11-05  Jim Meyering  <meyering@redhat.com>
67
68         maint.mk: also prohibit inclusion of dirent.h without use
69         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
70
71 2011-11-05  Bruno Haible  <bruno@clisp.org>
72
73         ldexpl tests: Avoid test failure on MSVC 9.
74         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
75         value. Needed in order to enforce the conversion from a value greater
76         than LDBL_MAX to Infinity.
77
78 2011-11-05  Bruno Haible  <bruno@clisp.org>
79
80         New modules 'at-internal', 'openat-h', split off from module 'openat'.
81         * modules/at-internal: New file, extracted from modules/openat.
82         * modules/openat-h: New file.
83         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
84         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
85         * modules/openat (Description): Add reference to POSIX function.
86         (Files): Remove lib/openat.h, lib/openat-proc.c.
87         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
88         intprops, unistd.
89         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
90         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
91         gl_FCNTL_MODULE_INDICATOR.
92         (Include): Remove unistd.h, openat.h.
93         * modules/areadlinkat (Files): Add lib/at-func.c.
94         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
95         openat-die, openat-h, save-cwd.
96         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
97         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
98         openat-die, openat-h, save-cwd, unistd.
99         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
100         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
101         openat-h, save-cwd. Remove fcntl-h, openat.
102         * modules/fchmodat (Files): Remove lib/openat.h.
103         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
104         openat, stdbool, unistd.
105         * modules/fchownat (Files): Remove lib/openat.h.
106         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
107         openat, stdbool, sys_stat.
108         * modules/fdopendir (Files): Remove lib/openat-priv.h,
109         lib/openat-proc.c.
110         (Depends-on): Add at-internal.
111         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
112         * modules/fstatat (Files): Remove lib/openat.h.
113         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
114         stdbool, unistd.
115         * modules/fts (Depends-on): Add openat-h.
116         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
117         openat.
118         * modules/mkdirat (Files): Remove lib/openat.h.
119         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
120         openat, stdbool, sys_stat.
121         * modules/mkfifoat (Files): Add lib/at-func.c.
122         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
123         openat-h, save-cwd. Remove fcntl-h, openat.
124         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
125         * modules/readlinkat (Files): Add lib/at-func.c.
126         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
127         openat-h, save-cwd. Remove fcntl-h, openat.
128         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
129         openat.
130         * modules/selinux-at (Files): Add lib/at-func.c.
131         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
132         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
133         * modules/symlinkat (Files): Add lib/at-func.c.
134         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
135         openat-h, save-cwd. Remove fcntl-h, openat.
136         * modules/unlinkat (Files): Remove lib/openat.h.
137         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
138         stdbool.
139         * modules/utimensat (Files): Add lib/at-func.c.
140         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
141         openat-die, openat-h, save-cwd.
142         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
143         * modules/fdutimensat-tests (Depends-on): Add openat.
144         * modules/fstatat-tests (Depends-on): Add openat-h.
145         * modules/readlinkat-tests (Depends-on): Add openat.
146         * modules/symlinkat-tests (Depends-on): Add openat.
147
148 2011-11-05  Bruno Haible  <bruno@clisp.org>
149
150         openat: Include <stdbool.h>.
151         * lib/openat.c: Include <stdbool.h>.
152
153 2011-11-04  Bruno Haible  <bruno@clisp.org>
154
155         fchownat, renameat, unlinkat: Fix dependencies.
156         * modules/fchownat (Depends-on): Add fstatat.
157         * modules/renameat (Depends-on): Likewise.
158         * modules/unlinkat (Depends-on): Likewise.
159
160 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
161
162         openat: remove direct dependency on dirent
163         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
164         and hasn't been needed ever since fdopendir was split into its own
165         module on 2009-08-31.
166         * modules/openat (Depends-on): Remove dirent.
167
168 2011-11-04  Bruno Haible  <bruno@clisp.org>
169
170         renameat: Optimize code size.
171         * modules/renameat (configure.ac): Don't compile at-func2.c if
172         REPLACE_RENAMEAT is 1.
173
174 2011-11-04  Bruno Haible  <bruno@clisp.org>
175
176         openat tests: Fix file list.
177         * modules/openat-tests (Files): Add tests/test-open.h.
178
179 2011-11-04  Bruno Haible  <bruno@clisp.org>
180
181         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
182         * modules/fchmodat (Depends-on): Add openat-die.
183         * modules/fchownat (Depends-on): Likewise.
184         * modules/linkat (Depends-on): Likewise.
185         * modules/renameat (Depends-on): Likewise.
186         * modules/openat (Depends-on): Add dirent.
187
188 2011-11-04  Jim Meyering  <meyering@redhat.com>
189
190         at-func*.c: fix comments
191         * lib/at-func2.c: Correct/improve first-line comment.
192         * lib/at-func.c: Correct grammar in first-line comment.
193
194 2011-11-04  Bruno Haible  <bruno@clisp.org>
195
196         New module 'mkdirat', split off from module 'openat'.
197         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
198         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
199         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
200         * modules/mkdirat: New file, extracted from modules/openat.
201         * modules/openat (Files): Remove lib/mkdirat.c.
202         (Depends-on): Remove mkdir.
203         (configure.ac): Remove AC_LIBOBJ of mkdirat.
204         (Include): Remove <sys/stat.h>.
205         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
206         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
207         tests/test-mkdir.h.
208         (Depends-on): Remove ignore-value.
209         (Makefile.am): Remove rules for test-mkdirat.
210         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
211         of module 'openat'.
212         * NEWS: Mention the change.
213
214 2011-11-04  Bruno Haible  <bruno@clisp.org>
215
216         closedir: Avoid warning on mingw.
217         * lib/closedir.c: Include <unistd.h>.
218
219 2011-11-04  Bruno Haible  <bruno@clisp.org>
220
221         New module 'fstatat', split off from module 'openat'.
222         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
223         defined.
224         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
225         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
226         gl_FUNC_FSTATAT.
227         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
228         * modules/fstatat: New file, extracted from modules/openat.
229         * modules/openat (Files): Remove lib/fstatat.c.
230         (Depends-on): Remove lstat.
231         (configure.ac): Remove AC_LIBOBJ of fstatat.
232         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
233         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
234         tests/test-lstat.h, tests/test-stat.h.
235         (Depends-on): Remove getcwd-lgpl.
236         (Makefile.am): Remove rules for test-fstatat.
237         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
238         of module 'openat'.
239         * NEWS: Mention the change.
240         * modules/getcwd (Depends-on): Add fstatat.
241         * modules/linkat (Depends-on): Likewise.
242         * modules/mkfifoat-tests (Depends-on): Likewise.
243         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
244
245 2011-11-03  Bruno Haible  <bruno@clisp.org>
246
247         New module 'unlinkat', split off from module 'openat'.
248         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
249         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
250         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
251         * modules/unlinkat: New file, extracted from modules/openat. Correct
252         the dependency conditions.
253         * modules/openat (Files): Remove lib/unlinkat.c.
254         (Depends-on): Remove rmdir, unlink.
255         (configure.ac): Remove AC_LIBOBJ of unlinkat.
256         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
257         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
258         tests/test-rmdir.h, tests/test-unlink.h.
259         (Depends-on): Remove unlinkdir.
260         (Makefile.am): Remove rules for test-unlinkat.
261         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
262         of module 'openat'.
263         * NEWS: Mention the change.
264         * modules/linkat-tests (Depends-on): Add unlinkat.
265         * modules/mkfifoat-tests (Depends-on): Likewise.
266         * modules/readlinkat-tests (Depends-on): Likewise.
267
268 2011-11-02  Bruno Haible  <bruno@clisp.org>
269
270         New module 'fchmodat', split off from module 'openat'.
271         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
272         defined.
273         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
274         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
275         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
276         * modules/fchmodat: New file, extracted from modules/openat.
277         * modules/openat (Files): Remove lib/fchmodat.c.
278         (configure.ac): Remove AC_LIBOBJ of fchmodat.
279         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
280         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
281         (Makefile.am): Remove rules for test-fchmodat.
282         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
283         of module 'openat'.
284         * NEWS: Mention the change.
285
286 2011-11-02  Jim Meyering  <meyering@redhat.com>
287
288         putenv: indent #definition of "environ" to placate cppi
289         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
290
291         gitlog-to-changelog: provide a ChangeLog-repair mechanism
292         Git logs are often treated as immutable, because editing them
293         changes the SHA1 checksums of all descendants.  Thus, errors in
294         git logs tend to stay there forever.  However, when we generate
295         a ChangeLog file -- typically for distribution -- from that git log,
296         we can actually make corrections in the generated file.  The key
297         lies in recording in machine-readable/applicable form the desired
298         corrections.  See --help for description and an example.
299         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
300         (usage): Describe it; alphabetize option descriptions.
301         (main): Honor the new option, carefully.
302
303 2011-11-01  Jim Meyering  <meyering@redhat.com>
304
305         gitlog-to-changelog: avoid an infloop
306         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
307         that ends up being empty.
308
309 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
310
311         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
312         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
313         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
314         contains (possibly-quoted) backslashes.  This should avoid
315         all-too-common shell bugs if COMPLICATED contains backslashes in
316         the "wrong" places.  Reported by David Evans in
317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
318         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
319         because we want ASCII ranges.  Is there some reason we don't use
320         the C locale everywhere in this script?
321         (func_module, top level): Avoid unwanted pathname expansion when
322         $repo_url_prefix or $repo_url_suffix_repl contain shell
323         metacharacters like '?' and '*'.
324
325 2011-11-01  Bruno Haible  <bruno@clisp.org>
326
327         fchownat: Improve description.
328         * modules/fchownat (Description): Add link to function.
329
330 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
331
332         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
333         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
335         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
336
337 2011-11-01  Bruno Haible  <bruno@clisp.org>
338
339         alignof: Avoid collision with stdalign module.
340         * lib/alignof.h (alignof): Remove macro.
341         * NEWS: Mention the change.
342         Reported by Paul Eggert.
343
344 2011-11-01  Bruno Haible  <bruno@clisp.org>
345
346         New module 'fchownat', split off from module 'openat'.
347         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
348         defined.
349         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
350         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
351         invoke gl_FUNC_FCHOWNAT.
352         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
353         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
354         * modules/fchownat: New file, extracted from modules/openat.
355         * modules/openat (Files): Remove lib/fchownat.c.
356         (Depends-on): Remove lchown.
357         (configure.ac): Remove AC_LIBOBJ of fchownat.
358         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
359         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
360         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
361         (Depends-on): Remove mgetgroups, usleep, stat-time.
362         (configure.ac): Remove test for getegid.
363         (Makefile.am): Remove rules for test-fchownat.
364         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
365         of module 'openat'.
366         * NEWS: Mention the change.
367
368 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
369
370         stdalign: port better to MSVC and to Sun C 5.11
371         This fixes some of the problems reported by Bruno Haible in
372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
373         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
374         shortcomings of MSVC and of Sun C 5.11.
375         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
376         around __declspec arg.
377         * modules/stdalign-tests (Files): Add tests/macros.h.
378         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
379         Include macros.h, for ASSERT.
380         (DECLARE_ALIGNED): Remove.
381         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
382         to catch bug), and to 1 if not (simplifies the rest of the code).
383         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
384         (CHECK_AUTO): Remove.
385         (CHECK_ALIGNED): Check only the alignment of the static vars,
386         since auto var alignment isn't supported by Sun C 5.11.
387         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
388         ASSERT failures are easier to diagnose.
389
390 2011-10-31  Bruno Haible  <bruno@clisp.org>
391
392         doc about some IRIX 5.3 problems.
393         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
394         on IRIX 5.3.
395         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
396         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
397         5.3.
398         * doc/posix-functions/grantpt.texi: Likewise.
399         * doc/posix-functions/unlockpt.texi: Likewise.
400         * doc/posix-functions/lgamma.texi: Likewise.
401         * doc/posix-functions/nextafter.texi: Likewise.
402         * doc/posix-functions/remainder.texi: Likewise.
403         * doc/posix-functions/select.texi: Mention misplaced declaration on
404         IRIX 5.3.
405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
406
407 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
408
409         gitlog-to-changelog: fix git-log invocation.
410         git-log mishandles date strings before 1970-01-01 UTC, and there is
411         no use to specify --since=1970-01-01 by default anyway.
412         * build-aux/gitlog-to-changelog: By default, when no --since option
413         was given, do not specify explicit --since option to git-log.
414
415 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
416
417         gitlog-to-changelog: new option --append-dot.
418         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
419         first non-blank line of each commit message terminated with a dot.
420
421 2011-10-30  Bruno Haible  <bruno@clisp.org>
422
423         ffsl, ffsll: Avoid compilation error due to 'restrict'.
424         * lib/ffsl.h: Include <config.h>.
425         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
426
427 2011-10-30  Jim Meyering  <meyering@redhat.com>
428
429         GNUmakefile: reenable "make syntax-check" for most projects
430         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
431         build-aux variable", "syntax-check" would do nothing but succeed with
432         the "No version control files detected..." diagnostic (unless you
433         happened to override _build-aux via cfg.mk).
434         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
435         to precede inclusion of maint.mk.  Otherwise, these variables would
436         be used undefined in any project that does not override the default.
437
438 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
439
440         gitlog-to-changelog: treat a message with only blank lines as empty.
441         * build-aux/gitlog-to-changelog: Move the code that removes leading and
442         trailing blank lines before the code that issues a warning about an
443         empty commit message.
444
445 2011-10-30  Jim Meyering  <meyering@redhat.com>
446
447         test-parse-datetime.c: avoid new DST-related false positive test failure
448         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
449         based on the time/date we'll convert, not the current time.
450         Otherwise, the moment we cross a DST boundary like today's in
451         Europe, (CEST to CET), that offset ends up being one hour off.
452
453 2011-10-27  Bruno Haible  <bruno@clisp.org>
454
455         fstat: Tweak documentation.
456         * modules/fstat (Description): More precise description.
457
458 2011-10-27  Bruno Haible  <bruno@clisp.org>
459
460         Update documentation regarding 'largefile' module.
461         * doc/posix-functions/fstat.texi: Tweak wording.
462         * doc/posix-functions/opendir.texi: Mention that the module fixes the
463         problems with huge directories and/or small ino_t types.
464         * doc/posix-functions/readdir.texi: Likewise.
465         * doc/posix-functions/rewinddir.texi: Likewise.
466
467 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
468
469         maint.mk: don't maintain a second build-aux variable.
470         * maint.mk (build_aux): Removed.  The maintainer-makefile module
471         depends on GNUmakefile, which already maintains a cfg.mk
472         overridable $(_build-aux) for projects with a non-standard
473         build-aux directory location, although without the $(srcdir)
474         prefix.  Use that variable consistently instead of introducing a
475         second one.  Adjust all call sites.
476
477 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
478
479         Add stdalign module and use it in other modules.
480         This is based on a previous proposal by Bruno Haible
481         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
482
483         stdalign: new module
484         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
485         * modules/stdalign: New files.
486         * MODULES.html.sh (c1x_core_properties): Add stdalign.
487         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
488
489         stdalign-tests: new module
490         * modules/stdalign-tests, tests/test-stdalign.c: New files.
491
492         argp: use stdalign
493         * lib/argp-parse.c: Include <stdalign.h>.
494         (alignof): Remove.
495         * modules/argp (Depends-on): Add stdalign.
496
497         crypto libraries: use stdalign
498         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
499         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
500         Do not include <stdlib.h> twice, in md4.c.
501         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
502         because we are accessing a pointer's bit-pattern, not a size.
503         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
504         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
505         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
506         * modules/crypto/sha512: Likewise.
507
508         sys_socket: use stdalign, not alignof
509         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
510         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
511
512 2011-10-27  Bruno Haible  <bruno@clisp.org>
513
514         raise test: Avoid a test failure on Linux/MIPS.
515         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
516         because 99 is a valid signal on Linux/MIPS.
517
518 2011-10-27  Bruno Haible  <bruno@clisp.org>
519
520         nonblocking tests: Fix test failure on Linux/MIPS.
521         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
522         Set to 270000.
523
524 2011-10-27  Bruno Haible  <bruno@clisp.org>
525
526         utimensat: Work around problem on Linux/hppa.
527         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
528         values.
529         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
530
531 2011-10-25  Jim Meyering  <meyering@redhat.com>
532
533         maint.mk: fix a bug in sc_prohibit_stddef_without_use
534         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
535         after symbols like NULL, size_t, etc.
536         Reported by Alfred M. Szmidt.
537
538         maint.mk: exempt ENODATA from a syntax-check rule
539         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
540         from the sc_prohibit_always-defined_macros syntax-check rule.
541         Add a comment.  See this for more details:
542         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
543
544 2011-10-23  Jim Meyering  <meyering@redhat.com>
545
546         fts: close parent dir FD before returning from post-traversal fts_read
547         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
548         unlink A, even though an FD open on A remained.  This is suboptimal
549         (holding a file descriptor open longer than needed), but otherwise not
550         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
551         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
552         that represents a real problem: it causes the removal of A to fail
553         with e.g., "rm: cannot remove `A': Device or resource busy"
554
555         fts visits each directory twice and keeps a cache (fts_fd_ring) of
556         directory file descriptors.  After completing the final, FTS_DP,
557         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
558         cache, but then proceeded to add a new FD to it via the subsequent
559         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
560         final file descriptor would be closed only via fts_close's call to
561         fd_ring_clear.  Now, it is usually closed earlier, via the final
562         FTS_DP-returning fts_read call.
563         * lib/fts.c (restore_initial_cwd): New function, converted from
564         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
565         Update callers.
566         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
567         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
568
569 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
570             Bruno Haible  <bruno@clisp.org>
571             Jim Meyering  <jim@meyering.net>
572
573         readme-release: improve safety of release prep instructions.
574         * README-release: Don't git pull all branches when only master
575         is needed for the release process.
576         Run make maintainer-clean before changing trees and merging.
577         Don't try to run ./configure right after git pull in case files
578         that influence the bootstrap process have changed, move the
579         ./configure step to after running ./bootstrap.
580         Don't bootstrap "one last time"... it's the first time!
581
582 2011-10-22  Bruno Haible  <bruno@clisp.org>
583
584         errno, strerror-override: Support for MSVC 10.
585         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
586         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
587         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
588         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
589         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
590         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
591         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
592         Assign values compatible with MSVC 10.
593         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
594         New macros.
595         (GNULIB_defined_EWINSOCK): New macro.
596         * lib/strerror-override.c (strerror_override): Update accordingly.
597         * lib/strerror-override.h: Likewise.
598         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
599         longer equal to the corresponding errno value.
600         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
601
602 2011-10-22  Bruno Haible  <bruno@clisp.org>
603
604         perror: Recognize when test program crashes.
605         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
606         strerror, set gl_cv_func_perror_works to no.
607         Reported by Daniel Richard G. <skunk@iskunk.org>.
608
609         perror: Fix indentation.
610         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
611
612 2011-10-22  Bruno Haible  <bruno@clisp.org>
613
614         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
615         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
616         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
617         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
618         functions, not as a macro.
619         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
620         macros.
621         (isfinite, isinf, isnan, signbit): Check overloaded functions and
622         absence of macro.
623         Suggested by Eric Blake.
624         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
625
626 2011-10-21  Bruno Haible  <bruno@clisp.org>
627
628         relocatable-prog-wrapper: Don't leave object files behind.
629         * build-aux/install-reloc: Re-synchronize list of .o files to be
630         removed with list of compilation units.
631
632 2011-10-20  Bruno Haible  <bruno@clisp.org>
633
634         openpty, posix_openpt: Remove code duplication.
635         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
636         * lib/openpty.c: Include <stdlib.h>.
637         (openpty): Use posix_openpt on all platforms except IRIX.
638         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
639
640 2011-10-20  Bruno Haible  <bruno@clisp.org>
641
642         unlockpt: Detect invalid argument.
643         * lib/unlockpt.c: Include <fcntl.h>.
644         (unlockpt): Check whether fd is valid, using fcntl().
645         * modules/unlockpt (Depends-on): Add fcntl-h.
646
647 2011-10-20  Bruno Haible  <bruno@clisp.org>
648
649         openpty: Avoid compilation error on AIX 6.1.
650         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
651
652 2011-10-20  Bruno Haible  <bruno@clisp.org>
653
654         posix_openpt: Support for OpenBSD.
655         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
656         (posix_openpt) [OpenBSD]: New code.
657         * lib/grantpt.c: Include <fcntl.h>.
658         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
659         * modules/grantpt (Depends-on): Add fcntl-h.
660
661 2011-10-20  Bruno Haible  <bruno@clisp.org>
662
663         posix_openpt test: Coding style.
664         * tests/test-posix_openpt.c: Use GNU coding style.
665
666 2011-10-20  Bruno Haible  <bruno@clisp.org>
667
668         grantpt: Support --avoid=pt_chown.
669         * modules/grantpt (Files): Add lib/pty-private.h.
670
671 2011-10-20  Bruno Haible  <bruno@clisp.org>
672
673         posix_openpt: Fix autoconf macro.
674         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
675         unneeded check for _getpty.
676
677 2011-10-20  Bruno Haible  <bruno@clisp.org>
678
679         openpty: Update comments.
680         * lib/openpty.c: Add comments about Minix.
681
682 2011-10-19  Eric Blake  <eblake@redhat.com>
683
684         openpty: relax license
685         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
686
687         pt_chown: use configmake to simplify build
688         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
689
690         ptsname and others: relax license
691         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
692         * modules/unlockpt (License): Likewise.
693         * modules/pt_chown (License): Likewise.
694         * modules/ptsname (License): Likewise.
695         * modules/ttyname_r (License): Likewise.
696
697 2011-10-19  Jim Meyering  <meyering@redhat.com>
698
699         posix_openpt: remove spurious #endif
700         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
701
702 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
703
704         maint.mk: Respect $(build_aux) in web-manual rule.
705         * top/maint.mk (web-manual): Find gen-announce script in user's
706         $(build_aux) directory instead of hard-coding 'build-aux'.
707
708 2011-10-19  Bruno Haible  <bruno@clisp.org>
709
710         posix_openpt: Fix compilation error.
711         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
712         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
713         Mention the openpty module as an alternative.
714
715 2011-10-19  Bruno Haible  <bruno@clisp.org>
716
717         Support for old NeXTstep 3.3 frexp().
718         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
719         execution time of the test to 5 seconds.
720         Reported by Daniel Richard G. <skunk@iskunk.org>.
721
722 2011-10-19  Bruno Haible  <bruno@clisp.org>
723
724         Support for old NeXTstep 3.3 sed.
725         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
726         part, use /.../, not \|...|. Escape periods in the header file name.
727         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
728         Reported by Daniel Richard G. <skunk@iskunk.org>.
729
730 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
731
732         Support for old NeXTstep 3.3 gcc.
733         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
734         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
735         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
736         * lib/spawn.in.h (_Restrict_arr_): Likewise.
737         * lib/regex.h (_Restrict_arr_): Likewise.
738         * lib/regex_internal.h (re_token_t): Likewise.
739         * lib/regexec.c (check_node_accept_bytes): Likewise.
740         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
741
742 2011-10-18  Eric Blake  <eblake@redhat.com>
743
744         posix_openpt: new module
745         * modules/posix_openpt: New module.
746         * m4/posix_openpt.m4: New file.
747         * lib/posix_openpt.c: Likewise.
748         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
749         (gl_STDLIB_H_DEFAULTS): Set defaults.
750         * modules/stdlib (Makefile.am): Substitute macros.
751         * lib/stdlib.in.h (posix_openpt): Declare.
752         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
753         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
754         * modules/posix_openpt-tests: New test module.
755         * tests/test-posix_openpt.c: New test.
756
757 2011-10-15  Bruno Haible  <bruno@clisp.org>
758
759         xstrtoll: Fix compilation failure.
760         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
761         from lib/strtol.c.
762         * doc/posix-headers/limits.texi: Mention missing numerical limits on
763         some platforms.
764         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
765
766 2011-10-15  Bruno Haible  <bruno@clisp.org>
767
768         vasnprintf: Optimize bit search operation.
769         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
770         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
771         gl_DOUBLE_EXPONENT_LOCATION.
772         * modules/vasnprintf (Files): Add m4/exponentd.m4.
773         * modules/unistdio/u8-vasnprintf (Files): Likewise.
774         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
775         * modules/unistdio/u16-vasnprintf (Files): Likewise.
776         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
777         * modules/unistdio/u32-vasnprintf (Files): Likewise.
778         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
779         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
780         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
781
782 2011-10-15  Bruno Haible  <bruno@clisp.org>
783
784         vasnprintf: Fix comments.
785         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
786
787 2011-10-14  Bruno Haible  <bruno@clisp.org>
788
789         Tests for module 'integer_length_ll'.
790         * modules/integer_length_ll-tests: New file.
791         * tests/test-integer_length_ll.c: New file.
792
793         New module 'integer_length_ll'.
794         * lib/integer_length_ll.c: New file.
795         * modules/integer_length_ll: New file.
796
797 2011-10-14  Bruno Haible  <bruno@clisp.org>
798
799         Tests for module 'integer_length_l'.
800         * modules/integer_length_l-tests: New file.
801         * tests/test-integer_length_l.c: New file.
802
803         New module 'integer_length_l'.
804         * lib/integer_length_l.c: New file.
805         * modules/integer_length_l: New file.
806
807 2011-10-14  Bruno Haible  <bruno@clisp.org>
808
809         Tests for module 'integer_length'.
810         * modules/integer_length-tests: New file.
811         * tests/test-integer_length.c: New file.
812
813         New module 'integer_length'.
814         * lib/integer_length.h: New file.
815         * lib/integer_length.c: New file.
816         * modules/integer_length: New file.
817
818 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
819
820         popen: Fix dependency conditions.
821         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
822
823 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
824
825         perror: Fix autoconf test.
826         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
827         <stdlib.h> and <string.h>.
828
829 2011-10-14  Bruno Haible  <bruno@clisp.org>
830
831         ffsl: Optimize on 64-bit platforms.
832         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
833         unrolling.
834
835 2011-10-13  Bruno Haible  <bruno@clisp.org>
836
837         ffsl: Optimize on 32-bit platforms.
838         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
839         use ffs() without a loop.
840
841         ffsl, ffsll: Optimize for GCC.
842         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
843         * lib/ffsl.c (GCC_BUILTIN): New macro.
844         * lib/ffsll.c (GCC_BUILTIN): Likewise.
845
846 2011-10-13  Bruno Haible  <bruno@clisp.org>
847
848         ffs, bcopy, memset: Support symbol renaming via config.h.
849         * lib/ffs.c: Include <config.h>.
850         * lib/bcopy.c: Likewise.
851         * lib/memset.c: Likewise.
852
853 2011-10-10  Bruno Haible  <bruno@clisp.org>
854
855         atanl: Simplify for platforms where 'long double' == 'double'.
856         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
857         alternative implementation.
858         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
859         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
860         * modules/atanl (Depends-on): Add atan. Update conditions.
861
862 2011-10-10  Bruno Haible  <bruno@clisp.org>
863
864         acosl: Simplify for platforms where 'long double' == 'double'.
865         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
866         alternative implementation.
867         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
868         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
869         * modules/acosl (Depends-on): Add acos. Update conditions.
870
871 2011-10-10  Bruno Haible  <bruno@clisp.org>
872
873         asinl: Simplify for platforms where 'long double' == 'double'.
874         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
875         alternative implementation.
876         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
877         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
878         * modules/asinl (Depends-on): Add asin. Update conditions.
879
880 2011-10-10  Bruno Haible  <bruno@clisp.org>
881
882         tanl: Simplify for platforms where 'long double' == 'double'.
883         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
884         implementation.
885         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
886         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
887         * modules/tanl (Depends-on): Add tan. Update conditions.
888         (configure.ac): Don't compile trigl.c if
889         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
890
891 2011-10-10  Bruno Haible  <bruno@clisp.org>
892
893         cosl: Simplify for platforms where 'long double' == 'double'.
894         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
895         implementation.
896         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
897         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
898         * modules/cosl (Depends-on): Add cos. Update conditions.
899         (configure.ac): Don't compile sincosl.c and trigl.c if
900         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
901
902 2011-10-10  Bruno Haible  <bruno@clisp.org>
903
904         sinl: Simplify for platforms where 'long double' == 'double'.
905         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
906         implementation.
907         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
908         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
909         * modules/sinl (Depends-on): Add sin. Update conditions.
910         (configure.ac): Don't compile sincosl.c and trigl.c if
911         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
912
913 2011-10-10  Bruno Haible  <bruno@clisp.org>
914
915         logl: Simplify for platforms where 'long double' == 'double'.
916         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
917         implementation.
918         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
919         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
920         * modules/logl (Depends-on): Add log. Update conditions.
921
922 2011-10-10  Bruno Haible  <bruno@clisp.org>
923
924         expl: Simplify for platforms where 'long double' == 'double'.
925         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
926         implementation.
927         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
928         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
929         * modules/expl (Depends-on): Add exp. Update conditions.
930
931 2011-10-10  Bruno Haible  <bruno@clisp.org>
932
933         sqrtl: Simplify for platforms where 'long double' == 'double'.
934         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
935         alternative implementation.
936         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
937         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
938         * modules/sqrtl (Depends-on): Update conditions.
939
940 2011-10-10  Bruno Haible  <bruno@clisp.org>
941
942         ldexpl: Simplify for platforms where 'long double' == 'double'.
943         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
944         alternative implementation.
945         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
946         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
947         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
948
949 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
950
951         ffsll: set correct witness
952         * modules/ffsll (configure.ac): Fix typo.
953
954 2011-10-10  Bruno Haible  <bruno@clisp.org>
955
956         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
957         * lib/printf-frexpl.c: Include <config.h>.
958         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
959         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
960         second time.
961         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
962         gl_LONG_DOUBLE_VS_DOUBLE.
963         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
964         conditions.
965
966 2011-10-10  Bruno Haible  <bruno@clisp.org>
967
968         frexpl: Simplify for platforms where 'long double' == 'double'.
969         * lib/frexpl.c: Include <config.h>.
970         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
971         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
972         time.
973         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
974         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
975         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
976         * modules/frexpl (Depends-on): Add frexp. Update conditions.
977         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
978         conditions.
979
980 2011-10-10  Jim Meyering  <meyering@redhat.com>
981
982         test-renameat: don't leave behind a temporary file
983         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
984           ERROR: files left in build directory after distclean:
985           ./gltests/test-renameat.too
986           make[1]: *** [distcleancheck] Error 1
987         Reported by Tom G. Christensen.
988
989 2011-10-09  Bruno Haible  <bruno@clisp.org>
990
991         rint: Determine RINT_LIBM correctly on AIX 7.
992         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
993         directly, not only through a function pointer. Also accept an optional
994         4th argument with extra code.
995         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
996         rintf() call by gcc when optimizing.
997
998         mathfunc.m4: Refactor.
999         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1000         m4 variable.
1001
1002 2011-10-09  Bruno Haible  <bruno@clisp.org>
1003
1004         rintl: Simplify for platforms where 'long double' == 'double'.
1005         * lib/rintl.c: Include <config.h>.
1006         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1007         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1008         time.
1009         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1010         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1011         * modules/rintl (Depends-on): Add rint. Update conditions.
1012
1013 2011-10-09  Bruno Haible  <bruno@clisp.org>
1014
1015         roundl: Simplify for platforms where 'long double' == 'double'.
1016         * lib/roundl.c: Include <config.h>.
1017         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1018         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1019         time.
1020         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1021         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1022         * modules/roundl (Depends-on): Add round. Update conditions.
1023
1024 2011-10-09  Bruno Haible  <bruno@clisp.org>
1025
1026         truncl: Simplify for platforms where 'long double' == 'double'.
1027         * lib/truncl.c: Include <config.h>.
1028         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1029         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1030         time.
1031         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1032         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1033         * modules/truncl (Depends-on): Add trunc. Update conditions.
1034
1035 2011-10-09  Bruno Haible  <bruno@clisp.org>
1036
1037         ceill: Simplify for platforms where 'long double' == 'double'.
1038         * lib/ceill.c: Include <config.h>.
1039         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1040         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1041         time.
1042         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1043         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1044         * modules/ceill (Depends-on): Add ceil. Update conditions.
1045
1046 2011-10-09  Bruno Haible  <bruno@clisp.org>
1047
1048         floorl: Simplify for platforms where 'long double' == 'double'.
1049         * lib/floorl.c: Include <config.h>.
1050         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1051         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1052         time.
1053         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1054         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1055         * modules/floorl (Depends-on): Add floor. Update conditions.
1056
1057 2011-10-09  Bruno Haible  <bruno@clisp.org>
1058
1059         rint: Fix ordering constraints.
1060         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1061         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1062         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1063
1064 2011-10-09  Bruno Haible  <bruno@clisp.org>
1065
1066         copysignl: Simplify for platforms where 'long double' == 'double'.
1067         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1068         alternative.
1069         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1070         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1071         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1072
1073 2011-10-09  Bruno Haible  <bruno@clisp.org>
1074
1075         Tests for module 'rintl'.
1076         * modules/rintl-tests: New file.
1077         * tests/test-rintl.c: New file.
1078
1079         New module 'rintl'.
1080         * lib/math.in.h (rintl): New declaration.
1081         * lib/rintl.c: New file.
1082         * m4/rintl.m4: New file.
1083         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1085         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1086         * modules/rintl: New file.
1087         * tests/test-math-c++.cc: Check the declaration of rintl.
1088         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1089         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1090         * doc/posix-functions/rintl.texi: Mention the new module.
1091
1092 2011-10-09  Bruno Haible  <bruno@clisp.org>
1093
1094         Tests for module 'rintf'.
1095         * modules/rintf-tests: New file.
1096         * tests/test-rintf.c: New file.
1097
1098         New module 'rintf'.
1099         * lib/math.in.h (rintf): New declaration.
1100         * lib/rintf.c: New file.
1101         * m4/rintf.m4: New file.
1102         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1103         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1104         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1105         * modules/rintf: New file.
1106         * tests/test-math-c++.cc: Check the declaration of rintf.
1107         * doc/posix-functions/rintf.texi: Mention the new module.
1108
1109 2011-10-09  Bruno Haible  <bruno@clisp.org>
1110
1111         rint: Support for MSVC.
1112         * lib/math.in.h (rint): New declaration.
1113         * lib/rint.c: New file.
1114         * m4/rint.m4: New file.
1115         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1116         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1117         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1118         * modules/rint (Description): Fix.
1119         (Files): Add lib/rint.c, m4/rint.m4.
1120         (Depends-on): Add math.
1121         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1122         gl_MATH_MODULE_INDICATOR.
1123         * tests/test-math-c++.cc: Check the declaration of rint.
1124         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1125         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1126         * doc/posix-functions/rint.texi: Mention the replacement provided by
1127         the module.
1128
1129         rint tests: More tests.
1130         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1131         minus-zero.h, infinity.h, nan.h.
1132         (main): Skip the test if the current rounding mode is not standard. Add
1133         tests for negative numbers, minus zero, infinity, NaN.
1134         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1135         tests/nan.h.
1136         (Depends-on): Add isnand-nolibm.
1137
1138 2011-10-09  Bruno Haible  <bruno@clisp.org>
1139
1140         Tests for module 'copysignl'.
1141         * modules/copysignl-tests: New file.
1142         * tests/test-copysignl.c: New file.
1143
1144         New module 'copysignl'.
1145         * lib/math.in.h (copysignl): New declaration.
1146         * lib/copysignl.c: New file.
1147         * m4/copysignl.m4: New file.
1148         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1150         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1151         HAVE_COPYSIGNL.
1152         * modules/copysignl: New file.
1153         * tests/test-math-c++.cc: Check the declaration of copysignl.
1154         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1155         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1156         * doc/posix-functions/copysignl.texi: Mention the new module.
1157
1158 2011-10-09  Bruno Haible  <bruno@clisp.org>
1159
1160         Tests for module 'copysignf'.
1161         * modules/copysignf-tests: New file.
1162         * tests/test-copysignf.c: New file.
1163
1164         New module 'copysignf'.
1165         * lib/math.in.h (copysignf): New declaration.
1166         * lib/copysignf.c: New file.
1167         * m4/copysignf.m4: New file.
1168         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1169         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1170         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1171         HAVE_COPYSIGNF.
1172         * modules/copysignf: New file.
1173         * tests/test-math-c++.cc: Check the declaration of copysignf.
1174         * doc/posix-functions/copysignf.texi: Mention the new module.
1175
1176 2011-10-09  Bruno Haible  <bruno@clisp.org>
1177
1178         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1179         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1180         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1181         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1182         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1183         gl_SIGNAL_H_DEFAULTS.
1184
1185 2011-10-09  Bruno Haible  <bruno@clisp.org>
1186
1187         poll: Make macro safer.
1188         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1189         ac_cv_header_poll_h is not set.
1190
1191 2011-10-09  Bruno Haible  <bruno@clisp.org>
1192
1193         copysign: Provide replacement.
1194         * lib/math.in.h (copysign): New declaration.
1195         * lib/copysign.c: New file.
1196         * m4/copysign.m4: New file.
1197         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1198         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1199         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1200         HAVE_COPYSIGN.
1201         * modules/copysign (Description): Clarify.
1202         (Files): Add lib/copysign.c, m4/copysign.m4.
1203         (Depends-on): Add math, signbit.
1204         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1205         gl_MATH_MODULE_INDICATOR.
1206         * tests/test-math-c++.cc: Check the declaration of copysign.
1207         * doc/posix-functions/copysign.texi: Mention the effects of the module
1208         on Minix and MSVC.
1209
1210 2011-10-09  Bruno Haible  <bruno@clisp.org>
1211
1212         isinf: Ensure macro on AIX 5.1.
1213         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1214         macro.
1215         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1216
1217 2011-10-09  Bruno Haible  <bruno@clisp.org>
1218
1219         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1220         * modules/snprintf-posix-tests (configure.ac): Require
1221         gl_LONG_DOUBLE_VS_DOUBLE.
1222         * modules/sprintf-posix-tests (configure.ac): Likewise.
1223         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1224         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1225         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1226         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1227         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1228         tests on platforms where 'long double' is the same as 'double'.
1229         * tests/test-sprintf-posix.h (test_function): Likewise.
1230         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1231         * tests/test-vasprintf-posix.c (test_function): Likewise.
1232
1233         *printf: Fix for platforms where 'long double' == 'double'.
1234         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1235         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1236         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1237         * modules/fprintf-posix (Files): Likewise.
1238         * modules/obstack-printf-posix (Files): Likewise.
1239         * modules/snprintf-posix (Files): Likewise.
1240         * modules/sprintf-posix (Files): Likewise.
1241         * modules/vasnprintf (Files): Likewise.
1242         * modules/vasnprintf-posix (Files): Likewise.
1243         * modules/vasprintf-posix (Files): Likewise.
1244         * modules/vdprintf-posix (Files): Likewise.
1245         * modules/vfprintf-posix (Files): Likewise.
1246         * modules/vsnprintf-posix (Files): Likewise.
1247         * modules/vsprintf-posix (Files): Likewise.
1248         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1249         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1250         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1251         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1252         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1253         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1254         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1255
1256         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1257         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1258         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1259         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1260         'long double'.
1261         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1262
1263         isinf: Fix for platforms where 'long double' == 'double'.
1264         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1265         Don't blindly assume 80-bit 'long double'.
1266
1267         isfinite: Fix for platforms where 'long double' == 'double'.
1268         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1269         Don't blindly assume 80-bit 'long double'.
1270
1271         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1272         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1273         * modules/isfinite-tests (configure.ac): Require
1274         gl_LONG_DOUBLE_VS_DOUBLE.
1275         * modules/isinf-tests (configure.ac): Likewise.
1276         * modules/isnan-tests (configure.ac): Likewise.
1277         * modules/isnanl-tests (configure.ac): Likewise.
1278         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1279         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1280         tests on platforms where 'long double' is the same as 'double'.
1281         * tests/test-isinf.c (test_isinfl): Likewise.
1282         * tests/test-isnan.c (test_long_double): Likewise.
1283         * tests/test-isnanl.h (main): Likewise.
1284
1285 2011-10-08  Bruno Haible  <bruno@clisp.org>
1286
1287         Tests for module 'tanhf'.
1288         * modules/tanhf-tests: New file.
1289         * tests/test-tanhf.c: New file.
1290
1291         New module 'tanhf'.
1292         * lib/math.in.h (tanhf): New declaration.
1293         * lib/tanhf.c: New file.
1294         * m4/tanhf.m4: New file.
1295         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1296         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1297         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1298         * modules/tanhf: New file.
1299         * tests/test-math-c++.cc: Check the declaration of tanhf.
1300         * doc/posix-functions/tanhf.texi: Mention the new module.
1301
1302         tanh: Use a .m4 file.
1303         * m4/tanh.m4: New file.
1304         * modules/tanh (Files): Add it.
1305         (configure.ac): Just invoke gl_FUNC_TANH.
1306
1307 2011-10-08  Bruno Haible  <bruno@clisp.org>
1308
1309         Tests for module 'coshf'.
1310         * modules/coshf-tests: New file.
1311         * tests/test-coshf.c: New file.
1312
1313         New module 'coshf'.
1314         * lib/math.in.h (coshf): New declaration.
1315         * lib/coshf.c: New file.
1316         * m4/coshf.m4: New file.
1317         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1318         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1319         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1320         * modules/coshf: New file.
1321         * tests/test-math-c++.cc: Check the declaration of coshf.
1322         * doc/posix-functions/coshf.texi: Mention the new module.
1323
1324         cosh: Use a .m4 file.
1325         * m4/cosh.m4: New file.
1326         * modules/cosh (Files): Add it.
1327         (configure.ac): Just invoke gl_FUNC_COSH.
1328
1329 2011-10-08  Bruno Haible  <bruno@clisp.org>
1330
1331         Tests for module 'sinhf'.
1332         * modules/sinhf-tests: New file.
1333         * tests/test-sinhf.c: New file.
1334
1335         New module 'sinhf'.
1336         * lib/math.in.h (sinhf): New declaration.
1337         * lib/sinhf.c: New file.
1338         * m4/sinhf.m4: New file.
1339         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1340         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1341         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1342         * modules/sinhf: New file.
1343         * tests/test-math-c++.cc: Check the declaration of sinhf.
1344         * doc/posix-functions/sinhf.texi: Mention the new module.
1345
1346         sinh: Use a .m4 file.
1347         * m4/sinh.m4: New file.
1348         * modules/sinh (Files): Add it.
1349         (configure.ac): Just invoke gl_FUNC_SINH.
1350
1351 2011-10-08  Bruno Haible  <bruno@clisp.org>
1352
1353         Tests for module 'atan2f'.
1354         * modules/atan2f-tests: New file.
1355         * tests/test-atan2f.c: New file.
1356
1357         New module 'atan2f'.
1358         * lib/math.in.h (atan2f): New declaration.
1359         * lib/atan2f.c: New file.
1360         * m4/atan2f.m4: New file.
1361         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1362         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1363         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1364         * modules/atan2f: New file.
1365         * tests/test-math-c++.cc: Check the declaration of atan2f.
1366         * doc/posix-functions/atan2f.texi: Mention the new module.
1367
1368         atan2: Use a .m4 file.
1369         * m4/atan2.m4: New file.
1370         * modules/atan2 (Files): Add it.
1371         (configure.ac): Just invoke gl_FUNC_ATAN2.
1372
1373 2011-10-08  Bruno Haible  <bruno@clisp.org>
1374
1375         Tests for module 'atanf'.
1376         * modules/atanf-tests: New file.
1377         * tests/test-atanf.c: New file.
1378
1379         New module 'atanf'.
1380         * lib/math.in.h (atanf): New declaration.
1381         * lib/atanf.c: New file.
1382         * m4/atanf.m4: New file.
1383         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1384         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1385         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1386         * modules/atanf: New file.
1387         * tests/test-math-c++.cc: Check the declaration of atanf.
1388         * doc/posix-functions/atanf.texi: Mention the new module.
1389
1390         atan: Use a .m4 file.
1391         * m4/atan.m4: New file.
1392         * modules/atan (Files): Add it.
1393         (configure.ac): Just invoke gl_FUNC_ATAN.
1394
1395 2011-10-08  Bruno Haible  <bruno@clisp.org>
1396
1397         Tests for module 'acosf'.
1398         * modules/acosf-tests: New file.
1399         * tests/test-acosf.c: New file.
1400
1401         New module 'acosf'.
1402         * lib/math.in.h (acosf): New declaration.
1403         * lib/acosf.c: New file.
1404         * m4/acosf.m4: New file.
1405         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1406         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1407         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1408         * modules/acosf: New file.
1409         * tests/test-math-c++.cc: Check the declaration of acosf.
1410         * doc/posix-functions/acosf.texi: Mention the new module.
1411
1412         acos: Use a .m4 file.
1413         * m4/acos.m4: New file.
1414         * modules/acos (Files): Add it.
1415         (configure.ac): Just invoke gl_FUNC_ACOS.
1416
1417 2011-10-08  Bruno Haible  <bruno@clisp.org>
1418
1419         Tests for module 'asinf'.
1420         * modules/asinf-tests: New file.
1421         * tests/test-asinf.c: New file.
1422
1423         New module 'asinf'.
1424         * lib/math.in.h (asinf): New declaration.
1425         * lib/asinf.c: New file.
1426         * m4/asinf.m4: New file.
1427         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1429         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1430         * modules/asinf: New file.
1431         * tests/test-math-c++.cc: Check the declaration of asinf.
1432         * doc/posix-functions/asinf.texi: Mention the new module.
1433
1434         asin: Use a .m4 file.
1435         * m4/asin.m4: New file.
1436         * modules/asin (Files): Add it.
1437         (configure.ac): Just invoke gl_FUNC_ASIN.
1438
1439 2011-10-08  Bruno Haible  <bruno@clisp.org>
1440
1441         Tests for module 'tanf'.
1442         * modules/tanf-tests: New file.
1443         * tests/test-tanf.c: New file.
1444
1445         New module 'tanf'.
1446         * lib/math.in.h (tanf): New declaration.
1447         * lib/tanf.c: New file.
1448         * m4/tanf.m4: New file.
1449         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1450         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1451         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1452         * modules/tanf: New file.
1453         * tests/test-math-c++.cc: Check the declaration of tanf.
1454         * doc/posix-functions/tanf.texi: Mention the new module.
1455
1456         tan: Use a .m4 file.
1457         * m4/tan.m4: New file.
1458         * modules/tan (Files): Add it.
1459         (configure.ac): Just invoke gl_FUNC_TAN.
1460
1461 2011-10-08  Bruno Haible  <bruno@clisp.org>
1462
1463         Tests for module 'cosf'.
1464         * modules/cosf-tests: New file.
1465         * tests/test-cosf.c: New file.
1466
1467         New module 'cosf'.
1468         * lib/math.in.h (cosf): New declaration.
1469         * lib/cosf.c: New file.
1470         * m4/cosf.m4: New file.
1471         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1473         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1474         * modules/cosf: New file.
1475         * tests/test-math-c++.cc: Check the declaration of cosf.
1476         * doc/posix-functions/cosf.texi: Mention the new module.
1477
1478         cos: Use a .m4 file.
1479         * m4/cos.m4: New file.
1480         * modules/cos (Files): Add it.
1481         (configure.ac): Just invoke gl_FUNC_COS.
1482
1483 2011-10-08  Bruno Haible  <bruno@clisp.org>
1484
1485         Tests for module 'sinf'.
1486         * modules/sinf-tests: New file.
1487         * tests/test-sinf.c: New file.
1488
1489         New module 'sinf'.
1490         * lib/math.in.h (sinf): New declaration.
1491         * lib/sinf.c: New file.
1492         * m4/sinf.m4: New file.
1493         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1494         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1495         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1496         * modules/sinf: New file.
1497         * tests/test-math-c++.cc: Check the declaration of sinf.
1498         * doc/posix-functions/sinf.texi: Mention the new module.
1499
1500         sin: Use a .m4 file.
1501         * m4/sin.m4: New file.
1502         * modules/sin (Files): Add it.
1503         (configure.ac): Just invoke gl_FUNC_SIN.
1504
1505 2011-10-08  Bruno Haible  <bruno@clisp.org>
1506
1507         Tests for module 'powf'.
1508         * modules/powf-tests: New file.
1509         * tests/test-powf.c: New file.
1510
1511         New module 'powf'.
1512         * lib/math.in.h (powf): New declaration.
1513         * lib/powf.c: New file.
1514         * m4/powf.m4: New file.
1515         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1516         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1517         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1518         * modules/powf: New file.
1519         * tests/test-math-c++.cc: Check the declaration of powf.
1520         * doc/posix-functions/powf.texi: Mention the new module.
1521
1522         pow: Use a .m4 file.
1523         * m4/pow.m4: New file.
1524         * modules/pow (Files): Add it.
1525         (configure.ac): Just invoke gl_FUNC_POW.
1526
1527 2011-10-08  Bruno Haible  <bruno@clisp.org>
1528
1529         Tests for module 'log10f'.
1530         * modules/log10f-tests: New file.
1531         * tests/test-log10f.c: New file.
1532
1533         New module 'log10f'.
1534         * lib/math.in.h (log10f): New declaration.
1535         * lib/log10f.c: New file.
1536         * m4/log10f.m4: New file.
1537         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1538         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1539         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1540         * modules/log10f: New file.
1541         * tests/test-math-c++.cc: Check the declaration of log10f.
1542         * doc/posix-functions/log10f.texi: Mention the new module.
1543
1544         log10: Use a .m4 file.
1545         * m4/log10.m4: New file.
1546         * modules/log10 (Files): Add it.
1547         (configure.ac): Just invoke gl_FUNC_LOG10.
1548
1549 2011-10-08  Bruno Haible  <bruno@clisp.org>
1550
1551         Tests for module 'logf'.
1552         * modules/logf-tests: New file.
1553         * tests/test-logf.c: New file.
1554
1555         New module 'logf'.
1556         * lib/math.in.h (logf): New declaration.
1557         * lib/logf.c: New file.
1558         * m4/logf.m4: New file.
1559         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1560         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1561         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1562         * modules/logf: New file.
1563         * tests/test-math-c++.cc: Check the declaration of logf.
1564         * doc/posix-functions/logf.texi: Mention the new module.
1565
1566         log: Use a .m4 file.
1567         * m4/log.m4: New file.
1568         * modules/log (Files): Add it.
1569         (configure.ac): Just invoke gl_FUNC_LOG.
1570
1571 2011-10-08  Bruno Haible  <bruno@clisp.org>
1572
1573         Tests for module 'expf'.
1574         * modules/expf-tests: New file.
1575         * tests/test-expf.c: New file.
1576
1577         New module 'expf'.
1578         * lib/math.in.h (expf): New declaration.
1579         * lib/expf.c: New file.
1580         * m4/expf.m4: New file.
1581         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1582         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1583         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1584         * modules/expf: New file.
1585         * tests/test-math-c++.cc: Check the declaration of expf.
1586         * doc/posix-functions/expf.texi: Mention the new module.
1587
1588         exp: Use a .m4 file.
1589         * m4/exp.m4: New file.
1590         * modules/exp (Files): Add it.
1591         (configure.ac): Just invoke gl_FUNC_EXP.
1592
1593 2011-10-08  Bruno Haible  <bruno@clisp.org>
1594
1595         Tests for module 'sqrtf'.
1596         * modules/sqrtf-tests: New file.
1597         * tests/test-sqrtf.c: New file.
1598
1599         New module 'sqrtf'.
1600         * lib/math.in.h (sqrtf): New declaration.
1601         * lib/sqrtf.c: New file.
1602         * m4/sqrtf.m4: New file.
1603         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1604         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1605         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1606         * modules/sqrtf: New file.
1607         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1608         * doc/posix-functions/sqrtf.texi: Mention the new module.
1609
1610 2011-10-08  Bruno Haible  <bruno@clisp.org>
1611
1612         Tests: Avoid link failures w.r.t. libintl.
1613         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1614         $(LIBINTL).
1615         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1616         $(LIBINTL).
1617         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1618         against $(LIBINTL).
1619         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1620         $(LIBINTL).
1621         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1622         $(LIBINTL).
1623         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1624
1625 2011-10-08  Bruno Haible  <bruno@clisp.org>
1626
1627         pow tests: Defeat compiler optimizations.
1628         * tests/test-pow.c (main): Assign arguments to x and y before use.
1629
1630 2011-10-08  Bruno Haible  <bruno@clisp.org>
1631
1632         gnulib-tool: Improve last commit.
1633         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1634         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1635         ignore dependencies that are not among the modules list.
1636
1637 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1638
1639         gnulib-tool: don't follow dependencies to avoided modules
1640         This fixes a bug that is related to the previous one.
1641         * gnulib-tool (func_modules_transitive_closure)
1642         (func_emit_autoconf_snippets):
1643         Check whether a dependency is acceptable before using it.
1644         (--extract-dependencies): Report an error if --avoid is also used,
1645         since this combination of options is not yet supported.
1646
1647         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1648         Problem reported by Peter Dyballa in
1649         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1650         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1651         when echoing "$condition".
1652
1653 2011-10-07  Bruno Haible  <bruno@clisp.org>
1654
1655         Fix documentation about math functions on MacOS X.
1656         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1657         MacOS X 10.5.
1658         * doc/posix-functions/fdim.texi: Likewise.
1659         * doc/posix-functions/feclearexcept.texi: Likewise.
1660         * doc/posix-functions/fegetenv.texi: Likewise.
1661         * doc/posix-functions/fegetround.texi: Likewise.
1662         * doc/posix-functions/feholdexcept.texi: Likewise.
1663         * doc/posix-functions/feraiseexcept.texi: Likewise.
1664         * doc/posix-functions/fesetenv.texi: Likewise.
1665         * doc/posix-functions/fesetround.texi: Likewise.
1666         * doc/posix-functions/fetestexcept.texi: Likewise.
1667         * doc/posix-functions/feupdateenv.texi: Likewise.
1668         * doc/posix-functions/fmax.texi: Likewise.
1669         * doc/posix-functions/fmin.texi: Likewise.
1670         * doc/posix-functions/log2.texi: Likewise.
1671         * doc/posix-functions/modff.texi: Likewise.
1672         * doc/posix-functions/nan.texi: Likewise.
1673         * doc/posix-functions/nanf.texi: Likewise.
1674         * doc/posix-functions/nextafterf.texi: Likewise.
1675         * doc/posix-functions/remquo.texi: Likewise.
1676
1677 2011-10-07  Bruno Haible  <bruno@clisp.org>
1678
1679         modff: Drop assumption about library that defines modff.
1680         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1681         AC_CHECK_FUNCS.
1682         * modules/modff (Files): Add m4/mathfunc.m4.
1683
1684 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1685
1686         raise tests: Avoid a GCC warning.
1687         * tests/test-raise.c (handler): Use _Noreturn.
1688
1689 2011-10-07  Bruno Haible  <bruno@clisp.org>
1690
1691         Tests for module 'ldexpf'.
1692         * modules/ldexpf-tests: New file.
1693         * tests/test-ldexpf.c: New file.
1694
1695         New module 'ldexpf'.
1696         * lib/math.in.h (ldexpf): New declaration.
1697         * lib/ldexpf.c: New file.
1698         * m4/ldexpf.m4: New file.
1699         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1701         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1702         * modules/ldexpf: New file.
1703         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1704         * doc/posix-functions/ldexpf.texi: Mention the new module.
1705
1706 2011-10-06  Bruno Haible  <bruno@clisp.org>
1707
1708         frexpf: Work around problems on IRIX and mingw.
1709         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1711         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1712         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1713         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1714         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1715         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1716
1717 2011-10-06  Bruno Haible  <bruno@clisp.org>
1718
1719         fabsf: Drop assumption about library that defines fabsf.
1720         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1721         AC_CHECK_FUNCS.
1722         * modules/fabsf (Files): Add m4/mathfunc.m4.
1723
1724 2011-10-06  Bruno Haible  <bruno@clisp.org>
1725
1726         frexpf: Drop assumption about library that defines frexpf.
1727         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1728         'int *', 'float *', 'long double *', 'float', 'long double'.
1729         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1730         AC_CHECK_FUNCS.
1731         * modules/frexpf (Files): Add m4/mathfunc.m4.
1732
1733         Tests for module 'frexpf'.
1734         * modules/frexpf-tests: New file.
1735         * tests/test-frexpf.c: New file.
1736
1737         New module 'frexpf'.
1738         * lib/math.in.h (frexpf): New declaration.
1739         * lib/frexpf.c: New file.
1740         * m4/frexpf.m4: New file.
1741         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1742         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1743         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1744         * modules/frexpf: New file.
1745         * tests/test-math-c++.cc: Check the declaration of frexpf.
1746         * doc/posix-functions/frexpf.texi: Mention the new module.
1747
1748 2011-10-06  Bruno Haible  <bruno@clisp.org>
1749
1750         math: Sort function declarations of math.in.h.
1751         * lib/math.in.h (frexp, logb): Move declarations.
1752
1753 2011-10-05  Bruno Haible  <bruno@clisp.org>
1754
1755         Tests for module 'modff'.
1756         * modules/modff-tests: New file.
1757         * tests/test-modff.c: New file.
1758
1759         New module 'modff'.
1760         * lib/math.in.h (modff): New declaration.
1761         * lib/modff.c: New file.
1762         * m4/modff.m4: New file.
1763         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1764         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1765         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1766         * modules/modff: New file.
1767         * tests/test-math-c++.cc: Check the declaration of modff.
1768         * doc/posix-functions/modff.texi: Mention the new module.
1769
1770         modf tests: Make test sharper.
1771         * tests/test-modf.c (main): Strengthen upper bound.
1772
1773         modf: Use a .m4 file.
1774         * m4/modf.m4: New file.
1775         * modules/modf (Files): Add it.
1776         (configure.ac): Just invoke gl_FUNC_MODF.
1777
1778 2011-10-05  Bruno Haible  <bruno@clisp.org>
1779
1780         Tests for module 'fmodf'.
1781         * modules/fmodf-tests: New file.
1782         * tests/test-fmodf.c: New file.
1783
1784         New module 'fmodf'.
1785         * lib/math.in.h (fmodf): New declaration.
1786         * lib/fmodf.c: New file.
1787         * m4/fmodf.m4: New file.
1788         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1789         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1790         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1791         * modules/fmodf: New file.
1792         * tests/test-math-c++.cc: Check the declaration of fmodf.
1793         * doc/posix-functions/fmodf.texi: Mention the new module.
1794
1795         fmod: Use a .m4 file.
1796         * m4/fmod.m4: New file.
1797         * modules/fmod (Files): Add it.
1798         (configure.ac): Just invoke gl_FUNC_FMOD.
1799
1800 2011-10-05  Bruno Haible  <bruno@clisp.org>
1801
1802         Tests for module 'fabsf'.
1803         * modules/fabsf-tests: New file.
1804         * tests/test-fabsf.c: New file.
1805
1806         New module 'fabsf'.
1807         * lib/math.in.h (fabsf): New declaration.
1808         * lib/fabsf.c: New file.
1809         * m4/fabsf.m4: New file.
1810         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1811         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1812         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1813         * modules/fabsf: New file.
1814         * tests/test-math-c++.cc: Check the declaration of fabsf.
1815         * doc/posix-functions/fabsf.texi: Mention the new module.
1816
1817         fabs: Use a .m4 file.
1818         * m4/fabs.m4: New file.
1819         * modules/fabs (Files): Add it.
1820         (configure.ac): Just invoke gl_FUNC_FABS.
1821
1822 2011-10-05  Jim Meyering  <meyering@redhat.com>
1823
1824         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1825         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1826         ls -lL regression introduced in coreutils-8.12, it does so at the
1827         cost of an additional stat call in the common case.  Besides, now
1828         that the kernel change that prompted commit 95f7c57f has been reverted
1829         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1830         we have no use for commit 95f7c57f, "file-has-acl: use
1831         acl_extended_file_nofollow if available".
1832
1833 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1834
1835         file-has-acl: revert unintended change in behavior of ls -L
1836         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1837         derived from...
1838         (file_has_acl): ...code here.  Call it.
1839         This problem was introduced with 2011-07-22 commit 95f7c57f,
1840         "file-has-acl: use acl_extended_file_nofollow if available".
1841         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1842
1843 2011-10-03  Bruno Haible  <bruno@clisp.org>
1844
1845         poll: Avoid link errors on MSVC.
1846         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1847         * modules/poll (Depends-on): Add sockets.
1848         (Link): New section.
1849         * NEWS: Mention the change.
1850         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1851         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1852         $(LIB_POLL) instead of $(LIBSOCKET).
1853
1854 2011-10-03  Bruno Haible  <bruno@clisp.org>
1855
1856         sys_select tests: Fix link error on MSVC 9.
1857         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1858         with $(LIB_SELECT) instead of $(LIBSOCKET).
1859
1860 2011-10-03  Bruno Haible  <bruno@clisp.org>
1861
1862         sys_select: Fix compilation error on mingw.
1863         * lib/sys_select.in.h: On native Windows, include <io.h>.
1864
1865 2011-10-03  Bruno Haible  <bruno@clisp.org>
1866
1867         wmemset: Support for MSVC.
1868         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1869         whether wmemset() exists.
1870
1871 2011-10-03  Bruno Haible  <bruno@clisp.org>
1872
1873         wmemmove: Support for MSVC.
1874         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1875         whether wmemmove() exists.
1876
1877 2011-10-03  Bruno Haible  <bruno@clisp.org>
1878
1879         wmemcpy: Support for MSVC.
1880         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1881         whether wmemcpy() exists.
1882
1883 2011-10-03  Bruno Haible  <bruno@clisp.org>
1884
1885         wmemcmp: Support for MSVC.
1886         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1887         whether wmemcmp() exists.
1888
1889 2011-10-03  Bruno Haible  <bruno@clisp.org>
1890
1891         wmemchr: Support for MSVC.
1892         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1893         whether wmemchr() exists.
1894
1895 2011-10-03  Bruno Haible  <bruno@clisp.org>
1896
1897         glthread/*, strsignal: Support for MSVC.
1898         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1899         including <winsock.h> on MSVC 9.
1900         * lib/glthread/lock.h: Likewise.
1901         * lib/glthread/thread.h: Likewise.
1902         * lib/glthread/tls.h: Likewise.
1903         * lib/glthread/yield.h: Likewise.
1904         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1905         if HAVE_UNISTD_H is false.
1906         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1907
1908 2011-10-03  Bruno Haible  <bruno@clisp.org>
1909
1910         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1911         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1912         Set to 100000.
1913
1914 2011-10-03  Bruno Haible  <bruno@clisp.org>
1915
1916         acl: Fix specification.
1917         * lib/file-has-acl.c (file_has_acl): Fix specification.
1918
1919 2011-10-03  Bruno Haible  <bruno@clisp.org>
1920
1921         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1922         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1923         (compute_curr_prefix, shared_library_fullname,
1924         find_shared_library_fullname, get_shared_library_fullname, relocate):
1925         Use it together with PIC && INSTALLDIR.
1926         Reported by <jojelino@gmail.com>
1927         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
1928
1929 2011-10-01  Jim Meyering  <meyering@redhat.com>
1930
1931         maint.mk: adjust a release-related rule not to require use of gzip
1932         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
1933         Instead, check each file in $(DIST_ARCHIVES).  This is better for
1934         projects that build only .tar.xz files.  Also fix an erroneous test.
1935
1936         test-linkat: don't leave behind a temporary file
1937         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
1938         Otherwise, coreutils' "make distcheck" would fail with this:
1939           Only in /c/cu/tests/torture/coreutils/test/\
1940             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
1941           make[2]: *** [my-distcheck] Error 1
1942
1943         float, math: add omitted file
1944         * lib/itold.c: Add file, required for yesterday's float change.
1945
1946 2011-10-01  Bruno Haible  <bruno@clisp.org>
1947
1948         isinf: Fix for OpenBSD/x86.
1949         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
1950         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
1951         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
1952
1953 2011-10-01  Bruno Haible  <bruno@clisp.org>
1954
1955         isfinite: Fix syntax error in configure test.
1956         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
1957
1958         isfinite: Fix typo.
1959         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
1960         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
1961
1962 2011-10-01  Bruno Haible  <bruno@clisp.org>
1963
1964         nonblocking tests: Fix test failure on Linux/IA-64.
1965         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
1966         Set to 270000.
1967
1968 2011-10-01  Bruno Haible  <bruno@clisp.org>
1969
1970         mkfifoat tests: Fix a test failure on mingw.
1971         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
1972         with error ENOSYS.
1973
1974 2011-09-30  Bruno Haible  <bruno@clisp.org>
1975
1976         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
1977         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
1978         'long double'. Set REPLACE_ITOLD.
1979         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
1980         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
1981         * lib/itold.c: New file.
1982         * modules/float (Files): Add lib/itold.c.
1983         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
1984         (Makefile.am): Substitute REPLACE_ITOLD.
1985         * modules/math (Depends-on): Add float.
1986         (Makefile.am): Substitute REPLACE_ITOLD.
1987         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
1988         * doc/posix-headers/math.texi: Likewise.
1989         * doc/posix-functions/logl.texi: Likewise.
1990
1991 2011-09-30  Bruno Haible  <bruno@clisp.org>
1992
1993         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
1994         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
1995         Set to 140000.
1996
1997 2011-09-30  Bruno Haible  <bruno@clisp.org>
1998
1999         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2000         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2001         invocation, say "right after AC_PROG_CC_STDC", not "right after
2002         AC_PROG_CC".
2003         Reported by Gary V. Vaughan <gary@gnu.org>.
2004
2005 2011-09-30  Bruno Haible  <bruno@clisp.org>
2006
2007         Centralize C99 requirement.
2008         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2009         * modules/stdarg (configure.ac-early): Invoke it instead of
2010         AC_PROG_CC_STDC.
2011         Reported by Gary V. Vaughan and Paul Eggert.
2012
2013 2011-09-29  Bruno Haible  <bruno@clisp.org>
2014
2015         float: Fix LDBL_MAX value on Linux/PowerPC.
2016         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2017         on Linux/PowerPC.
2018         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2019         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2020         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2021         platform.
2022         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2023
2024 2011-09-29  Bruno Haible  <bruno@clisp.org>
2025
2026         doc: Improve doc about gl_EARLY.
2027         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2028         AC_PROG_CC_STDC invocation.
2029         Reported by Gary V. Vaughan <gary@gnu.org>.
2030
2031 2011-09-28  Bruno Haible  <bruno@clisp.org>
2032
2033         fgetc, fputc, fread, fwrite tests: Fix link error.
2034         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2035         on non-MSVC platforms.
2036         * tests/test-fputc.c (main): Likewise.
2037         * tests/test-fread.c (main): Likewise.
2038         * tests/test-fwrite.c (main): Likewise.
2039         Reported by Jim Meyering.
2040
2041 2011-09-27  Bruno Haible  <bruno@clisp.org>
2042
2043         fputc, fwrite tests: Avoid test failure on MSVC.
2044         * tests/test-fgetc.c: Include msvc-inval.h.
2045         (main): Invoke gl_msvc_inval_ensure_handler.
2046         * tests/test-fputc.c: Include msvc-inval.h.
2047         (main): Invoke gl_msvc_inval_ensure_handler.
2048         * tests/test-fread.c: Include msvc-inval.h.
2049         (main): Invoke gl_msvc_inval_ensure_handler.
2050         * tests/test-fwrite.c: Include msvc-inval.h.
2051         (main): Invoke gl_msvc_inval_ensure_handler.
2052         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2053         * modules/fputc-tests (Depends-on): Likewise.
2054         * modules/fread-tests (Depends-on): Likewise.
2055         * modules/fwrite-tests (Depends-on): Likewise.
2056
2057 2011-09-27  Bruno Haible  <bruno@clisp.org>
2058
2059         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2060         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2061         (raise): Remove older, duplicated declaration.
2062         (_gl_raise_SIGPIPE): New declaration.
2063         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2064         (rpl_raise): Remove function.
2065         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2066         a gnulib-defined SIGPIPE here.
2067         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2068         'sigprocmask' has detected missing signal-blocking and the module
2069         'sigpipe' is enabled.
2070         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2071
2072 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2073
2074         base64-tests: avoid memory leak
2075         * tests/test-base64.c (main): Plug memory leak.
2076
2077         base32: new module
2078         * modules/base32: New module.
2079         * lib/base32.c: New file.
2080         * lib/base32.h: Likewise.
2081         * m4/base32.m4: Likewise.
2082         * modules/base32-tests: New test.
2083         * tests/test-base32.c: Likewise.
2084         * MODULES.html.sh (Misc): Mention it.
2085
2086 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2087
2088         gnulib: use more-standard license notice wording
2089         * gnulib-tool (func_emit_copyright_notice): When emitting a
2090         license notice into a file, use the standard wording as suggested
2091         by the current information for GNU maintainers, except say "file"
2092         rather than "program".  The new wording gives a license version
2093         number, which addresses an issue raised by Glenn Morris in
2094         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2095         * m4/onceonly.m4: Use that same wording here, too.
2096
2097         dup2: minor simplification
2098         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2099         as lib/dup2.c no longer uses 'inline'.
2100
2101 2011-09-25  Bruno Haible  <bruno@clisp.org>
2102
2103         strings: Fix compilation error on MSVC.
2104         * lib/strings.in.h: Include <stddef.h> for size_t.
2105
2106 2011-09-25  Bruno Haible  <bruno@clisp.org>
2107
2108         fflush et al.: Document limitation on MSVC.
2109         * doc/posix-functions/fflush.texi: Document possible crash in handling
2110         mode other than DEFAULT_HANDLING.
2111         * doc/posix-functions/fgetc.texi: Likewise.
2112         * doc/posix-functions/fputc.texi: Likewise.
2113         * doc/posix-functions/fread.texi: Likewise.
2114         * doc/posix-functions/fwrite.texi: Likewise.
2115
2116 2011-09-25  Bruno Haible  <bruno@clisp.org>
2117
2118         msvc-inval: Allow three invalid parameter handling modes.
2119         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2120         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2121         macros.
2122         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2123         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2124         SANE_LIBRARY_HANDLING as a no-op.
2125         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2126         <stdlib.h>.
2127         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2128
2129 2011-09-25  Bruno Haible  <bruno@clisp.org>
2130
2131         msvc-inval: Make handler multithread-safe.
2132         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2133         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2134         declarations.
2135         (gl_msvc_inval_current): New declaration.
2136         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2137         Operate on the structure returned by gl_msvc_inval_current().
2138         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2139         Remove varaiables.
2140         (tls_index, tls_initialized): New variables.
2141         (not_per_thread): New variable.
2142         (gl_msvc_inval_current): New function.
2143         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2144         returned by gl_msvc_inval_current().
2145
2146 2011-09-25  Bruno Haible  <bruno@clisp.org>
2147
2148         msvc-inval: Install handler globally.
2149         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2150         !_MSC_VER.
2151         (gl_msvc_invalid_parameter_handler): Remove declaration.
2152         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2153         declarations.
2154         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2155         Install the handler globally, don't uninstall it.
2156         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2157         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2158         currently valid, call RaiseException instead.
2159         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2160         for !_MSC_VER.
2161
2162 2011-09-25  Bruno Haible  <bruno@clisp.org>
2163
2164         strerror_r-posix: Fix for MSVC 9.
2165         * lib/strerror_r.c (local_snprintf): New function.
2166         (snprintf): Define to local_snprintf, not to _snprintf.
2167
2168 2011-09-25  Bruno Haible  <bruno@clisp.org>
2169
2170         ftruncate: Support for MSVC 9.
2171         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2172         (chsize_nothrow): New function.
2173         (chsize): Redefine as a macro.
2174         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2175         * modules/ftruncate (Depends-on): Add msvc-inval.
2176
2177 2011-09-25  Bruno Haible  <bruno@clisp.org>
2178
2179         New module 'fstat'.
2180         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2181         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2182         * lib/fchdir.c (rpl_fstat): Remove function.
2183         * m4/fstat.m4: New file.
2184         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2185         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2186         declared.
2187         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2188         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2189         * modules/fstat: New file.
2190         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2191         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2192         is set.
2193         * doc/posix-functions/fstat.texi: Mention the new module and the
2194         problem on MSVC.
2195         * NEWS: Mention the change.
2196         * modules/acl (Depends-on): Add fstat.
2197         * modules/chdir-safer (Depends-on): Likewise.
2198         * modules/chown (Depends-on): Likewise.
2199         * modules/copy-file (Depends-on): Likewise.
2200         * modules/fchdir (Depends-on): Likewise.
2201         * modules/fdopendir (Depends-on): Likewise.
2202         * modules/fopen (Depends-on): Likewise.
2203         * modules/fts (Depends-on): Likewise.
2204         * modules/getcwd (Depends-on): Likewise.
2205         * modules/isapipe (Depends-on): Likewise.
2206         * modules/linkat (Depends-on): Likewise.
2207         * modules/lseek (Depends-on): Likewise.
2208         * modules/mkdir-p (Depends-on): Likewise.
2209         * modules/open (Depends-on): Likewise.
2210         * modules/openat (Depends-on): Likewise.
2211         * modules/read-file (Depends-on): Likewise.
2212         * modules/renameat (Depends-on): Likewise.
2213         * modules/utimens (Depends-on): Likewise.
2214
2215 2011-09-25  Bruno Haible  <bruno@clisp.org>
2216
2217         linkat: Fix compilation on MSVC 9.
2218         * lib/linkat.c: Don't include <stdint.h>.
2219
2220 2011-09-25  Bruno Haible  <bruno@clisp.org>
2221
2222         fclose: Support for MSVC 9.
2223         * lib/fclose.c: Include msvc-inval.h.
2224         (fclose_nothrow): New function.
2225         (rpl_fclose): Use it.
2226         * modules/fclose (Depends-on): Add msvc-inval.
2227         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2228
2229 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2230
2231         dup2: minor simplifications
2232         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2233         that it's a performance win.
2234         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2235         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2236
2237 2011-09-24  Jim Meyering  <meyering@redhat.com>
2238
2239         test-futimens: avoid a warning from gcc -Wshadow
2240         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2241         to avoid a shadowing warning.
2242
2243 2011-09-24  Bruno Haible  <bruno@clisp.org>
2244
2245         fdopen: Support for MSVC 9.
2246         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2247         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2248         * lib/fdopen.c: Include msvc-inval.h.
2249         (fdopen_nothrow): New function.
2250         (rpl_fdopen): Use it.
2251         * modules/fdopen (Depends-on): Add msvc-inval.
2252         * modules/fclose-tests (Depends-on): Add fdopen.
2253         * modules/fflush-tests (Depends-on): Likewise.
2254         * modules/fgetc-tests (Depends-on): Likewise.
2255         * modules/fputc-tests (Depends-on): Likewise.
2256         * modules/fread-tests (Depends-on): Likewise.
2257         * modules/freopen-tests (Depends-on): Likewise.
2258         * modules/fseeko-tests (Depends-on): Likewise.
2259         * modules/ftello-tests (Depends-on): Likewise.
2260         * modules/fwrite-tests  (Depends-on): Likewise.
2261         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2262
2263 2011-09-24  Bruno Haible  <bruno@clisp.org>
2264
2265         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2266         * modules/fgetc-tests (Depends-on): Add unistd.
2267         * modules/fputc-tests (Depends-on): Likewise.
2268         * modules/fread-tests (Depends-on): Likewise.
2269         * modules/fwrite-tests (Depends-on): Likewise.
2270
2271 2011-09-24  Bruno Haible  <bruno@clisp.org>
2272
2273         dup: Simplify autoconf test.
2274         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2275         on gl_MSVC_INVAL's result.
2276
2277 2011-09-24  Bruno Haible  <bruno@clisp.org>
2278
2279         Tests for function fwrite().
2280         * modules/fwrite-tests: New file.
2281         * tests/test-fwrite.c: New file.
2282         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2283
2284         Tests for function fread().
2285         * modules/fread-tests: New file.
2286         * tests/test-fread.c: New file.
2287         * modules/stdio-tests (Depends-on): Add fread-tests.
2288
2289         Activate fputc tests.
2290         * modules/stdio-tests (Depends-on): Add fputc-tests.
2291
2292         Enhance fgetc, fputc tests.
2293         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2294         * tests/test-fputc.c (main): Likewise.
2295
2296 2011-09-24  Bruno Haible  <bruno@clisp.org>
2297
2298         write: Support for MSVC 9.
2299         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2300         is not 1.
2301         * lib/write.c (write_nothrow): New function.
2302         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2303         not 1. Use write_nothrow.
2304         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2305         invalid parameter handler.
2306         (gl_PREREQ_WRITE): New macro.
2307         * modules/write (Depends-on): Add msvc-inval.
2308         (configure.ac): Invoke gl_PREREQ_WRITE.
2309         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2310
2311 2011-09-24  Bruno Haible  <bruno@clisp.org>
2312
2313         read: Fix last commit.
2314         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2315
2316 2011-09-24  Bruno Haible  <bruno@clisp.org>
2317
2318         dup2: Fix last commit.
2319         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2320         (rpl_dup2): Disable fcntl workaround on native Windows.
2321
2322         sigprocmask: Make code safer.
2323         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2324         section that changes macro definitions for this compilation unit.
2325
2326 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2327
2328         dup2: clarify by coalescing Windows-specific material
2329         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2330         "msvc-nothrow.h"' to the Windows-specific section, so that the
2331         Emacs source need not contain these include files.
2332         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2333         Windows-specific fixes into this function rather than just the
2334         nothrow fix, as this shortens and clarifies the code.  Always
2335         define as a function, as that's a bit cleaner than having it be
2336         sometimes a function and sometimes a macro.
2337         (rpl_dup2): Move the Windows-specific stuff out of here and into
2338         ms_windows_dup2.  Don't protect the Haiku-related fix with
2339         "#if !defined __linux__", as the same code also works around
2340         a Linux kernel bug, and it doesn't add any system calls on any
2341         platform.  Add comment about FreeBSD 6.1.
2342
2343         sigprocmask: move #include directive
2344         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2345         Windows-specific section, so that the Emacs source need not
2346         contain msvc-inval.h.
2347
2348 2011-09-23  Bruno Haible  <bruno@clisp.org>
2349
2350         read: Support for MSVC 9.
2351         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2352         is not 1.
2353         * lib/read.c (read_nothrow): New function.
2354         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2355         read_nothrow.
2356         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2357         invalid parameter handler.
2358         (gl_PREREQ_READ): New macro.
2359         * modules/read (Depends-on): Add msvc-inval.
2360         (configure.ac): Invoke gl_PREREQ_READ.
2361         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2362
2363 2011-09-23  Bruno Haible  <bruno@clisp.org>
2364
2365         close: Support for MSVC 9.
2366         * lib/close.c: Include <errno.h>, msvc-inval.h.
2367         (close_nothrow): New function.
2368         (rpl_close): Use it.
2369         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2370         invalid parameter handler.
2371         * modules/close (Depends-on): Add msvc-inval.
2372         * modules/dup2-tests (Depends-on): Add close.
2373         * modules/dup3-tests (Depends-on): Likewise.
2374         * modules/fcntl-tests (Depends-on): Likewise.
2375         * modules/spawn-pipe-tests (Depends-on): Likewise.
2376         * modules/unistd-safer-tests (Depends-on): Likewise.
2377         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2378
2379 2011-09-23  Bruno Haible  <bruno@clisp.org>
2380
2381         New module 'dup'.
2382         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2383         Allow replacement.
2384         * lib/dup.c: New file.
2385         * lib/fchdir.c (rpl_dup): Remove function.
2386         * m4/dup.m4: New file.
2387         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2388         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2389         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2390         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2391         * modules/dup: New file.
2392         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2393         'dup' module is in use.
2394         * modules/fdopendir (Depends-on): Add dup.
2395         * modules/fdutimensat-tests (Depends-on): Likewise.
2396         * modules/fts (Depends-on): Likewise.
2397         * modules/futimens-tests (Depends-on): Likewise.
2398         * modules/posix_spawnp-tests (Depends-on): Likewise.
2399         * modules/unistd-safer-tests (Depends-on): Likewise.
2400         * modules/utimens-tests (Depends-on): Likewise.
2401         * doc/posix-functions/dup.texi: Mention the new module and the problem
2402         on MSVC.
2403
2404 2011-09-23  Bruno Haible  <bruno@clisp.org>
2405
2406         getdtablesize: Support for MSVC 9.
2407         * lib/getdtablesize.c: Include msvc-inval.h.
2408         (_setmaxstdio_nothrow): New function.
2409         (_setmaxstdio): Redefine it.
2410         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2411         * modules/getdtablesize (Depends-on): Add msvc-inval.
2412         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2413
2414 2011-09-23  Bruno Haible  <bruno@clisp.org>
2415
2416         signal-h: Rename from signal.
2417         * modules/signal-h: Renamed from modules/signal.
2418         * modules/pthread_sigmask (Depends-on): Update.
2419         * modules/raise (Depends-on): Likewise.
2420         * modules/sigaction (Depends-on): Likewise.
2421         * modules/sigpipe (Depends-on): Likewise.
2422         * modules/sigprocmask (Depends-on): Likewise.
2423         * modules/sys_select (Depends-on): Likewise.
2424         * modules/signal-h-tests: Renamed from modules/signal-tests.
2425         (Files, Depends-on, Makefile.am): Update.
2426         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2427         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2428         (Files, Makefile.am): Update.
2429         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2430         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2431         * modules/signal: New placeholder file.
2432         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2433         * doc/posix-headers/signal.texi: Update.
2434         * NEWS: Mention the change.
2435
2436 2011-09-23  Bruno Haible  <bruno@clisp.org>
2437
2438         sigprocmask: Avoid crashes through signal() on MSVC 9.
2439         * lib/sigprocmask.c: Include msvc-inval.h.
2440         (signal_nothrow): New function.
2441         (signal): Redefine it.
2442         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2443         * modules/sigprocmask (Depends-on): Add msvc-inval.
2444         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2445
2446 2011-09-23  Bruno Haible  <bruno@clisp.org>
2447
2448         Tests for module 'raise'.
2449         * modules/raise-tests: New file.
2450         * tests/test-raise.c: New file.
2451
2452         raise: Support for MSVC.
2453         * lib/signal.in.h (raise): New declaration.
2454         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2455         for native Windows platforms.
2456         * m4/raise.m4: New file.
2457         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2458         HAVE_RAISE, REPLACE_RAISE.
2459         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2460         REPLACE_RAISE.
2461         * modules/raise (Status, Notice): Remove fields.
2462         (Files): Add m4/raise.m4.
2463         (Depends-on): Add signal, msvc-inval.
2464         (configure.ac): Use the common idioms.
2465         (Maintainer): Add me.
2466         * tests/test-signal-c++.cc: Check the signature of raise.
2467         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2468
2469 2011-09-23  Bruno Haible  <bruno@clisp.org>
2470
2471         pipe2: Fix compilation on pre-C99 compilers.
2472         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2473
2474 2011-09-23  Bruno Haible  <bruno@clisp.org>
2475
2476         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2477         * lib/msvc-nothrow.h: New file.
2478         * lib/msvc-nothrow.c: New file.
2479         * m4/msvc-nothrow.m4: New file.
2480         * modules/msvc-nothrow: New file.
2481         * lib/dup2.c: Include msvc-nothrow.h.
2482         (rpl_dup2): No need to protect _get_osfhandle call here.
2483         * lib/accept4.c: Include msvc-nothrow.h.
2484         * lib/error.c: Likewise.
2485         * lib/fcntl.c: Likewise.
2486         * lib/lseek.c: Likewise.
2487         * lib/nonblocking.c: Likewise.
2488         * lib/poll.c: Likewise.
2489         * lib/read.c: Likewise.
2490         * lib/select.c: Likewise.
2491         * lib/sockets.h: Likewise.
2492         * lib/sockets.c: Likewise.
2493         * lib/stdio-read.c: Likewise.
2494         * lib/stdio-write.c: Likewise.
2495         * lib/write.c: Likewise.
2496         * lib/w32sock.h: Likewise.
2497         * lib/w32spawn.h: Likewise.
2498         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2499         * lib/fsync.c: Likewise.
2500         * lib/isapipe.c: Likewise.
2501         * modules/dup2 (Depends-on): Add msvc-nothrow.
2502         * modules/accept4 (Depends-on): Likewise.
2503         * modules/error (Depends-on): Likewise.
2504         * modules/fcntl (Depends-on): Likewise.
2505         * modules/lseek (Depends-on): Likewise.
2506         * modules/nonblocking (Depends-on): Likewise.
2507         * modules/poll (Depends-on): Likewise.
2508         * modules/read (Depends-on): Likewise.
2509         * modules/select (Depends-on): Likewise.
2510         * modules/sockets (Depends-on): Likewise.
2511         * modules/sigpipe (Depends-on): Likewise.
2512         * modules/write (Depends-on): Likewise.
2513         * modules/accept (Depends-on): Likewise.
2514         * modules/bind (Depends-on): Likewise.
2515         * modules/connect (Depends-on): Likewise.
2516         * modules/gethostname (Depends-on): Likewise.
2517         * modules/getpeername (Depends-on): Likewise.
2518         * modules/getsockname (Depends-on): Likewise.
2519         * modules/getsockopt (Depends-on): Likewise.
2520         * modules/ioctl (Depends-on): Likewise.
2521         * modules/listen (Depends-on): Likewise.
2522         * modules/recv (Depends-on): Likewise.
2523         * modules/recvfrom (Depends-on): Likewise.
2524         * modules/send (Depends-on): Likewise.
2525         * modules/sendto (Depends-on): Likewise.
2526         * modules/setsockopt (Depends-on): Likewise.
2527         * modules/shutdown (Depends-on): Likewise.
2528         * modules/socket (Depends-on): Likewise.
2529         * modules/execute (Depends-on): Likewise.
2530         * modules/spawn-pipe (Depends-on): Likewise.
2531         * modules/flock (Depends-on): Likewise.
2532         * modules/fsync (Depends-on): Likewise.
2533         * modules/isapipe (Depends-on): Likewise.
2534         * tests/test-cloexec.c: Include msvc-nothrow.h.
2535         * tests/test-dup-safer.c: Likewise.
2536         * tests/test-dup2.c: Likewise.
2537         * tests/test-dup3.c: Likewise.
2538         * tests/test-fcntl.c: Likewise.
2539         * tests/test-pipe.c: Likewise.
2540         * tests/test-pipe2.c: Likewise.
2541         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2542         * modules/unistd-safer-tests (Depends-on): Likewise.
2543         * modules/dup2-tests (Depends-on): Likewise.
2544         * modules/dup3-tests (Depends-on): Likewise.
2545         * modules/fcntl-tests (Depends-on): Likewise.
2546         * modules/pipe-posix-tests (Depends-on): Likewise.
2547         * modules/pipe2-tests (Depends-on): Likewise.
2548
2549 2011-09-23  Bruno Haible  <bruno@clisp.org>
2550
2551         dup2: Make code more maintainable.
2552         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2553         (rpl_dup2): Use it.
2554         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2555         * modules/dup2 (configure.ac): Invoke it.
2556         Reported by Paul Eggert.
2557
2558 2011-09-23  Bruno Haible  <bruno@clisp.org>
2559
2560         msvc-inval: Fix compilation error.
2561         * lib/msvc-inval.h: Include <excpt.h>.
2562
2563 2011-09-23  Bruno Haible  <bruno@clisp.org>
2564
2565         mkdir: Tweak for MSVC 9.
2566         * lib/sys_stat.in.h: Update comments.
2567         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2568
2569         Tests for module 'chdir'.
2570         * modules/chdir-tests: New file.
2571         * tests/test-chdir.c: New file.
2572
2573         New module 'chdir'.
2574         * modules/chdir: New file.
2575         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2576         (chdir): New declaration.
2577         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2578         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2579         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2580         * tests/test-unistd-c++.cc: Check signature of chdir.
2581         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2582         * modules/chdir-long (Depends-on): Add chdir.
2583         * modules/fchdir (Depends-on): Likewise.
2584         * modules/rename (Depends-on): Likewise.
2585         * modules/savewd (Depends-on): Likewise.
2586
2587         rmdir: Support for mingw, MSVC 9.
2588         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2589         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2590
2591         getcwd: Tweak for MSVC 9.
2592         * lib/unistd.in.h: Update comments.
2593         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2594
2595 2011-09-22  Bruno Haible  <bruno@clisp.org>
2596
2597         strerror_r-posix: Avoid a link error on MSVC.
2598         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2599         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2600
2601 2011-09-22  Bruno Haible  <bruno@clisp.org>
2602
2603         select: Avoid link errors on MSVC.
2604         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2605         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2606         * modules/pselect (Link): Likewise.
2607         * NEWS: Mention the change.
2608         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2609         test-select-stdin against $(LIB_SELECT).
2610         * modules/pselect-tests (Makefile.am): Link test-pselect against
2611         $(LIB_SELECT).
2612
2613 2011-09-22  Bruno Haible  <bruno@clisp.org>
2614
2615         select: Avoid compilation error on MSVC.
2616         * lib/select.c: Don't include <stdbool.h>.
2617
2618 2011-09-21  Bruno Haible  <bruno@clisp.org>
2619
2620         Consolidate all uses of PATH_MAX in *.m4 files.
2621         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2622         macros.
2623         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2624         and gl_PATHMAX_SNIPPET.
2625         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2626         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2627         * modules/chdir-long (Files): Add m4/pathmax.m4.
2628         * modules/getcwd (Files): Likewise.
2629
2630 2011-09-21  Bruno Haible  <bruno@clisp.org>
2631
2632         ftruncate: Un-deprecate, concentrate on Win32 support.
2633         * modules/ftruncate (Status, Notice): Remove sections.
2634         (Depends-on): Add largefile.
2635         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2636         non-mingw platforms.
2637         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2638         include <io.h>.
2639         * modules/perror-tests (Depends-on): Add ftruncate.
2640         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2641         'ftruncate' module.
2642
2643 2011-09-21  Bruno Haible  <bruno@clisp.org>
2644
2645         Add dependencies to new dirent related modules.
2646         * modules/opendir (Depends-on): Add closedir.
2647         * modules/getcwd (Depends-on): Add opendir, closedir.
2648         * modules/dirent-safer-tests (Depends-on): Likewise.
2649         * modules/fdopendir-tests (Depends-on): Likewise.
2650         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2651         * modules/renameat-tests (Depends-on): Likewise.
2652
2653 2011-09-21  Bruno Haible  <bruno@clisp.org>
2654
2655         opendir: Avoid compilation error on mingw.
2656         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2657         * modules/opendir (Depends-on): Add unistd.
2658
2659 2011-09-21  Bruno Haible  <bruno@clisp.org>
2660
2661         ftruncate tests: Avoid a test failure on mingw.
2662         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2663
2664 2011-09-21  Bruno Haible  <bruno@clisp.org>
2665
2666         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2667         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2668         native Windows.
2669
2670 2011-09-21  Bruno Haible  <bruno@clisp.org>
2671
2672         New module 'fdopen'.
2673         * lib/stdio.in.h (fdopen): New declaration.
2674         * lib/fdopen.c: New file.
2675         * m4/fdopen.m4: New file.
2676         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2677         REPLACE_FDOPEN.
2678         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2679         REPLACE_FDOPEN.
2680         * modules/fdopen: New file.
2681         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2682         * tests/test-stdio-c++.cc: Check signature of fdopen.
2683         * doc/posix-functions/fdopen.texi: Mention the new module.
2684
2685 2011-09-21  Bruno Haible  <bruno@clisp.org>
2686
2687         unlockpt tests: Avoid test failure on NetBSD 5.1.
2688         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2689         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2690
2691 2011-09-21  Bruno Haible  <bruno@clisp.org>
2692
2693         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2694         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2695         * tests/test-getlogin_r.c (main): Likewise.
2696
2697 2011-09-20  Bruno Haible  <bruno@clisp.org>
2698
2699         time tests: Don't require pid_t.
2700         * doc/posix-headers/time.texi: Revert last change.
2701         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2702         * tests/test-time.c: Comment out the check for pid_t.
2703
2704 2011-09-20  Bruno Haible  <bruno@clisp.org>
2705
2706         fsync tests: Avoid a test failure on mingw.
2707         * tests/test-fsync.c (main): Allow a failure with EIO.
2708
2709 2011-09-20  Bruno Haible  <bruno@clisp.org>
2710
2711         euidaccess: Update comments.
2712         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2713
2714 2011-09-20  Bruno Haible  <bruno@clisp.org>
2715
2716         Ensure EBADF returns for socket functions on mingw.
2717         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2718         descriptor is invalid.
2719         * lib/bind.c (rpl_bind): Likewise.
2720         * lib/connect.c (rpl_connect): Likewise.
2721         * lib/getpeername.c (rpl_getpeername): Likewise.
2722         * lib/getsockname.c (rpl_getsockname): Likewise.
2723         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2724         * lib/listen.c (rpl_listen): Likewise.
2725         * lib/recv.c (rpl_recv): Likewise.
2726         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2727         * lib/send.c (rpl_send): Likewise.
2728         * lib/sendto.c (rpl_sendto): Likewise.
2729         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2730         * lib/shutdown.c (rpl_shutdown): Likewise.
2731
2732 2011-09-20  Bruno Haible  <bruno@clisp.org>
2733
2734         select tests: EBADF tests.
2735         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2736         test_bad_fd): New functions.
2737         (test_function): Invoke also test_bad_fd.
2738
2739 2011-09-20  Bruno Haible  <bruno@clisp.org>
2740
2741         Tests for module 'posix_spawn_file_actions_addopen.
2742         * modules/posix_spawn_file_actions_addopen-tests: New file.
2743         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2744
2745         Tests for module 'posix_spawn_file_actions_adddup2'.
2746         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2747         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2748
2749         Tests for module 'posix_spawn_file_actions_addclose'.
2750         * modules/posix_spawn_file_actions_addclose-tests: New file.
2751         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2752
2753 2011-09-20  Bruno Haible  <bruno@clisp.org>
2754
2755         Tests for module 'unlockpt'.
2756         * modules/unlockpt-tests: New file.
2757         * tests/test-unlockpt.c: New file.
2758         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2759
2760         Tests for module 'grantpt'.
2761         * modules/grantpt-tests: New file.
2762         * tests/test-grantpt.c: New file.
2763         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2764
2765 2011-09-20  Bruno Haible  <bruno@clisp.org>
2766
2767         freopen tests: EBADF tests.
2768         * tests/test-freopen.c: Include errno.h, unistd.h.
2769         (main): Add tests for EBADF, commented out for the moment.
2770
2771         fclose tests: EBADF tests.
2772         * tests/test-fclose.c (main): Add tests for EBADF.
2773
2774         fflush tests: EBADF tests.
2775         * tests/test-fflush.c: Include errno.h, macros.h.
2776         (main): Add tests for EBADF.
2777
2778         ftello tests: EBADF tests.
2779         * tests/test-ftello4.sh: New file.
2780         * tests/test-ftello4.c: New file.
2781         * modules/ftello-tests (Files): Add them.
2782         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2783
2784         fseeko tests: EBADF tests.
2785         * tests/test-fseeko4.sh: New file.
2786         * tests/test-fseeko4.c: New file.
2787         * modules/fseeko-tests (Files): Add them.
2788         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2789
2790         Tests for function fputc().
2791         * modules/fputc-tests: New file.
2792         * tests/test-fputc.c: New file.
2793         * modules/stdio-tests (Depends-on): Add fputc-tests.
2794
2795         Tests for function fgetc().
2796         * modules/fgetc-tests: New file.
2797         * tests/test-fgetc.c: New file.
2798         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2799
2800         Tests for function fdopen().
2801         * modules/fdopen-tests: New file.
2802         * tests/test-fdopen.c: New file.
2803         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2804
2805         Tests for module 'vdprintf'.
2806         * modules/vdprintf-tests: New file.
2807         * tests/test-vdprintf.c: New file.
2808
2809         Tests for module 'dprintf'.
2810         * modules/dprintf-tests: New file.
2811         * tests/test-dprintf.c: New file.
2812
2813 2011-09-20  Bruno Haible  <bruno@clisp.org>
2814
2815         Tests for module 'ioctl'.
2816         * modules/ioctl-tests: New file.
2817         * tests/test-ioctl.c: New file.
2818
2819 2011-09-20  Bruno Haible  <bruno@clisp.org>
2820
2821         fcntl tests: EBADF tests.
2822         * tests/test-fcntl.c (main): Add more tests for EBADF.
2823
2824 2011-09-20  Bruno Haible  <bruno@clisp.org>
2825
2826         utimensat tests: EBADF tests.
2827         * tests/test-utimensat.c (main): Add tests for EBADF.
2828
2829         renameat tests: EBADF tests.
2830         * tests/test-renameat.c (main): Add tests for EBADF.
2831
2832         mkfifoat tests: EBADF tests.
2833         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2834
2835         readlinkat tests: EBADF tests.
2836         * tests/test-readlinkat.c (main): Add tests for EBADF.
2837
2838         symlinkat tests: EBADF tests.
2839         * tests/test-symlinkat.c (main): Add tests for EBADF.
2840
2841         linkat tests: EBADF tests.
2842         * tests/test-linkat.c (main): Add tests for EBADF.
2843
2844         Tests for module 'faccessat'.
2845         * modules/faccessat-tests: New file.
2846         * tests/test-faccessat.c: New file.
2847
2848         fdopendir tests: EBADF tests.
2849         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2850
2851         openat tests: EBADF tests.
2852         * tests/test-fchownat.c (main): Add tests for EBADF.
2853         * tests/test-fstatat.c (main): Likewise.
2854         * tests/test-mkdirat.c (main): Likewise.
2855         * tests/test-openat.c (main): Likewise.
2856         * tests/test-unlinkat.c (main): Likewise.
2857         * tests/test-fchmodat.c: New file.
2858         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2859         (Makefile.am): Also run 'test-fchmodat'.
2860
2861 2011-09-20  Bruno Haible  <bruno@clisp.org>
2862
2863         utimens, futimens, fdutimensat tests: EBADF tests.
2864         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2865
2866         Tests for function fstat().
2867         * modules/fstat-tests: New file.
2868         * tests/test-fstat.c: New file.
2869         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2870
2871 2011-09-20  Bruno Haible  <bruno@clisp.org>
2872
2873         test-ttyname_r tests: EBADF tests.
2874         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2875
2876         Tests for module 'isatty'.
2877         * modules/isatty-tests: New file.
2878         * tests/test-isatty.c: New file.
2879
2880         Tests for module 'write'.
2881         * modules/write-tests: New file.
2882         * tests/test-write.c: New file.
2883
2884         Tests for module 'read'.
2885         * modules/read-tests: New file.
2886         * tests/test-read.c: New file.
2887
2888         pwrite tests: EBADF tests.
2889         * tests/test-pwrite.c (main): Add tests for EBADF.
2890
2891         pread tests: EBADF tests.
2892         * tests/test-pread.c (main): Add tests for EBADF.
2893
2894         lseek tests: EBADF tests.
2895         * tests/test-lseek.c (main): Add more tests for EBADF.
2896
2897         Tests for module 'ftruncate'.
2898         * modules/ftruncate-tests: New file.
2899         * tests/test-ftruncate.sh: New file.
2900         * tests/test-ftruncate.c: New file.
2901
2902         fsync tests: EBADF tests.
2903         * tests/test-fsync.c (main): Add more tests for EBADF.
2904
2905         fdatasync tests: EBADF tests.
2906         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2907
2908         Tests for module 'fchown'.
2909         * modules/fchown-tests: New file.
2910         * tests/test-fchown.c: New file.
2911
2912         Tests for module 'fchmod'.
2913         * modules/fchmod-tests: New file.
2914         * tests/test-fchmod.c: New file.
2915
2916         fchdir tests: EBADF tests.
2917         * tests/test-fchdir.c (main): Add more tests for EBADF.
2918
2919         dup2 tests: EBADF tests.
2920         * tests/test-dup2.c (main): Add more tests for EBADF.
2921
2922         Tests for module 'dup'.
2923         * modules/dup-tests: New file.
2924         * tests/test-dup.c: New file.
2925
2926         Tests for module 'close'.
2927         * modules/close-tests: New file.
2928         * tests/test-close.c: New file.
2929
2930 2011-09-20  Bruno Haible  <bruno@clisp.org>
2931
2932         Tests for module 'shutdown'.
2933         * modules/shutdown-tests: New file.
2934         * tests/test-shutdown.c: New file.
2935
2936         Tests for module 'setsockopt'.
2937         * modules/setsockopt-tests: New file.
2938         * tests/test-setsockopt.c: New file.
2939
2940         Tests for module 'sendto'.
2941         * modules/sendto-tests: New file.
2942         * tests/test-sendto.c: New file.
2943
2944         Tests for module 'send'.
2945         * modules/send-tests: New file.
2946         * tests/test-send.c: New file.
2947
2948         Tests for module 'recvfrom'.
2949         * modules/recvfrom-tests: New file.
2950         * tests/test-recvfrom.c: New file.
2951
2952         Tests for module 'recv'.
2953         * modules/recv-tests: New file.
2954         * tests/test-recv.c: New file.
2955
2956         Tests for module 'listen'.
2957         * modules/listen-tests: New file.
2958         * tests/test-listen.c: New file.
2959
2960         Tests for module 'getsockopt'.
2961         * modules/getsockopt-tests: New file.
2962         * tests/test-getsockopt.c: New file.
2963
2964         Tests for module 'getsockname'.
2965         * modules/getsockname-tests: New file.
2966         * tests/test-getsockname.c: New file.
2967
2968         Tests for module 'getpeername'.
2969         * modules/getpeername-tests: New file.
2970         * tests/test-getpeername.c: New file.
2971
2972         Tests for module 'connect'.
2973         * modules/connect-tests: New file.
2974         * tests/test-connect.c: New file.
2975
2976         Tests for module 'bind'.
2977         * modules/bind-tests: New file.
2978         * tests/test-bind.c: New file.
2979
2980         accept4 tests: Fix for native Windows.
2981         * tests/test-accept4.c: Include sockets.h.
2982         (main): Invoke gl_sockets_startup.
2983         * modules/accept4-tests (Depends-on): Add sockets.
2984
2985         accept tests: Fix for native Windows.
2986         * tests/test-accept.c: Include sockets.h.
2987         (main): Invoke gl_sockets_startup.
2988         * modules/accept-tests (Depends-on): Add sockets.
2989
2990 2011-09-19  Bruno Haible  <bruno@clisp.org>
2991
2992         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
2993         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
2994         do...while(0).
2995         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
2996         Suggested by Paul Eggert.
2997
2998 2011-09-19  Bruno Haible  <bruno@clisp.org>
2999
3000         sched: Ensure pid_t is defined.
3001         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3002         not define pid_t.
3003         * lib/sched.in.h: Include <sys/types.h>.
3004         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3005         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3006
3007 2011-09-19  Bruno Haible  <bruno@clisp.org>
3008
3009         msvc-inval: Ensure the entire expansion is a single statement.
3010         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3011         of braces.
3012
3013 2011-09-19  Jim Meyering  <meyering@redhat.com>
3014
3015         tests: use printf, not echo in init.sh's warn_ function
3016         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3017         misbehave when given strings containing a backslash or starting
3018         with e.g., -n.  James Youngman suggested setting IFS.
3019
3020 2011-09-19  Eric Blake  <eblake@redhat.com>
3021
3022         futimens: enhance test
3023         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3024         closed non-negative fd.
3025
3026         date: accept 'hence' as opposite of 'ago'
3027         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3028         * tests/test-parse-datetime.c (main): Enhance test.
3029         Suggested by Jesse Wilson.
3030
3031 2011-09-19  Jim Meyering  <meyering@redhat.com>
3032
3033         getcwd: don't fail in a deep directory on a system without openat
3034         Before this change, getcwd would fail when called from a directory
3035         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3036         the non-openat implementation used "..", "../..", "../../..", etc.
3037         to access ancestor directories.  With too many, that string would
3038         be longer than PATH_MAX.
3039         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3040         using gnulib's openat replacement.
3041         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3042         we're using the replacement function.
3043
3044 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3045
3046         maint.mk: avoid warnings from perl about missing files
3047         * top/maint.mk (def_sym_regex): Ignore files listed in
3048         $(gl_other_headers_) that do not exist, say because a project
3049         does not use a corresponding module.
3050
3051 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3052
3053         stat: use pathmax.h only if needed
3054         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3055         This is better for Emacs, which does not have a mingw port and
3056         therefore can avoid the pathmax module.
3057
3058         utimens: remove dependency on dup2
3059         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3060         to work around the Linux kernel bug.
3061         * modules/utimens (Depends-on): Remove dup2.
3062
3063 2011-09-18  Bruno Haible  <bruno@clisp.org>
3064
3065         inet_ntop, inet_pton: Look for it also in libresolv.
3066         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3067         libnsl, search for it in libresolv.
3068         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3069         Needed on Solaris 7.
3070
3071 2011-09-18  Bruno Haible  <bruno@clisp.org>
3072
3073         accept, accept4 tests: Avoid link error on Solaris.
3074         * modules/accept-tests (Makefile.am): Link test-accept against
3075         $(LIBSOCKET).
3076         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3077         $(LIBSOCKET).
3078
3079         accept4: Avoid link error on Solaris.
3080         * modules/accept4 (Link): New section.
3081
3082         socket functions: Avoid link errors on Solaris.
3083         * modules/accept (Depends-on): Add socketlib.
3084         (Link): New section.
3085         * modules/bind (Depends-on): Add socketlib.
3086         (Link): New section.
3087         * modules/connect (Depends-on): Add socketlib.
3088         (Link): New section.
3089         * modules/getpeername (Depends-on): Add socketlib.
3090         (Link): New section.
3091         * modules/getsockname (Depends-on): Add socketlib.
3092         (Link): New section.
3093         * modules/getsockopt (Depends-on): Add socketlib.
3094         (Link): New section.
3095         * modules/listen (Depends-on): Add socketlib.
3096         (Link): New section.
3097         * modules/recv (Depends-on): Add socketlib.
3098         (Link): New section.
3099         * modules/recvfrom (Depends-on): Add socketlib.
3100         (Link): New section.
3101         * modules/send (Depends-on): Add socketlib.
3102         (Link): New section.
3103         * modules/sendto (Depends-on): Add socketlib.
3104         (Link): New section.
3105         * modules/setsockopt (Depends-on): Add socketlib.
3106         (Link): New section.
3107         * modules/shutdown (Depends-on): Add socketlib.
3108         (Link): New section.
3109         * modules/socket (Depends-on): Add socketlib.
3110         (Link): New section.
3111
3112 2011-09-18  Bruno Haible  <bruno@clisp.org>
3113
3114         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3115         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3116         than 5 seconds.
3117         * modules/ptsname-tests (configure.ac): Test for alarm.
3118
3119 2011-09-18  Bruno Haible  <bruno@clisp.org>
3120
3121         posix_spawn_file_actions_add*: Fix module dependencies.
3122         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3123         posix_spawn_file_actions_init.
3124         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3125         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3126
3127 2011-09-18  Bruno Haible  <bruno@clisp.org>
3128
3129         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3130         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3131         * tests/test-renameat.c (main): Likewise.
3132
3133 2011-09-18  Bruno Haible  <bruno@clisp.org>
3134
3135         Tests for module 'accept4'.
3136         * modules/accept4-tests: New file.
3137         * tests/test-accept4.c: New file.
3138
3139 2011-09-18  Bruno Haible  <bruno@clisp.org>
3140
3141         Tests for module 'accept'.
3142         * modules/accept-tests: New file.
3143         * tests/test-accept.c: New file.
3144
3145 2011-09-18  Bruno Haible  <bruno@clisp.org>
3146
3147         dup2: Support for MSVC.
3148         * lib/dup2.c: Include msvc-inval.h.
3149         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3150         _get_osfhandle calls.
3151         * modules/dup2 (Depends-on): Add msvc-inval.
3152         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3153
3154         New module 'msvc-inval'.
3155         * lib/msvc-inval.h: New file.
3156         * lib/msvc-inval.c: New file.
3157         * m4/msvc-inval.m4: New file.
3158         * modules/msvc-inval: New file.
3159
3160 2011-09-17  Bruno Haible  <bruno@clisp.org>
3161
3162         Tests for module 'pclose'.
3163         * modules/pclose-tests: New file.
3164
3165         New module 'pclose'.
3166         * lib/stdio.in.h (pclose): New declaration.
3167         * lib/pclose.c: New file.
3168         * m4/pclose.m4: New file.
3169         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3170         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3171         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3172         * modules/pclose: New file.
3173         * modules/popen-tests (Depends-on): Add pclose.
3174         * modules/popen-safer-tests (Depends-on): Likewise.
3175         * doc/posix-functions/pclose.texi: Mention the new module.
3176
3177 2011-09-17  Bruno Haible  <bruno@clisp.org>
3178
3179         popen: Support for MSVC.
3180         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3181         * lib/popen.c (popen): Provide alternate definition for native Windows.
3182         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3184         * modules/popen (Depends-on, configure.ac): Update condition.
3185         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3186         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3187         fixed.
3188
3189 2011-09-17  Bruno Haible  <bruno@clisp.org>
3190
3191         isnanl, isnand, isnanf: Work around MSVC bug.
3192         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3193
3194 2011-09-17  Bruno Haible  <bruno@clisp.org>
3195
3196         sys_socket tests: Fix recent mistake.
3197         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3198
3199 2011-09-17  Bruno Haible  <bruno@clisp.org>
3200
3201         putenv: Support for MSVC.
3202         * modules/putenv (Depends-on): Add environ.
3203         * lib/putenv.c (environ): Disable declaration.
3204         * lib/unistd.in.h: Update comment.
3205
3206 2011-09-17  Bruno Haible  <bruno@clisp.org>
3207
3208         math: Avoid macro redefinition warnings on MSVC.
3209         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3210         Undefine before redefining.
3211
3212 2011-09-17  Bruno Haible  <bruno@clisp.org>
3213
3214         doc: Mention functions which are declared as macros.
3215         * doc/posix-functions/*[fl].texi: Mention that some functions are
3216         defined as macros with arguments only.
3217
3218 2011-09-17  Bruno Haible  <bruno@clisp.org>
3219
3220         Add dependencies to new dirent related modules.
3221         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3222         * modules/fts (Depends-on): Likewise.
3223         * modules/glob (Depends-on): Likewise.
3224         * modules/savedir (Depends-on): Likewise.
3225         * modules/scandir (Depends-on): Likewise.
3226         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3227         * modules/fdopendir (Depends-on): Add opendir.
3228
3229 2011-09-17  Bruno Haible  <bruno@clisp.org>
3230
3231         inet_pton: Support for MSVC on Windows Vista or newer.
3232         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3233         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3234         HAVE_DECL_INET_PTON is defined.
3235         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3236         On platforms with <winsock2.h>, test whether inet_pton is declared in
3237         <ws2tcpip.h>. If so, arrange to replace it.
3238         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3239         REPLACE_INET_PTON.
3240         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3241         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3242         (Depends-on, configure.ac): Update condition.
3243         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3244
3245 2011-09-17  Bruno Haible  <bruno@clisp.org>
3246
3247         inet_ntop: Support for MSVC on Windows Vista or newer.
3248         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3249         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3250         HAVE_DECL_INET_NTOP is defined.
3251         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3252         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3253         <ws2tcpip.h>. If so, arrange to replace it.
3254         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3255         REPLACE_INET_NTOP.
3256         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3257         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3258         (Depends-on, configure.ac): Update condition.
3259         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3260
3261 2011-09-16  Eric Blake  <eblake@redhat.com>
3262
3263         test-fsync: yet another enhancement
3264         * tests/test-fsync.c (main): Also test behavior on read-only text
3265         file.
3266
3267 2011-09-16  Bruno Haible  <bruno@clisp.org>
3268
3269         Enhance fsync, fdatasync tests.
3270         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3271         * tests/test-fdatasync.c (main): Likewise.
3272
3273 2011-09-16  Bruno Haible  <bruno@clisp.org>
3274
3275         Support for MSVC compiler: Ensure mode_t gets defined.
3276         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3277         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3278         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3279         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3280         * tests/test-fcntl-h.c: Check that mode_t is defined.
3281         * tests/test-sys_stat.c: Likewise.
3282         * tests/test-sys_types.c: Likewise.
3283         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3284         * doc/posix-headers/sys_stat.texi: Likewise.
3285         * doc/posix-headers/sys_types.texi: Likewise.
3286
3287 2011-09-16  Bruno Haible  <bruno@clisp.org>
3288
3289         sys_stat: Support for MSVC.
3290         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3291         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3292         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3293         MSVC.
3294
3295 2011-09-16  Bruno Haible  <bruno@clisp.org>
3296
3297         Support for MSVC compiler: Ensure off_t gets defined.
3298         * lib/unistd.in.h: Include <sys/types.h>.
3299         * tests/test-fcntl-h.c: Check that off_t is defined.
3300         * tests/test-sys_stat.c: Likewise.
3301         * tests/test-sys_types.c: Likewise.
3302
3303 2011-09-16  Eric Blake  <eblake@redhat.com>
3304
3305         fdatasync: port to Solaris
3306         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3307         * modules/fdatasync (Link): Document it.
3308         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3309
3310         fdatasync: port to MacOS X 10.7
3311         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3312         declared.
3313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3314         * modules/unistd (Makefile.am): Substitute it.
3315         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3316         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3317
3318         fdatasync: minor improvements
3319         * modules/fdatasync (Depends-on): Add condition for fsync.
3320         * lib/fdatasync.c (fdatasync): Add comment.
3321         * tests/test-unistd-c++.cc: Test fdatasync.
3322
3323         unistd: update refs to newer POSIX
3324         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3325         Suggested by Bruno Haible.
3326
3327         fdatasync: new module
3328         * modules/fsync (Description): Document difference to fdatasync.
3329         * modules/fdatasync: New module.
3330         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3331         * lib/fdatasync.c (fdatasync): Likewise.
3332         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3333         defaults.
3334         * modules/unistd (Makefile.am): Set witnesses.
3335         * lib/unistd.in.h (fdatasync): Declare.
3336         * MODULES.html.sh: Document it.
3337         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3338         * modules/fdatasync-tests: New test.
3339         * tests/test-fdatasync.c: Likewise.
3340
3341 2011-09-16  Eric Blake  <eblake@redhat.com>
3342
3343         test-fsync: enhance tests
3344         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3345         * tests/test-fsync.c (main): Enhance test.
3346
3347 2011-09-15  Bruno Haible  <bruno@clisp.org>
3348
3349         Support for MSVC compiler: Ensure ssize_t gets defined.
3350         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3351         * doc/posix-headers/stdio.texi: Likewise.
3352         * modules/stdio (Depends-on): Add ssize_t.
3353         * modules/sys_socket (Depends-on): Likewise.
3354         * modules/sys_types (Depends-on): Likewise.
3355         * modules/sys_uio (Depends-on): Likewise.
3356         * modules/unistd (Depends-on): Likewise.
3357         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3358         * tests/test-sys_types.c: Check that ssize_t is defined.
3359
3360 2011-09-14  Bruno Haible  <bruno@clisp.org>
3361
3362         Avoid using #, the m4 comment starter character, near brackets.
3363         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3364         delimiter character in sed expressions.
3365         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3366         Suggested by Eric Blake.
3367
3368         Properly quote AC_CHECK_DECLS' 4th argument.
3369         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3370         argument.
3371         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3372         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3373         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3374         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3375         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3376         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3377         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3378         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3379         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3380         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3381         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3382         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3383         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3384         * m4/isinf.m4 (gl_ISINF): Likewise.
3385         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3386         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3387         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3388         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3389         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3390         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3391         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3392         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3393         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3394         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3395         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3396         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3397         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3398         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3399         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3400         Reported by Eric Blake.
3401
3402         Properly quote AC_CHECK_DECL's 4th argument.
3403         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3404         argument.
3405         * m4/argp.m4 (gl_ARGP): Likewise.
3406         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3407         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3408         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3409         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3410         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3411         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3412         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3413         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3414         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3415         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3416         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3417         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3418         Reported by Eric Blake.
3419
3420 2011-09-14  Eric Blake  <eblake@redhat.com>
3421
3422         opendir: avoid compile warning
3423         * lib/opendir.c (includes): Always include errno.h.
3424         Reported by Tatsuro MATSUOKA.
3425
3426 2011-09-14  Jim Meyering  <meyering@redhat.com>
3427
3428         maint.mk: sc_tight_scope: propagate failure from sub-make
3429         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3430         Reported by Martin von Gagern.
3431
3432 2011-09-13  Bruno Haible  <bruno@clisp.org>
3433
3434         tempname: Support for MSVC.
3435         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3436         MSVC.
3437         * modules/tempname (Depends-on): Add fcntl-h.
3438
3439 2011-09-13  Bruno Haible  <bruno@clisp.org>
3440
3441         sys_time: Support for MSVC.
3442         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3443         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3444         include <winsock2.h>.
3445         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3446         function declarations that collide with POSIX.
3447         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3448         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3449
3450 2011-09-13  Bruno Haible  <bruno@clisp.org>
3451
3452         stat: Support for MSVC.
3453         * lib/stat.c: Include pathmax.h.
3454         * modules/stat (Depends-on): Add pathmax.
3455
3456         pathmax: Support for native Windows.
3457         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3458
3459 2011-09-12  Bruno Haible  <bruno@clisp.org>
3460
3461         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3462         * lib/dirent.in.h (struct dirent): New type.
3463         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3464         DT_WHT): New macros.
3465         (DIR): New type.
3466         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3467         (readdir, rewinddir): New declarations.
3468         * lib/dirent-private.h: New file.
3469         * lib/opendir.c: New file.
3470         * lib/readdir.c: New file.
3471         * lib/rewinddir.c: New file.
3472         * lib/closedir.c: New file.
3473         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3474         * m4/opendir.m4: New file.
3475         * m4/readdir.m4: New file.
3476         * m4/rewinddir.m4: New file.
3477         * m4/closedir.m4: New file.
3478         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3479         REPLACE_CLOSEDIR here.
3480         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3481         readdir, rewinddir are declared.
3482         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3483         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3484         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3485         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3486         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3487         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3488         * modules/opendir: New file.
3489         * modules/readdir: New file.
3490         * modules/rewinddir: New file.
3491         * modules/closedir: New file.
3492         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3493         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3494         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3495         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3496         * NEWS: Mention the 'fchdir' change.
3497
3498 2011-09-11  Bruno Haible  <bruno@clisp.org>
3499
3500         asm-underscore.m4: Support for MSVC.
3501         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3502         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3503
3504 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3505
3506         Doc about crypt functions.
3507         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3508         needing for _GNU_SOURCE to get crypt.
3509         * doc/posix-functions/encrypt.texi: Likewise.
3510         * doc/posix-functions/setkey.texi: Likewise.
3511
3512 2011-09-11  Bruno Haible  <bruno@clisp.org>
3513
3514         doc: Update regarding MSVC 9.
3515         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3516         tested".
3517         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3518         * doc/posix-headers/*.texi: Likewise.
3519         * doc/pastposix-functions/*.texi: Likewise.
3520         * doc/glibc-functions/*.texi: Likewise.
3521         * doc/glibc-headers/*.texi: Likewise.
3522
3523 2011-09-11  Bruno Haible  <bruno@clisp.org>
3524
3525         unistd et al.: Don't assume <unistd.h> exists.
3526         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3527         does not exist.
3528         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3529         exist. But include <stdlib.h>.
3530         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3531         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3532         symlink() does not exist.
3533         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3534         include <io.h> instead.
3535         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3536         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3537         include <direct.h> instead.
3538         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3539         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3540         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3541         <io.h> instead.
3542         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3543         correctly if the system does not have hard links.
3544         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3545         <direct.h> instead.
3546         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3547         it when looking for function declarations.
3548         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3549         <direct.h> and <io.h> instead.
3550         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3551
3552 2011-09-11  Bruno Haible  <bruno@clisp.org>
3553
3554         strcase: Support for MSVC.
3555         * modules/strcase (Status, Notice): Remove obsoletion mark.
3556         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3557         * doc/posix-functions/strncasecmp.texi: Likewise.
3558
3559         strings: Don't assume <strings.h> exists.
3560         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3561         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3562         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3563         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3564
3565 2011-09-11  Bruno Haible  <bruno@clisp.org>
3566
3567         dirent: Don't assume <dirent.h> exists.
3568         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3569         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3570         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3571         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3572
3573 2011-09-11  Bruno Haible  <bruno@clisp.org>
3574
3575         Fix wint_t on MSVC.
3576         * lib/wchar.in.h (wint_t): On MSVC, override it.
3577         * lib/wctype.in.h (wint_t): Likewise.
3578         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3579         MSVC.
3580         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3581         * doc/posix-headers/wctype.texi: Likewise.
3582
3583 2011-09-11  Bruno Haible  <bruno@clisp.org>
3584
3585         sys_types: Fix typo.
3586         * lib/sys_types.in.h: Fix typo in comment.
3587         Reported by Paul Eggert.
3588
3589         Support for MSVC compiler: Ensure size_t gets defined.
3590         * modules/strings (Depends-on): Add 'sys_types'.
3591         * modules/sys_uio (Depends-on): Likewise.
3592         * lib/sys_uio.in.h: Update comment.
3593
3594         C++ tests for module 'sys_types'.
3595         * modules/sys_types-c++-tests: New file.
3596         * tests/test-sys_types-c++.cc: New file.
3597
3598         Tests for module 'sys_types'.
3599         * modules/sys_types-tests: New file.
3600         * tests/test-sys_types.c: New file.
3601
3602         New module 'sys_types'.
3603         * lib/sys_types.in.h: New file.
3604         * m4/sys_types_h.m4: New file.
3605         * modules/sys_types: New file.
3606         * doc/posix-headers/sys_types.texi: Mention the new module and the
3607         size_t problem on MSVC 9.
3608
3609 2011-09-11  Bruno Haible  <bruno@clisp.org>
3610
3611         Support for MSVC compiler: Avoid division by a literal 0.
3612         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3613         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3614         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3615         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3616         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3617         * tests/infinity.h: New file.
3618         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3619         on MSVC.
3620         * tests/test-ceilf1.c: Include infinity.h.
3621         (main): Use Infinityf.
3622         * tests/test-ceil1.c: Include infinity.h.
3623         (main): Use Infinityd.
3624         * tests/test-ceill.c: Include infinity.h.
3625         (main): Use Infinityl.
3626         * tests/test-dprintf-posix.c: Include infinity.h.
3627         (test_function): Use Infinityd.
3628         * tests/test-floorf1.c: Include infinity.h.
3629         (main): Use Infinityf.
3630         * tests/test-floor1.c: Include infinity.h.
3631         (main): Use Infinityd.
3632         * tests/test-floorl.c: Include infinity.h.
3633         (main): Use Infinityl.
3634         * tests/test-fprintf-posix.c: Include infinity.h.
3635         (test_function): Use Infinityd.
3636         * tests/test-frexp.c: Include infinity.h.
3637         (main): Use Infinityd.
3638         * tests/test-frexpl.c: Include infinity.h.
3639         (main): Use Infinityl.
3640         * tests/test-isfinite.c: Include infinity.h.
3641         (test_isfinitef): Use Infinityf.
3642         (test_isfinited): Use Infinityd.
3643         (test_isfinitel): Use Infinityl.
3644         * tests/test-isinf.c: Include infinity.h.
3645         (test_isinff): Use Infinityf.
3646         (test_isinfd): Use Infinityd.
3647         (test_isinfl): Use Infinityl.
3648         * tests/test-isnan.c: Include infinity.h.
3649         (test_float): Use Infinityf.
3650         (test_double): Use Infinityd.
3651         (test_long_double): Use Infinityl.
3652         * tests/test-isnanf.h: Include infinity.h.
3653         (main): Use Infinityf.
3654         * tests/test-isnand.h: Include infinity.h.
3655         (main): Use Infinityd.
3656         * tests/test-isnanl.h: Include infinity.h.
3657         (main): Use Infinityl.
3658         * tests/test-ldexpl.c: Include infinity.h.
3659         (main): Use Infinityl.
3660         * tests/test-printf-posix.h: Include infinity.h.
3661         (test_function): Use Infinityd.
3662         * tests/test-roundf1.c: Include infinity.h.
3663         (main): Use Infinityf.
3664         * tests/test-round1.c: Include infinity.h.
3665         (main): Use Infinityd.
3666         * tests/test-roundl.c: Include infinity.h.
3667         (main): Use Infinityl.
3668         * tests/test-signbit.c: Include infinity.h.
3669         (test_signbitf): Use Infinityf.
3670         (test_signbitd): Use Infinityd.
3671         (test_signbitl): Use Infinityl.
3672         * tests/test-snprintf-posix.h: Include infinity.h.
3673         (test_function): Use Infinityd, Infinityl.
3674         * tests/test-sprintf-posix.h: Include infinity.h.
3675         (test_function): Use Infinityd, Infinityl.
3676         * tests/test-truncf1.c: Include infinity.h.
3677         (main): Use Infinityf.
3678         * tests/test-trunc1.c: Include infinity.h.
3679         (main): Use Infinityd.
3680         * tests/test-truncl.c: Include infinity.h.
3681         (main): Use Infinityl.
3682         * tests/test-vasnprintf-posix.c: Include infinity.h.
3683         (test_function): Use Infinityd, Infinityl.
3684         * tests/test-vasprintf-posix.c: Include infinity.h.
3685         (test_function): Use Infinityd, Infinityl.
3686         * modules/ceilf-tests (Files): Add tests/infinity.h.
3687         * modules/ceil-tests (Files): Likewise.
3688         * modules/ceill-tests (Files): Likewise.
3689         * modules/dprintf-posix-tests (Files): Likewise.
3690         * modules/floorf-tests (Files): Likewise.
3691         * modules/floor-tests (Files): Likewise.
3692         * modules/floorl-tests (Files): Likewise.
3693         * modules/fprintf-posix-tests (Files): Likewise.
3694         * modules/frexp-tests (Files): Likewise.
3695         * modules/frexp-nolibm-tests (Files): Likewise.
3696         * modules/frexpl-tests (Files): Likewise.
3697         * modules/frexpl-nolibm-tests (Files): Likewise.
3698         * modules/isfinite-tests (Files): Likewise.
3699         * modules/isinf-tests (Files): Likewise.
3700         * modules/isnan-tests (Files): Likewise.
3701         * modules/isnanf-tests (Files): Likewise.
3702         * modules/isnanf-nolibm-tests (Files): Likewise.
3703         * modules/isnand-tests (Files): Likewise.
3704         * modules/isnand-nolibm-tests (Files): Likewise.
3705         * modules/isnanl-tests (Files): Likewise.
3706         * modules/isnanl-nolibm-tests (Files): Likewise.
3707         * modules/ldexpl-tests (Files): Likewise.
3708         * modules/printf-posix-tests (Files): Likewise.
3709         * modules/roundf-tests (Files): Likewise.
3710         * modules/round-tests (Files): Likewise.
3711         * modules/roundl-tests (Files): Likewise.
3712         * modules/signbit-tests (Files): Likewise.
3713         * modules/snprintf-posix-tests (Files): Likewise.
3714         * modules/sprintf-posix-tests (Files): Likewise.
3715         * modules/truncf-tests (Files): Likewise.
3716         * modules/trunc-tests (Files): Likewise.
3717         * modules/truncl-tests (Files): Likewise.
3718         * modules/vasnprintf-posix-tests (Files): Likewise.
3719         * modules/vasprintf-posix-tests (Files): Likewise.
3720         * modules/vdprintf-posix-tests (Files): Likewise.
3721         * modules/vfprintf-posix-tests (Files): Likewise.
3722         * modules/vprintf-posix-tests (Files): Likewise.
3723         * modules/vsnprintf-posix-tests (Files): Likewise.
3724         * modules/vsprintf-posix-tests (Files): Likewise.
3725         * modules/xprintf-posix-tests (Files): Likewise.
3726
3727 2011-09-11  Bruno Haible  <bruno@clisp.org>
3728
3729         Ensure pid_t gets defined.
3730         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3731         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3732         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3733         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3734         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3735         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3736         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3737         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3738         * tests/test-fcntl-h.c: Check that pid_t is defined.
3739         * tests/test-sched.c: Likewise.
3740         * tests/test-termios.c: Likewise.
3741         * tests/test-time.c: Likewise.
3742         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3743         * doc/posix-headers/signal.texi: Likewise.
3744         * doc/posix-headers/sys_types.texi: Likewise.
3745         * doc/posix-headers/time.texi: Likewise.
3746
3747 2011-09-11  Bruno Haible  <bruno@clisp.org>
3748
3749         acl: Fix compilation on Solaris 10 (older version).
3750         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3751         of ACE_EVERYONE.
3752         * lib/set-mode-acl.c (qset_acl): Likewise.
3753         Reported by Christian Jullien <eligis@orange.fr>.
3754
3755 2011-09-10  Bruno Haible  <bruno@clisp.org>
3756
3757         iconv, unsetenv: Add support for MSVC compiler.
3758         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3759         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3760
3761 2011-09-10  Bruno Haible  <bruno@clisp.org>
3762
3763         *printf: Add support for MSVC compiler.
3764         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3765         handles the exception caused by the %n directive. When cross-compiling,
3766         guess no on native Windows.
3767         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3768         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3769         emulate it through vsnprintf.
3770         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3771         * doc/posix-functions/dprintf.texi: Update documentation regarding
3772         MSVC 9.
3773         * doc/posix-functions/fprintf.texi: Likewise.
3774         * doc/posix-functions/printf.texi: Likewise.
3775         * doc/posix-functions/snprintf.texi: Likewise.
3776         * doc/posix-functions/sprintf.texi: Likewise.
3777         * doc/posix-functions/swprintf.texi: Likewise.
3778         * doc/posix-functions/vdprintf.texi: Likewise.
3779         * doc/posix-functions/vfprintf.texi: Likewise.
3780         * doc/posix-functions/vprintf.texi: Likewise.
3781         * doc/posix-functions/vsnprintf.texi: Likewise.
3782         * doc/posix-functions/vsprintf.texi: Likewise.
3783         * doc/glibc-functions/asprintf.texi: Likewise.
3784         * doc/glibc-functions/obstack_printf.texi: Likewise.
3785         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3786         * doc/glibc-functions/vasprintf.texi: Likewise.
3787
3788 2011-09-10  Bruno Haible  <bruno@clisp.org>
3789
3790         nocrash: Add support for native Windows.
3791         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3792
3793 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3794             Bruno Haible  <bruno@clisp.org>
3795
3796         absolute-header, include-next: Add support for MSVC compiler.
3797         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3798         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3799         directory separator in #line directives.
3800         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3801         recognize also backslash as directory separator in #line directives.
3802
3803 2011-09-08  Jim Meyering  <meyering@redhat.com>
3804
3805         maint.mk: mark the post-release commit log with "maint: " prefix
3806         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3807         one-line commit-log summary.
3808
3809 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3810             Bruno Haible  <bruno@clisp.org>
3811
3812         Doc about crypt functions.
3813         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3814         systems.
3815         * doc/posix-functions/encrypt.texi: Likewise.
3816         * doc/posix-functions/setkey.texi: Likewise.
3817
3818 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3819
3820         * lib/gc.h: Fix copyright header.
3821
3822 2011-09-07  Bruno Haible  <bruno@clisp.org>
3823
3824         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3825         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3826         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3827
3828 2011-09-07  Bruno Haible  <bruno@clisp.org>
3829
3830         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3831         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3832         * lib/freopen.c: Likewise.
3833         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3834         * lib/lstat.c: Likewise.
3835         * lib/stat.c: Likewise.
3836         * lib/open.c: Use different syntax for include of <fcntl.h>.
3837         * lib/openat.c: Include fcntl.h again, explicitly.
3838
3839 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3840
3841         parse-datetime: document the newly accepted format
3842         * doc/parse-datetime.texi (Combined date and time of day items):
3843         New section.
3844
3845 2011-09-06  Bruno Haible  <bruno@clisp.org>
3846
3847         acl: Fix a test failure on newer Solaris 10 with ZFS.
3848         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3849         ENOSYS as no ACL.
3850         Reported by Jim Meyering.
3851
3852 2011-09-06  Bruno Haible  <bruno@clisp.org>
3853
3854         acl: Update for AIX >= 5.3 with NFS.
3855         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3856         ENOSYS as no ACL.
3857
3858         acl: Fix a test failure on AIX >= 5.3 with NFS.
3859         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3860         as no ACL.
3861
3862 2011-09-06  Bruno Haible  <bruno@clisp.org>
3863
3864         acl: Fix a test failure on IRIX 6.5 with NFS.
3865         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3866         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3867         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3868         * lib/copy-acl.c (qcopy_acl): Likewise.
3869
3870 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3871
3872         openat: port to AIX 7.1 with large files
3873         AIX 7.1 does a "#define openat open64at" if large files are in use,
3874         so we can't simply #undef openat.  Use the orig_openat trick (similar
3875         to orig_open in lib/open.c) to work around the problem.  Problem
3876         reported by Kevin Brott for GNU tar, in the thread containing
3877         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3878         * lib/openat.c (__need_system_fcntl_h): Define first.
3879         Include <fcntl.h> and <sys/types.h> before undefining.
3880         (orig_openat) [HAVE_OPENAT]: New inline function.
3881         (openat) [HAVE_OPENAT]: Do not undef.
3882         (rpl_openat): Use orig_openat, not openat.
3883
3884 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3885             Bruno Haible  <bruno@clisp.org>
3886
3887         acl: Avoid errors on NonStop Kernel.
3888         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3889         ENOTSUP errors.
3890
3891 2011-09-05  Bruno Haible  <bruno@clisp.org>
3892
3893         acl: Clean up Solaris code.
3894         * lib/acl-internal.h: Remove no-op #if.
3895         * lib/file-has-acl.c: Likewise.
3896         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3897         * lib/copy-acl.c (qcopy_acl): Likewise.
3898
3899 2011-09-05  Bruno Haible  <bruno@clisp.org>
3900
3901         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3902         binaries built on the original Solaris 10.
3903         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3904         trivial.
3905
3906 2011-09-05  Bruno Haible  <bruno@clisp.org>
3907
3908         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3909         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3910         10.
3911         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3912         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3913         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3914         instead of acl_get, facl_get, acl_set, facl_set.
3915
3916 2011-09-05  Bruno Haible  <bruno@clisp.org>
3917
3918         copy-file: Try unit tests on more file systems.
3919         * tests/test-copy-file-1.sh: New file.
3920         * tests/test-copy-file-2.sh: New file.
3921         * modules/copy-file-tests (Files): Add them.
3922         (Makefile.am): Add them to TESTS.
3923
3924         acl: Try unit tests on more file systems.
3925         * tests/test-file-has-acl-1.sh: New file.
3926         * tests/test-file-has-acl-2.sh: New file.
3927         * tests/test-set-mode-acl-1.sh: New file.
3928         * tests/test-set-mode-acl-2.sh: New file.
3929         * tests/test-copy-acl-1.sh: New file.
3930         * tests/test-copy-acl-2.sh: New file.
3931         * modules/acl-tests (Files): Add them.
3932         (Makefile.am): Add them to TESTS.
3933
3934 2011-09-04  Bruno Haible  <bruno@clisp.org>
3935
3936         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3937         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
3938         10.
3939         (OLD_ALLOW, OLD_DENY): New macros.
3940         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
3941         ACE_ACCESS_ALLOWED_ACE_TYPE.
3942         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
3943         ACE_ACCESS_DENIED_ACE_TYPE.
3944         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
3945         (NEW_ACE_EXECUTE): Fix value.
3946         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
3947         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
3948         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
3949         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
3950         NEW_ACE_SYNCHRONIZE): New macros.
3951         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
3952         instead of acl_fromtext, acl_set, facl_set.
3953         Fixes a coreutils/tests/cp/perm failure.
3954
3955 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3956
3957         openat: test for fstatat (..., 0) bug
3958         Further testing with tar suggests that fstatat (..., 0)
3959         does not work in general, on AIX 7.1; see
3960         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
3961         So, give up entirely on AIX 7.1's fstatat, and fall back on our
3962         replacement fstatat (which is what older AIX releases were using
3963         anyway).
3964         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
3965         use is now changed to orig_fstatat.  This was probably the right
3966         thing to do anyway.
3967         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
3968         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
3969         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
3970         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
3971         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
3972         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
3973         if the bug is found.
3974
3975         openat: test for fstatat (AT_FDCWD, ..., 0) bug
3976         This tests for another fstatat bug on AIX 7.1:
3977         fstatat (AT_FDCWD, ..., 0) does not work.  See
3978         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
3979         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
3980         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
3981         (rpl_fstatat): Adjust so that it works around either (or both)
3982         bugs if present.
3983         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
3984
3985 2011-09-03  Karl Berry  <karl@gnu.org>
3986
3987         * doc/regex.texi (Character Class Operators): Avoid literal ":"
3988         in index entries.
3989
3990 2011-09-02  Bruno Haible  <bruno@clisp.org>
3991
3992         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
3993         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
3994         values of AR, ARFLAGS, RANLIB.
3995         Reported by John W. Eaton <jwe@gnu.org> for Octave.
3996
3997 2011-09-02  Bruno Haible  <bruno@clisp.org>
3998
3999         Find 'ar' program that fits with --host argument.
4000         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4001
4002 2011-09-02  Bruno Haible  <bruno@clisp.org>
4003
4004         tests: init.sh: Support any non-GNU diff.
4005         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4006         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4007         Solaris 8.
4008
4009 2011-09-02  Bruno Haible  <bruno@clisp.org>
4010
4011         tests: init.sh: work also with any non-GNU diff that supports -u
4012         * tests/init.sh: Relax check for diff -u support.
4013         Rather than checking for GNU diff via --version, simply check
4014         for support for -u itself.  Useful at least on OpenBSD 4.9,
4015         AIX 7.1, IRIX 6.5, and Solaris 10.
4016
4017 2011-09-01  Bruno Haible  <bruno@clisp.org>
4018
4019         strtoimax, strtoumax: Document problem on HP-UX 11.
4020         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4021         * doc/posix-functions/strtoumax.texi: Likewise.
4022
4023 2011-09-01  Bruno Haible  <bruno@clisp.org>
4024
4025         strtoumax: Avoid link error on OSF/1 with DTK cc.
4026         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4027         defined as a function.
4028         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4029         strtoumax is defined, not whether it is declared.
4030
4031 2011-09-01  Bruno Haible  <bruno@clisp.org>
4032
4033         strtoimax: Avoid link error on OSF/1 with DTK cc.
4034         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4035         defined as a function.
4036         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4037         strtoimax is defined, not whether it is declared.
4038
4039 2011-09-01  Bruno Haible  <bruno@clisp.org>
4040
4041         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4042         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4043         as a function.
4044         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4045         whether it is declared.
4046
4047 2011-09-01  Bruno Haible  <bruno@clisp.org>
4048
4049         imaxabs: Avoid link error on OSF/1 with DTK cc.
4050         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4051         as a function.
4052         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4053         whether it is declared.
4054
4055 2011-09-01  Bruno Haible  <bruno@clisp.org>
4056
4057         Tests for module 'strtoumax'.
4058         * modules/strtoumax-tests: New file.
4059         * tests/test-strtoumax.c: New file.
4060
4061         Tests for module 'strtoimax'.
4062         * modules/strtoimax-tests: New file.
4063         * tests/test-strtoimax.c: New file.
4064
4065         Tests for module 'imaxdiv'.
4066         * modules/imaxdiv-tests: New file.
4067         * tests/test-imaxdiv.c: New file.
4068
4069         Tests for module 'imaxabs'.
4070         * modules/imaxabs-tests: New file.
4071         * tests/test-imaxabs.c: New file.
4072
4073 2011-09-01  Bruno Haible  <bruno@clisp.org>
4074
4075         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4076         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4077         pthread_create.
4078
4079 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4080
4081         openat: work around AIX 7.1 fstatat issue
4082         This should fix the problem that was not properly fixed
4083         in the previous change, dated 2011-08-30.
4084         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4085         __need_system_stat_h defined.
4086         (orig_fstatat) [HAVE_FSTATAT]: New function.
4087         (rpl_fstatat): Go back to the old way of doing things,
4088         except call orig_fstatat instead of fstatat.
4089         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4090         Remove unnecessary check whether fstatat fills in st_size etc.
4091
4092 2011-09-01  Bruno Haible  <bruno@clisp.org>
4093
4094         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4095         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4096         just include the system's header.
4097
4098 2011-08-31  Jim Meyering  <meyering@redhat.com>
4099
4100         tests: avoid spurious assertion failure in test-float.c on ppc64
4101         * tests/test-float.c (test_long_double): Comment out an assertion,
4102         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4103         with gcc-4.4.4.
4104
4105         maint: indent with spaces, not TABs
4106         I need to get in the habit of running gnulib's "make check".
4107         Both of these would have been caught.
4108         * m4/largefile.m4: Indent with spaces, not TABs.
4109         * lib/parse-datetime.y (iso_8601_time): Likewise.
4110         Spotted by Pádraig Brady.
4111
4112         test-parse-datetime.c: accommodate a relatively strict gcc warning
4113         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4114         to avoid a warning from gcc's -Werror=missing-declarations.
4115         Insert a few spaces-before-funcall-parenthesis.
4116
4117 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4118
4119         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4120         The parser now accepts ISO 8601 date-time strings with "T" as the
4121         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4122         with a space between the date and time strings.  Now it also parses
4123         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4124         variants like "2004-02-29T16:21:42.333-07:00"
4125         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4126         of day representation using the 'T' separator character.
4127         * doc/parse-datetime.texi (General date syntax): replace use of
4128         deprecated --iso-8601 option with --rfc-3339 in example of date
4129         command output formats that can be parsed.
4130         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4131         lib/parse-datetime.y.
4132         (gmt_offset): New function.
4133         (main): Add additional test cases to validate ISO8601 extended
4134         date and time of day parsing.
4135
4136 2011-08-31  Bruno Haible  <bruno@clisp.org>
4137
4138         freopen: Documentation.
4139         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4140         name.
4141         Reported by Claudio Bley <claudio.bley@gmail.com>.
4142
4143 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4144
4145         freopen: Don't crash if the filename argument is NULL.
4146         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4147         NULL.
4148
4149 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4150
4151         openat: work around AIX 7.1 fstatat bug
4152         Problem reported by Kevin Brott for GNU tar, in the thread containing
4153         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4154         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4155         FSTATAT_ST_SIZE_ETC_BROKEN.
4156         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4157         rpl_fstatat.
4158         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4159         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4160         AC_CHECK_FUNCS_ONCE for fstatat.
4161         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4162         fchmodat, mkdirat, openat and unlinkat.
4163
4164 2011-08-30  Bruno Haible  <bruno@clisp.org>
4165
4166         Avoid endless recursions if config.h includes some header files.
4167         * lib/fopen.c (__need_FILE): Define already before including config.h.
4168         * lib/freopen.c (__need_FILE): Likewise.
4169         * lib/open.c (__need_system_fcntl_h): Likewise.
4170         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4171         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4172         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4173
4174 2011-08-25  Karl Berry  <karl@gnu.org>
4175
4176         * config/srclist.txt (ylwrap): new try.
4177         * build-aux/ylwrap: new file.
4178
4179 2011-08-23  Bruno Haible  <bruno@clisp.org>
4180
4181         tmpdir: Use a good default directory on native Windows.
4182         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4183         (P_tmpdir): Default to _P_tmpdir on native Windows.
4184         (path_search): On native Windows, try the value returned by GetTempPath
4185         before trying P_tmpdir.
4186         * modules/tmpdir (Depends-on): Add pathmax.
4187         Suggested by John Darrington <john@darrington.wattle.id.au>.
4188
4189 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4190
4191         doc: fix typo in README-release
4192         * top/README-release: Capitalize first word of a sentence.
4193
4194 2011-08-19  Jim Meyering  <meyering@redhat.com>
4195
4196         fts: do not exhaust memory when processing million-entry directories
4197         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4198         directory would require about 256*N bytes of memory.  Thus, it was
4199         easy to construct a directory too large to be processed by any of
4200         those tools.  With this change, fts' maximum memory utilization is
4201         now limited to around 30MB.
4202         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4203         (fts_read): When we've processed the final entry (i.e., when
4204         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4205         using the parent entry to read any remaining entries.  Dispatch
4206         depending on what fts_build returns:
4207         - NULL+stop, aka failure: stop
4208         - NULL otherwise: move up in the dir hierarchy
4209         - non-NULL: handle this new entry
4210         (fts_build): Declare and use new local, continue_readdir.
4211         Prepare to be called from fts_read, when the entries
4212         from a partially-read directory have just been exhausted.
4213         In that case, we'll skip the opendir and instead use the parent's
4214         fts_dirp and derive dir_fd from that.
4215         Finally, in the readdir loop, if we read max_entries entries,
4216         exit the loop ensuring *not* to call closedir.  This is required
4217         so that fts_dirp can be reused on a subsequent call.
4218         Prompted by Ben England's report of memory exhaustion in find
4219         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4220
4221         maint: fts: move decl of `dp' down into while loop; split a long line
4222         * lib/fts.c (fts_build): No semantic change.
4223
4224         fts: add/use new struct member, fts_dirp
4225         We are about to use this to manage any directory with
4226         too many entries to read all of them into memory at once.
4227         To do that, we'll need to save the DIR* pointer in each
4228         affected FTSENT struct.
4229         * lib/fts_.h: Include <dirent.h>.
4230         (struct FTSENT) [fts_dirp]: New member.
4231         * lib/fts.c (closedir_and_clear): Define.
4232         Use it in place of closedir so that we are sure to
4233         clear the new fts_dirp member when done with it.
4234         (fts_alloc): Initialize the new member.
4235         (fts_lfree): Free, if needed.
4236
4237         maint: fts: give __opendir2 a new parameter and rename
4238         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4239         than surreptitiously using sole caller's "dir_fd".
4240         (fts_opendir): Rename from __opendir2.
4241
4242         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4243         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4244
4245         maint: fts.c: correct off-by-one indentation
4246         * lib/fts.c (fts_build): Correct indentation, change style
4247         of a couple of block comments, and bracing style.
4248
4249         maint: fts.c: move __opendir2 #define "up" out of function body
4250         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4251
4252         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4253         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4254         out for a long time and besides was useful only on BSD systems.
4255
4256 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4257
4258         regex: port to Stratus OpenVOS
4259         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4260         define to empty, rather than attempting nonportable optimizations.
4261         Problem reported by Paul Green in:
4262         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4263         and fix suggested by Eric Blake in:
4264         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4265
4266 2011-08-17  Eric Blake  <eblake@redhat.com>
4267
4268         getcwd: fix test failures on mingw
4269         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4270         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4271         test if long directory cannot be created, and allow mingw errno.
4272
4273         getcwd-lgpl: fix m4 to match relaxed test for BSD
4274         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4275         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4276         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4277         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4278         signature problem.
4279
4280         getcwd: fix compilation on mingw64
4281         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4282         getcwd.
4283         Reported by Marc-André Lureau.
4284
4285         pipe2: silence compiler warning
4286         * lib/pipe2.c (pipe2): Hide label if it is not used.
4287
4288 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4289
4290         relocatable-prog: fix link error
4291         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4292         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4293         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4294         into modules/relocatable-lib without noticing that
4295         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4296         also needs to build relocatable.c.
4297
4298 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4299
4300         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4301         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4302         shell code: it contained a 'break' that was not in a loop.
4303         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4304         via a shell-language loop; this may have been true in old Autoconf
4305         versions, but it's not true in Autoconf 2.68.  I found this bug
4306         when testing coreutils git on Solaris 8, whose shell complains
4307         about the syntax error.
4308
4309 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4310
4311         * lib/base64.c: Fix comment to reference RFC 4648.
4312         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4313         <gvtulder@gmail.com>.
4314
4315 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4316
4317         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4318
4319         po/Makefile.in.in: fix make -q problem
4320         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4321         rule, since there's no file named 'check-macro-version' and its
4322         use as a file breaks make -q.
4323         (all): Don't depend on check-macro-version.
4324         (CHECK_MACRO_VERSION): New macro.
4325         (stamp-po): Use it.
4326
4327         configmake: fix make -q problem
4328         * modules/configmake (configmake.h): Update configmake.h's time stamp
4329         even if the file does not change.  Otherwise, 'make -q' fails.
4330         Problem reported by Simon Josefsson in
4331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4332
4333 2011-08-11  Jim Meyering  <meyering@redhat.com>
4334
4335         git-version-gen: correct the advice in a comment
4336         * build-aux/git-version-gen: Correct comment.
4337         Don't recommend to list .tarball-version in .gitignore.
4338
4339 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4340
4341         base64: fix off-by-one buffer size bug
4342         Problem and (trivial) fix reported by Gijs van Tulder in
4343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4344         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4345         * tests/test-base64.c (main): Catch the bug.
4346
4347 2011-08-10  Eric Blake  <eblake@redhat.com>
4348
4349         closein: correct comments
4350         * lib/closein.c (close_stdin): Improve comments.
4351
4352 2011-08-09  Bruno Haible  <bruno@clisp.org>
4353
4354         More tests for 'fseeko'.
4355         * tests/test-fseeko3.c: New file, from Eric Blake.
4356         * tests/test-fseeko3.sh: New file.
4357         * modules/fseeko-tests (Files): Add them.
4358         (TESTS): Add test-fseeko3.sh.
4359         (check_PROGRAMS): Add test-fseeko3.
4360
4361 2011-08-09  Eric Blake  <eblake@redhat.com>
4362
4363         fseeko: remove unneeded hack
4364         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4365
4366         fseeko: fix bug on glibc
4367         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4368         Reported by John W. Eaton.
4369
4370 2011-08-08  Bruno Haible  <bruno@clisp.org>
4371
4372         unictype/base: Fix interoperability with preinstalled libunistring.
4373         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4374         Reported by Simon Josefsson.
4375
4376 2011-08-08  Bruno Haible  <bruno@clisp.org>
4377
4378         iswblank: Detect declaration correctly.
4379         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4380         AC_CHECK_DECLS invocation.
4381
4382 2011-08-08  Bruno Haible  <bruno@clisp.org>
4383
4384         tcgetsid: Detect declaration correctly.
4385         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4386         AC_CHECK_DECLS invocation.
4387         Reported by Simon Josefsson.
4388
4389 2011-08-08  Eric Blake  <eblake@redhat.com>
4390
4391         largefile: fix typo that regressed large file support
4392         * modules/largefile (configure.ac-early): Fix section name.
4393
4394 2011-08-06  Karl Berry  <karl@gnu.org>
4395
4396         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4397         a separate module.
4398
4399 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4400
4401         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4402         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4403         get prototype for free.
4404
4405 2011-08-04  Bruno Haible  <bruno@clisp.org>
4406
4407         Tests for module 'pathmax'.
4408         * modules/pathmax-tests: New file.
4409         * tests/test-pathmax.c: New file.
4410
4411         canonicalize-lgpl: Support larger filenames on the Hurd.
4412         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4413         Reported by Paul Eggert.
4414
4415         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4416         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4417         * lib/chdir-long.h: Include pathmax.h.
4418         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4419         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4420         (PATH_MAX): Remove code that is done by pathmax.h.
4421         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4422         * lib/tmpfile.c: Add a comment.
4423         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4424         * modules/chdir-long (Depends-on): Add pathmax.
4425         * modules/getcwd (Depends-on): Add pathmax.
4426         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4427         is not defined.
4428         * doc/posix-headers/limits.texi: Mention the pathmax module.
4429         * NEWS: Mention the change.
4430
4431 2011-08-02  Bruno Haible  <bruno@clisp.org>
4432
4433         pthread_sigmask: Actually use results of gl_THREADLIB.
4434         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4435         gl_THREADLIB, not gl_[]THREADLIB.
4436         Reported by Eric Blake.
4437
4438 2011-08-02  Jim Meyering  <meyering@redhat.com>
4439
4440         maint.mk: relax the default _gl_TS_function_match regexp
4441         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4442         space between function name and "(" in an "extern" declaration.
4443         That would fail to match a decl with no space there: extern void foo();
4444
4445 2011-07-31  Iain Nicol  <iain@thenicols.net>
4446
4447         git-version-gen: document that EXTRA_DIST must include .version
4448         * build-aux/git-version-gen: In the how-to-use comment, document
4449         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4450         will fail when run from an unpacked distribution tarball.
4451
4452 2011-08-01  Bruno Haible  <bruno@clisp.org>
4453
4454         wctype-h: Fix last change.
4455         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4456         REPLACE_TOWLOWER to 0.
4457         Reported by Sam Steingold <sds@gnu.org>.
4458
4459 2011-07-31  Bruno Haible  <bruno@clisp.org>
4460
4461         frexpl: Update autoconf test.
4462         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4463         according to changes of 2011-06-20.
4464
4465 2011-07-31  Bruno Haible  <bruno@clisp.org>
4466
4467         sys_utsname: Add support for Minix.
4468         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4469         <sys/utsname.h>.
4470         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4471         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4472
4473 2011-07-31  Bruno Haible  <bruno@clisp.org>
4474
4475         strings: Add support for Minix.
4476         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4477         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4478         * doc/posix-headers/strings.texi: Document the Minix problem.
4479
4480 2011-07-31  Bruno Haible  <bruno@clisp.org>
4481
4482         wctype-h: Add support for Minix.
4483         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4484         REPLACE_TOWLOWER.
4485         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4486         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4487         REPLACE_ISWCNTRL.
4488
4489 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4490
4491         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4492         This is a performance improvement for 64-bit hosts: it causes the
4493         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4494
4495 2011-07-31  Bruno Haible  <bruno@clisp.org>
4496
4497         stdioext: Add support for Minix.
4498         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4499         * lib/fpurge.c (fpurge): Likewise.
4500         * lib/freadahead.c (freadahead): Likewise.
4501         * lib/freadable.c (freadable): Likewise.
4502         * lib/freading.c (freading): Likewise.
4503         * lib/freadptr.c (freadptr): Likewise.
4504         * lib/freadseek.c (freadptrinc): Likewise.
4505         * lib/fseeko.c (rpl_fseeko): Likewise.
4506         * lib/fseterr.c (fseterr): Likewise.
4507         * lib/fwritable.c (fwritable): Likewise.
4508         * lib/fwriting.c (fwriting): Likewise.
4509         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4510         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4511
4512 2011-07-31  Bruno Haible  <bruno@clisp.org>
4513
4514         errno: Port to Minix.
4515         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4516         ECONNABORTED are defined.
4517         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4518         GNULIB_defined_ECONNABORTED): New macros.
4519         * lib/strerror-override.h (strerror_override): Test also
4520         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4521         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4522         ECONNABORTED.
4523         * doc/posix-headers/errno.texi: Mention the Minix problem.
4524
4525 2011-07-31  Bruno Haible  <bruno@clisp.org>
4526
4527         Work around declaration collisions on Minix.
4528         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4529         defined, set REPLACE_MBSINIT.
4530         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4531         defined, set REPLACE_MBRTOWC.
4532         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4533         set REPLACE_MBRLEN.
4534         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4535         defined, set REPLACE_MBSRTOWCS.
4536         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4537         defined, set REPLACE_WCRTOMB.
4538         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4539         defined, set REPLACE_WCSRTOMBS.
4540
4541 2011-07-31  Bruno Haible  <bruno@clisp.org>
4542
4543         Add support for Minix with ACK compiler.
4544         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4545         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4546         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4547
4548 2011-07-31  Bruno Haible  <bruno@clisp.org>
4549
4550         Documentation about Minix.
4551         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4552         * doc/glibc-headers/*.texi: Likewise.
4553         * doc/posix-functions/*.texi: Likewise.
4554         * doc/glibc-functions/*.texi: Likewise.
4555
4556 2011-07-31  Bruno Haible  <bruno@clisp.org>
4557
4558         snippet/warn-on-use: Fix indentation.
4559         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4560
4561 2011-07-25  Jim Meyering  <meyering@redhat.com>
4562
4563         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4564         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4565         commands.
4566
4567 2011-07-27  Jim Meyering  <meyering@redhat.com>
4568
4569         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4570         * top/maint.mk (gl_extract_significant_defines_): Now that
4571         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4572         gnulib/lib/signal.in.h, and now that we recommend to
4573         define-if-undefined those two symbols in application code,
4574         we must filter them out of the "significant" list.
4575         This avoids a "make syntax-check" failure in coreutils.
4576
4577 2011-07-26  Eric Blake  <eblake@redhat.com>
4578
4579         warnings: add comments about previous patch
4580         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4581         * m4/include_next.m4: Likewise.
4582         * m4/warn-on-use.m4: Likewise.
4583         * m4/warnings.m4: Likewise, and simplify use.
4584         Suggested by Stefano Lattarini.
4585
4586         include-next, warnings: support older autoconf
4587         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4588         AS_VAR_PUSHDEF in a way that works with older autoconf.
4589         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4590         Reported by Daniel P. Berrange.
4591
4592 2011-07-25  Bruno Haible  <bruno@clisp.org>
4593
4594         fseek, ftell: Fix doc.
4595         * doc/posix-functions/fseek.texi: Reword statement about
4596         AC_SYS_LARGEFILE.
4597         * doc/posix-functions/ftell.texi: Likewise.
4598
4599 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4600             Bruno Haible  <bruno@clisp.org>
4601
4602         Add dependencies to the 'largefile' module.
4603         * modules/fopen (Depends-on): Add 'largefile'.
4604         * modules/freopen (Depends-on): Likewise.
4605         * modules/fseeko (Depends-on): Likewise.
4606         * modules/ftello (Depends-on): Likewise.
4607         * modules/glob (Depends-on): Likewise.
4608         * modules/lseek (Depends-on): Likewise.
4609         * modules/lstat (Depends-on): Likewise.
4610         * modules/mkostemp (Depends-on): Likewise.
4611         * modules/mkostemps (Depends-on): Likewise.
4612         * modules/mkstemp (Depends-on): Likewise.
4613         * modules/mkstemps (Depends-on): Likewise.
4614         * modules/open (Depends-on): Likewise.
4615         * modules/openat (Depends-on): Likewise.
4616         * modules/pread (Depends-on): Likewise.
4617         * modules/pwrite (Depends-on): Likewise.
4618         * modules/scandir (Depends-on): Likewise.
4619         * modules/stat (Depends-on): Likewise.
4620         * modules/tmpfile (Depends-on): Likewise.
4621         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4622         since the containing module now depends on the largefile module.
4623         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4624         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4625         off_t is fixed by gnulib.
4626         * doc/posix-functions/freopen.texi: Likewise.
4627         * doc/posix-functions/fseeko.texi: Likewise.
4628         * doc/posix-functions/fstatat.texi: Likewise.
4629         * doc/posix-functions/ftello.texi: Likewise.
4630         * doc/posix-functions/glob.texi: Likewise.
4631         * doc/posix-functions/lseek.texi: Likewise.
4632         * doc/posix-functions/lstat.texi: Likewise.
4633         * doc/posix-functions/mkstemp.texi: Likewise.
4634         * doc/posix-functions/open.texi: Likewise.
4635         * doc/posix-functions/openat.texi: Likewise.
4636         * doc/posix-functions/pread.texi: Likewise.
4637         * doc/posix-functions/pwrite.texi: Likewise.
4638         * doc/posix-functions/scandir.texi: Likewise.
4639         * doc/posix-functions/stat.texi: Likewise.
4640         * doc/posix-functions/tmpfile.texi: Likewise.
4641         * doc/glibc-functions/mkostemp.texi: Likewise.
4642         * doc/glibc-functions/mkostemps.texi: Likewise.
4643         * doc/glibc-functions/mkstemps.texi: Likewise.
4644
4645 2011-07-25  Bruno Haible  <bruno@clisp.org>
4646
4647         fcntl: Move AC_LIBOBJ invocation to module description.
4648         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4649         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4650
4651         fcntl: Remove call-in from fchdir.m4.
4652         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4653         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4654
4655         dup3: Remove potential call-in from fchdir.m4.
4656         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4657         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4658
4659         dup2: Move AC_LIBOBJ invocation to module description.
4660         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4661         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4662         Don't invoke AC_LIBOBJ.
4663         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4664
4665         dup2: Remove call-in from fchdir.m4.
4666         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4667         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4668
4669         fclose: Move AC_LIBOBJ invocation to module description.
4670         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4671         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4672         to 1.
4673         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4674
4675         fclose: Remove call-in from close.m4.
4676         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4677         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4678
4679         close: Move AC_LIBOBJ invocation to module description.
4680         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4681         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4682         1.
4683         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4684
4685         close: Remove call-in from fchdir.m4.
4686         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4687         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4688
4689         open: Move AC_LIBOBJ invocation to module description.
4690         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4691         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4692         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4693
4694         open: Remove call-in from fchdir.m4.
4695         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4697
4698         fchdir: Start to remove gl_REPLACE_* idiom.
4699         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4700         (gl_FUNC_FCHDIR): Invoke it.
4701
4702 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4703
4704         * lib/ftell.c (ftell): Comment out cast.
4705
4706         close: use gl_REPLACE_FCLOSE only if defined
4707         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4708         is defined.  The close module doesn't depend on the fclose module
4709         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4710         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4711         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4712
4713 2011-07-24  Jim Meyering  <meyering@redhat.com>
4714
4715         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4716         * tests/test-select.h (test_function): Declare as "static".
4717
4718 2011-07-24  Bruno Haible  <bruno@clisp.org>
4719
4720         doc: Mention the effects of AC_SYS_LARGEFILE.
4721         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4722         on this function.
4723         * doc/posix-functions/aio_error.texi: Likewise.
4724         * doc/posix-functions/aio_fsync.texi: Likewise.
4725         * doc/posix-functions/aio_read.texi: Likewise.
4726         * doc/posix-functions/aio_return.texi: Likewise.
4727         * doc/posix-functions/aio_suspend.texi: Likewise.
4728         * doc/posix-functions/aio_write.texi: Likewise.
4729         * doc/posix-functions/fgetpos.texi: Likewise.
4730         * doc/posix-functions/fopen.texi: Likewise.
4731         * doc/posix-functions/freopen.texi: Likewise.
4732         * doc/posix-functions/fsetpos.texi: Likewise.
4733         * doc/posix-functions/fstatvfs.texi: Likewise.
4734         * doc/posix-functions/ftruncate.texi: Likewise.
4735         * doc/posix-functions/ftw.texi: Likewise.
4736         * doc/posix-functions/getrlimit.texi: Likewise.
4737         * doc/posix-functions/glob.texi: Likewise.
4738         * doc/posix-functions/lio_listio.texi: Likewise.
4739         * doc/posix-functions/lockf.texi: Likewise.
4740         * doc/posix-functions/mkstemp.texi: Likewise.
4741         * doc/posix-functions/mmap.texi: Likewise.
4742         * doc/posix-functions/nftw.texi: Likewise.
4743         * doc/posix-functions/openat.texi: Likewise.
4744         * doc/posix-functions/opendir.texi: Likewise.
4745         * doc/posix-functions/posix_fadvise.texi: Likewise.
4746         * doc/posix-functions/posix_fallocate.texi: Likewise.
4747         * doc/posix-functions/pread.texi: Likewise.
4748         * doc/posix-functions/pwrite.texi: Likewise.
4749         * doc/posix-functions/readdir.texi: Likewise.
4750         * doc/posix-functions/readdir_r.texi: Likewise.
4751         * doc/posix-functions/rewinddir.texi: Likewise.
4752         * doc/posix-functions/scandir.texi: Likewise.
4753         * doc/posix-functions/seekdir.texi: Likewise.
4754         * doc/posix-functions/setrlimit.texi: Likewise.
4755         * doc/posix-functions/statvfs.texi: Likewise.
4756         * doc/posix-functions/telldir.texi: Likewise.
4757         * doc/posix-functions/tmpfile.texi: Likewise.
4758         * doc/posix-functions/truncate.texi: Likewise.
4759         * doc/glibc-functions/fallocate.texi: Likewise.
4760         * doc/glibc-functions/fstatfs.texi: Likewise.
4761         * doc/glibc-functions/fts_children.texi: Likewise.
4762         * doc/glibc-functions/fts_read.texi: Likewise.
4763         * doc/glibc-functions/getdirentries.texi: Likewise.
4764         * doc/glibc-functions/mkostemp.texi: Likewise.
4765         * doc/glibc-functions/mkostemps.texi: Likewise.
4766         * doc/glibc-functions/mkstemps.texi: Likewise.
4767         * doc/glibc-functions/preadv.texi: Likewise.
4768         * doc/glibc-functions/pwritev.texi: Likewise.
4769         * doc/glibc-functions/sendfile.texi: Likewise.
4770         * doc/glibc-functions/statfs.texi: Likewise.
4771
4772 2011-07-24  Bruno Haible  <bruno@clisp.org>
4773
4774         doc: Fix typo.
4775         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4776
4777 2011-07-24  Bruno Haible  <bruno@clisp.org>
4778
4779         doc: Mention fsusage.
4780         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4781
4782 2011-07-24  Bruno Haible  <bruno@clisp.org>
4783
4784         doc: Mention new glibc headers and functions.
4785         * doc/glibc-headers/gshadow.texi: New file.
4786         * doc/glibc-functions/endsgent.texi: New file.
4787         * doc/glibc-functions/fgetsgent.texi: New file.
4788         * doc/glibc-functions/fgetsgent_r.texi: New file.
4789         * doc/glibc-functions/getsgent.texi: New file.
4790         * doc/glibc-functions/getsgent_r.texi: New file.
4791         * doc/glibc-functions/getsgnam.texi: New file.
4792         * doc/glibc-functions/getsgnam_r.texi: New file.
4793         * doc/glibc-functions/putsgent.texi: New file.
4794         * doc/glibc-functions/setsgent.texi: New file.
4795         * doc/glibc-functions/sgetsgent.texi: New file.
4796         * doc/glibc-functions/sgetsgent_r.texi: New file.
4797         * doc/glibc-functions/malloc_info.texi: New file.
4798         * doc/glibc-functions/preadv.texi: New file.
4799         * doc/glibc-functions/pwritev.texi: New file.
4800         * doc/glibc-functions/register_printf_modifier.texi: New file.
4801         * doc/glibc-functions/register_printf_specifier.texi: New file.
4802         * doc/glibc-functions/register_printf_type.texi: New file.
4803         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4804         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4805         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4806         * doc/glibc-functions/pthread_getname_np.texi: New file.
4807         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4808         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4809         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4810         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4811         * doc/glibc-functions/pthread_setname_np.texi: New file.
4812         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4813         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4814         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4815         * doc/glibc-functions/qsort_r.texi: New file.
4816         * doc/glibc-functions/quick_exit.texi: New file.
4817         * doc/glibc-functions/syncfs.texi: New file.
4818         * doc/gnulib.texi: Include them.
4819         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4820         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4821         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4822         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4823         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4824         * doc/glibc-functions/execvpe.texi: Likewise.
4825
4826 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4827
4828         ftell: don't include <unistd.h>
4829         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4830         guaranteed to define off_t, and the ftell module depends on the
4831         stdio module.
4832
4833         ftell: do not assume wraparound signed arithmetic
4834         * lib/ftell.c: Include <limits.h>.
4835         (ftell): Don't assume wraparound signed arithmetic.
4836
4837 2011-07-24  Bruno Haible  <bruno@clisp.org>
4838
4839         close: No longer depend on module 'fclose'.
4840         * modules/close (Depends-on): Remove fclose.
4841         * NEWS: Mention the change.
4842         Suggested by Sam Steingold <sds@gnu.org>.
4843
4844 2011-07-24  Bruno Haible  <bruno@clisp.org>
4845
4846         fsusage: Enable large volume support on AIX >= 5.2.
4847         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4848         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4849         instead of STAT_STATVFS.
4850         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4851
4852         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4853         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4854         f_blocks field only on MacOS X.
4855
4856         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4857         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4858         * modules/fsusage (Depends-on): Add largefile.
4859
4860 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4861
4862         * README: Modernize discussion of signed integers.
4863         Assuming overflow wraparound is no longer safe.
4864         Mention ones' complement and signed magnitude.
4865
4866 2011-07-22  Bruno Haible  <bruno@clisp.org>
4867
4868         select tests, pselect tests: Refactor.
4869         * tests/test-select.h: New file, extracted from tests/test-select.c.
4870         (select_fn): New type.
4871         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4872         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4873         test_pipe): Add my_select argument.
4874         (test_function): Renamed from main. Add my_select argument.
4875         * tests/test-select.c: Move most code to tests/test-select.h. Include
4876         test-select.h.
4877         * modules/select-tests (Files): Add tests/test-select.h.
4878         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4879         (my_select, main): New functions.
4880         * modules/pselect-tests (Files): Add tests/test-select.h,
4881         tests/macros.h, tests/signature.h.
4882         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4883         (configure.ac): Check for <sys/wait.h>.
4884
4885 2011-07-22  Bruno Haible  <bruno@clisp.org>
4886
4887         sys_select tests: Check the signature of FD_*.
4888         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4889         signature tests from here...
4890         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4891         here.
4892         * modules/sys_select-tests (Files): Add tests/signature.h.
4893
4894 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4895
4896         largefile: new module, replacing large-inode
4897         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4898         * MODULES.html.sh: Add largefile, remove large-inode.
4899         * modules/largefile, m4/largefile.m4: New files.
4900         * modules/large-inode, m4/large-inode.m4: Remove.
4901
4902         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4903         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4904         implementations that use only 32 bits to count blocks.
4905         On typical hosts with 1024-byte blocks, this fails with file
4906         systems as small as 4 TiB.  Problem reported by Herb Wartens
4907         <http://debbugs.gnu.org/9140> and this should also fix a similar
4908         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4909
4910         large-inode: New module
4911         * MODULES.html.sh: Add it.
4912         * modules/large-inode, m4/large-inode.m4: New files.
4913
4914         extensions: Enable extensions on MacOS X 10.5 and later.
4915         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4916
4917 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4918
4919         file-has-acl: use acl_extended_file_nofollow if available
4920         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4921         (acl_extended_file): New macro.
4922         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4923         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4924
4925 2011-07-21  Bruno Haible  <bruno@clisp.org>
4926
4927         Declare system functions in a way that works with C++.
4928         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
4929         declare fdopendir as extern "C".
4930         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
4931         declare frexpl as extern "C".
4932         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
4933         declare gai_strerror as extern "C".
4934         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
4935         programs, declare gai_strerror as extern "C".
4936         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
4937         declare getlogin_r as extern "C".
4938         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
4939         as extern "C".
4940         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
4941         declare ldexpl as extern "C".
4942         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
4943         as extern "C".
4944         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
4945         program, declare getmntinfo as extern "C".
4946         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
4947         stpncpy as extern "C".
4948         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
4949         program, declare __xpg_strerror_r as extern "C".
4950         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
4951         strndup as extern "C".
4952         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
4953         declare memset and bzero as extern "C".
4954         Reported by Sam Steingold <sds@gnu.org>.
4955
4956 2011-07-12  Jim Meyering  <meyering@redhat.com>
4957
4958         maint.mk: prohibit inclusion of "verify.h" without use
4959         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
4960
4961 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4962
4963         timer-time: A new module to check for timer_settime()
4964         * m4/timer_time.m4: Check for the posix function.
4965         * modules/timer-time: Add the new module.
4966         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
4967         Mention it.
4968
4969 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
4970             Bruno Haible  <bruno@clisp.org>
4971
4972         pthread_sigmask: assume POSIX threads if --avoid=threadlib
4973         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
4974         not defined, assume POSIX threads and look for pthread_sigmask in
4975         $LIBS, without changing $CPPFLAGS.
4976
4977 2011-07-19  Bruno Haible  <bruno@clisp.org>
4978
4979         strstr: Update cross-compilation guess.
4980         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
4981         CPUs, guess no, in view of glibc
4982         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
4983         Suggested by Eric Blake. Reported by Reuben Thomas.
4984
4985 2011-07-19  Pádraig Brady  <P@draigBrady.com>
4986
4987         getopt-gnu: suppress core dumps from detection code
4988         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
4989         to suppress core dumps that may well occur on glibc systems.
4990         * modules/getopt-gnu: Depend on nocrash.
4991
4992 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4993
4994         pthread_sigmask: ensure usleep is declared
4995         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
4996         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
4997
4998 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4999
5000         doc: Document NonStop portability issues.
5001         * doc/posix-functions/sigaction.texi (sigaction):
5002         * doc/posix-headers/signal.texi (signal.h):
5003         Document NonStop.  See Joachim Schmitz in
5004         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5005
5006 2011-07-15  Bruno Haible  <bruno@clisp.org>
5007
5008         ffsl, ffsll: Avoid unportable behaviour.
5009         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5010
5011 2011-07-15  Bruno Haible  <bruno@clisp.org>
5012
5013         ffs: More tests.
5014         * tests/test-ffs.c (NBITS): New macro.
5015         (main): Add more tests.
5016         * tests/test-ffsl.c (NBITS): New macro.
5017         (main): Add more tests.
5018         * tests/test-ffsll.c (NBITS): New macro.
5019         (main): Add more tests.
5020
5021 2011-07-15  Eric Blake  <eblake@redhat.com>
5022
5023         ffsl, ffsll: new modules
5024         * modules/ffsl: New file.
5025         * modules/ffsll: Likewise.
5026         * m4/ffsl.m4: Likewise.
5027         * m4/ffsll.m4: Likewise.
5028         * lib/ffsl.c: Likewise.
5029         * lib/ffsl.h: Likewise.
5030         * lib/ffsll.c: Likewise.
5031         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5032         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5033         * modules/string (Makefile.am): Substitute witnesses.
5034         * lib/strings.in.h (ffsl, ffsll): Declare.
5035         * modules/ffsl-tests: New test file.
5036         * modules/ffsll-tests: Likewise.
5037         * tests/test-ffsl.c: Likewise.
5038         * tests/test-ffsll.c: Likewise.
5039         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5040         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5041         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5042
5043         ffs: fix m4 prerequisite
5044         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5045
5046         ffs: avoid undefined behavior
5047         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5048         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5049         Reported by Bruno Haible.
5050
5051 2011-07-12  Bruno Haible  <bruno@clisp.org>
5052
5053         pthread_sigmask: Rely on module 'threadlib'.
5054         * modules/pthread_sigmask (Depends-on): Add threadlib.
5055         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5056         is defined.
5057
5058 2011-07-12  Bruno Haible  <bruno@clisp.org>
5059
5060         regex: Depend on module 'strcase'.
5061         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5062
5063 2011-07-12  Jim Meyering  <meyering@redhat.com>
5064
5065         warn-on-use: fix typo in file name
5066         * modules/snippet/warn-on-use (Files): Correct file name:
5067         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5068
5069 2011-07-12  Bruno Haible  <bruno@clisp.org>
5070
5071         strings: Document module.
5072         * doc/posix-headers/strings.texi: Mention module 'strings'.
5073
5074 2011-07-12  Bruno Haible  <bruno@clisp.org>
5075
5076         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5077         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5078         (Files, Makefile.am): Update.
5079         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5080         * modules/stdlib (Depends-on): Update.
5081
5082 2011-07-12  Bruno Haible  <bruno@clisp.org>
5083
5084         * NEWS: Mention the changes.
5085
5086         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5087         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5088         (Files, Makefile.am): Update.
5089         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5090         * modules/arpa_inet (Depends-on): Update.
5091         * modules/ctype (Depends-on): Update.
5092         * modules/dirent (Depends-on): Update.
5093         * modules/fcntl-h (Depends-on): Update.
5094         * modules/glob (Depends-on): Update.
5095         * modules/iconv-h (Depends-on): Update.
5096         * modules/inttypes-incomplete (Depends-on): Update.
5097         * modules/langinfo (Depends-on): Update.
5098         * modules/locale (Depends-on): Update.
5099         * modules/math (Depends-on): Update.
5100         * modules/netdb (Depends-on): Update.
5101         * modules/poll-h (Depends-on): Update.
5102         * modules/pty (Depends-on): Update.
5103         * modules/search (Depends-on): Update.
5104         * modules/signal (Depends-on): Update.
5105         * modules/spawn (Depends-on): Update.
5106         * modules/stdio (Depends-on): Update.
5107         * modules/stdlib (Depends-on): Update.
5108         * modules/string (Depends-on): Update.
5109         * modules/strings (Depends-on): Update.
5110         * modules/sys_file (Depends-on): Update.
5111         * modules/sys_ioctl (Depends-on): Update.
5112         * modules/sys_select (Depends-on): Update.
5113         * modules/sys_socket (Depends-on): Update.
5114         * modules/sys_stat (Depends-on): Update.
5115         * modules/sys_time (Depends-on): Update.
5116         * modules/sys_times (Depends-on): Update.
5117         * modules/sys_utsname (Depends-on): Update.
5118         * modules/sys_wait (Depends-on): Update.
5119         * modules/termios (Depends-on): Update.
5120         * modules/time (Depends-on): Update.
5121         * modules/unistd (Depends-on): Update.
5122         * modules/wchar (Depends-on): Update.
5123         * modules/wctype-h (Depends-on): Update.
5124         * MODULES.html.sh (Support for building libraries and executables):
5125         Update.
5126
5127         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5128         * modules/snippet/unused-parameter: Renamed from
5129         modules/unused-parameter.
5130         (Files, Makefile.am): Update.
5131         * build-aux/snippet/unused-parameter.h: Renamed from
5132         build-aux/unused-parameter.h.
5133         * modules/selinux-h (Depends-on): Update.
5134         * modules/unistr/base (Depends-on): Update.
5135         * MODULES.html.sh (Core language properties): Update.
5136
5137         Rename module 'link-warning' to 'snippet/link-warning'.
5138         * modules/snippet/link-warning: Renamed from modules/link-warning.
5139         (Files, Makefile.am): Update.
5140         * build-aux/snippet/link-warning.h: Renamed from
5141         build-aux/link-warning.h.
5142         * MODULES.html.sh (Support for building libraries and executables):
5143         Update.
5144
5145         Rename module 'c++defs' to 'snippet/c++defs'.
5146         * modules/snippet/c++defs: Renamed from modules/c++defs.
5147         (Files, Makefile.am): Update.
5148         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5149         * modules/arpa_inet (Depends-on): Update.
5150         * modules/ctype (Depends-on): Update.
5151         * modules/dirent (Depends-on): Update.
5152         * modules/fcntl-h (Depends-on): Update.
5153         * modules/glob (Depends-on): Update.
5154         * modules/iconv-h (Depends-on): Update.
5155         * modules/langinfo (Depends-on): Update.
5156         * modules/locale (Depends-on): Update.
5157         * modules/math (Depends-on): Update.
5158         * modules/netdb (Depends-on): Update.
5159         * modules/poll-h (Depends-on): Update.
5160         * modules/pty (Depends-on): Update.
5161         * modules/search (Depends-on): Update.
5162         * modules/signal (Depends-on): Update.
5163         * modules/spawn (Depends-on): Update.
5164         * modules/stdio (Depends-on): Update.
5165         * modules/stdlib (Depends-on): Update.
5166         * modules/string (Depends-on): Update.
5167         * modules/strings (Depends-on): Update.
5168         * modules/sys_ioctl (Depends-on): Update.
5169         * modules/sys_select (Depends-on): Update.
5170         * modules/sys_socket (Depends-on): Update.
5171         * modules/sys_stat (Depends-on): Update.
5172         * modules/sys_time (Depends-on): Update.
5173         * modules/sys_wait (Depends-on): Update.
5174         * modules/termios (Depends-on): Update.
5175         * modules/time (Depends-on): Update.
5176         * modules/unistd (Depends-on): Update.
5177         * modules/wchar (Depends-on): Update.
5178         * modules/wctype-h (Depends-on): Update.
5179
5180         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5181         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5182         (Files, Makefile.am): Update.
5183         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5184         * modules/argv-iter (Depends-on): Update.
5185         * modules/arpa_inet (Depends-on): Update.
5186         * modules/dirent (Depends-on): Update.
5187         * modules/fcntl-h (Depends-on): Update.
5188         * modules/fnmatch (Depends-on): Update.
5189         * modules/getopt-posix (Depends-on): Update.
5190         * modules/glob (Depends-on): Update.
5191         * modules/iconv-h (Depends-on): Update.
5192         * modules/inttypes-incomplete (Depends-on): Update.
5193         * modules/locale (Depends-on): Update.
5194         * modules/math (Depends-on): Update.
5195         * modules/netdb (Depends-on): Update.
5196         * modules/search (Depends-on): Update.
5197         * modules/signal (Depends-on): Update.
5198         * modules/spawn (Depends-on): Update.
5199         * modules/stdio (Depends-on): Update.
5200         * modules/stdlib (Depends-on): Update.
5201         * modules/string (Depends-on): Update.
5202         * modules/strings (Depends-on): Update.
5203         * modules/sys_socket (Depends-on): Update.
5204         * modules/sys_stat (Depends-on): Update.
5205         * modules/sys_time (Depends-on): Update.
5206         * modules/sys_times (Depends-on): Update.
5207         * modules/sys_utsname (Depends-on): Update.
5208         * modules/time (Depends-on): Update.
5209         * modules/unistd (Depends-on): Update.
5210         * modules/wchar (Depends-on): Update.
5211         * MODULES.html.sh (Support for building libraries and executables):
5212         Update.
5213
5214 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5215
5216         Improvements on _Noreturn and related modules.
5217
5218         modules/_Exit-tests: test _Noreturn too
5219         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5220         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5221         (main): Use them.
5222
5223         stdnoreturn, stdnoreturn-tests: remove modules
5224         They're not needed here and a bit premature for use elsewhere.  See
5225         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5226         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5227         * tests/test-stdnoreturn.c: Remove files.
5228         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5229         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5230         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5231         and using noreturn.
5232         * modules/openat, modules/sigpipe-die, modules/xalloc:
5233         * modules/xmemdup0, modules/xstrtol:
5234         Remove dependency on stdnoreturn.
5235
5236         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5237         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5238         Reparenthesize to avoid GCC warning.
5239         Support Microsoft's syntax.
5240         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5241
5242         _Noreturn-tests: remove module
5243         * modules/_Noreturn-tests: Remove.
5244         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5245         * tests/test-_Noreturn.c: Remove.
5246         * tests/test-stdnoreturn.c: Merge from the old
5247         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5248
5249 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5250
5251         _Noreturn, stdnoreturn, and related modules.
5252
5253         * top/maint.mk: Adjust to new noreturn support.
5254         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5255         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5256
5257         xalloc: use stdnoreturn.h
5258         * lib/xalloc.h: Include <stdnoreturn.h>.
5259         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5260         * modules/xalloc (Depends-on): Add stdnoreturn.
5261
5262         xstrtol: use stdnoreturn.h
5263         * lib/xstrtol.h: Include <stdnoreturn.h>.
5264         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5265         * modules/xstrtol (Depends-on): Add stdnoreturn.
5266
5267         xmemdup0: use stdnoreturn.h
5268         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5269         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5270         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5271
5272         sigpipe-die: use stdnoreturn.h
5273         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5274         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5275         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5276
5277         openat: use stdnoreturn.h
5278         * lib/openat.h: Include <stdnoreturn.h>.
5279         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5280         * modules/openat (Depends-on): Add stdnoreturn.
5281
5282         * lib/openat-die.c (openat_save_fail): Modernize comment.
5283
5284         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5285
5286         * lib/glthread/thread.h: Modernize comment.
5287
5288         obstack: use _Noreturn
5289         * lib/obstack.c (__attribute__): Remove macro.
5290         (print_and_abort): Use _Noreturn.
5291
5292         c-stack: use _Noreturn
5293         * lib/c-stack.c (die, overflow_handler, segv_handler):
5294         Use _Noreturn rather than __attribute__((noreturn)).
5295
5296         argmatch-tests, exclude_tests: use _Noreturn
5297         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5298         Remove.
5299         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5300
5301         stdlib: use _Noreturn
5302         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5303         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5304         * modules/stdlib (Depends-on): Add _Noreturn.
5305         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5306
5307         stdnoreturn-tests: new module
5308         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5309
5310         stdnoreturn: new module
5311         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5312         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5313
5314         _Noreturn-tests: new module
5315         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5316
5317         _Noreturn: new module
5318         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5319         New section, mentioning it.
5320         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5321
5322         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5323
5324 2011-07-11  Eric Blake  <eblake@redhat.com>
5325
5326         ffs: new module
5327         * modules/ffs: New file.
5328         * m4/ffs.m4: Likewise.
5329         * lib/ffs.c: Likewise.
5330         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5331         * modules/strings (Makefile.am): Substitute witness.
5332         (Depends-on): Add c++defs.
5333         * lib/strings.in.h (ffs): Declare.
5334         * modules/ffs-tests: New test file.
5335         * tests/test-ffs.c: Test new module.
5336         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5337         * doc/posix-functions/ffs.texi (ffs): Likewise.
5338
5339         regex: avoid compiler warning
5340         * lib/regex.c (includes): Include <strings.h>, for use of
5341         strcasecmp in regcomp.c.
5342         Reported by Joachim Schmitz.
5343
5344 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5345
5346         stdint: respect system's intmax_t if INTMAX_MAX
5347         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5348         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5349         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5350         long but int64_t is long long, and where we will clash with the
5351         system intmax_t if we override it.  See
5352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5353         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5354         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5355         similarly for UINTMAX_C.
5356
5357 2011-07-08  Bruno Haible  <bruno@clisp.org>
5358
5359         pthread_sigmask tests: Avoid a compiler warning.
5360         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5361         non-zero.
5362
5363         sigprocmask tests: A better way to avoid a compiler warning.
5364         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5365         (main): Complain if system() returns non-zero.
5366         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5367
5368 2011-07-08  Bruno Haible  <bruno@clisp.org>
5369
5370         pthread_sigmask: Work around IRIX bug.
5371         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5372         bug.
5373         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5374         there may be unblocked pending signals.
5375         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5376
5377 2011-07-08  Bruno Haible  <bruno@clisp.org>
5378
5379         pthread_sigmask: Work around Cygwin bug.
5380         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5381         bug.
5382         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5383         the system's pthread_sigmask function.
5384         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5385
5386 2011-07-08  Bruno Haible  <bruno@clisp.org>
5387
5388         pthread_sigmask: Work around bug in single-threaded implementation.
5389         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5390         FreeBSD, HP-UX, Solaris bug.
5391         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5392         * lib/pthread_sigmask.c: Include <stddef.h>.
5393         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5394         the system's pthread_sigmask function.
5395         * modules/pthread_sigmask (configure.ac): Invoke
5396         gl_PREREQ_PTHREAD_SIGMASK.
5397         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5398         HP-UX, Solaris.
5399
5400 2011-07-08  Eric Blake  <eblake@redhat.com>
5401
5402         test-sigprocmask: avoid compiler warning
5403         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5404         * tests/test-sigprocmask.c (main): Use it to silence warning.
5405         Reported by Jim Meyering.
5406
5407         test-snprintf: avoid compiler warning
5408         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5409         * tests/test-vsnprintf.c (main): Likewise.
5410         Reported by Jim Meyering.
5411
5412 2011-07-08  Bruno Haible  <bruno@clisp.org>
5413
5414         Tests for module 'pthread_sigmask'.
5415         * modules/pthread_sigmask-tests: New file.
5416         * tests/test-pthread_sigmask1.c: New file, based on
5417         tests/test-sigprocmask.c.
5418         * tests/test-pthread_sigmask2.c: New file.
5419
5420 2011-07-08  Jim Meyering  <meyering@redhat.com>
5421
5422         test-getopt.h: avoid warning about an unused variable
5423         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5424
5425 2011-07-07  Jim Meyering  <meyering@redhat.com>
5426
5427         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5428         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5429         now that it no longer contains leading TABs.
5430         Remove unused "url=FIXME" statement.
5431
5432 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5433
5434         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5435         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5436         When gl_THREADLIB is not in use, assume that the POSIX sematics
5437         are desired.  This is better for Emacs, which uses POSIX semantics
5438         on GNUish and/or POSIXish platforms, and does not use threads at
5439         all otherwise.
5440
5441         pthread_sigmask: fix typo when testing for libraries
5442         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5443         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5444
5445 2011-07-08  Eric Blake  <eblake@redhat.com>
5446
5447         fts: introduce FTS_NOATIME
5448         * lib/fts_.h (FTS_NOATIME): New bit flag.
5449         (FTS_OPTIONMASK): Adjust.
5450         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5451         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5452
5453 2011-07-08  Bruno Haible  <bruno@clisp.org>
5454
5455         Tests for module 'thread'.
5456         * modules/thread-tests: New file.
5457         * tests/test-thread_self.c: New file.
5458         * tests/test-thread_create.cc: New file.
5459
5460 2011-07-08  Bruno Haible  <bruno@clisp.org>
5461
5462         thread: Avoid gcc warnings when using gl_thread_self().
5463         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5464         'void *'.
5465         (gl_thread_self_pointer): Update.
5466
5467 2011-07-07  Bruno Haible  <bruno@clisp.org>
5468
5469         signal-c++-tests: Check declaration of pthread_sigmask.
5470         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5471         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5472         $(LIB_PTHREAD_SIGMASK).
5473
5474 2011-07-07  Bruno Haible  <bruno@clisp.org>
5475
5476         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5477         * lib/signal.in.h (pthread_sigmask): Override if
5478         REPLACE_PTHREAD_SIGMASK is 1.
5479         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5480         REPLACE_PTHREAD_SIGMASK.
5481         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5482         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5483         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5484         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5485         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5486
5487 2011-07-07  Bruno Haible  <bruno@clisp.org>
5488
5489         pthread_sigmask: Ensure declaration in <signal.h>.
5490         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5491         include <pthread.h>.
5492         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5493         problem.
5494
5495 2011-07-07  Bruno Haible  <bruno@clisp.org>
5496
5497         pthread_sigmask: Document the module.
5498         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5499
5500 2011-07-07  Bruno Haible  <bruno@clisp.org>
5501
5502         pthread_sigmask: Follow gnulib conventions.
5503         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5504         gl_PTHREAD_SIGMASK.
5505         * modules/pthread_sigmask (configure.ac): Update.
5506
5507 2011-07-07  Bruno Haible  <bruno@clisp.org>
5508
5509         pthread_sigmask: Make declaration C++ safe.
5510         * lib/signal.in.h: In two special conditions, just do an #include_next.
5511         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5512         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5513         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5514         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5515         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5516         not REPLACE_PTHREAD_MASK.
5517         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5518         not REPLACE_PTHREAD_MASK.
5519         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5520
5521 2011-07-07  Bruno Haible  <bruno@clisp.org>
5522
5523         pthread_sigmask: Fix return value.
5524         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5525         * lib/pthread_sigmask.c: New file.
5526         * modules/pthread_sigmask (Files): Add it.
5527         (configure.ac): Invoke AC_LIBOBJ.
5528
5529 2011-07-07  Eric Blake  <eblake@redhat.com>
5530
5531         getopt: more portable argv creation
5532         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5533         const, use char arrays rather than strings.
5534         Suggested by Paul Eggert.
5535
5536 2011-07-07  Bruno Haible  <bruno@clisp.org>
5537
5538         Tests for module 'sigprocmask'.
5539         * modules/sigprocmask-tests: New file.
5540         * tests/test-sigprocmask.c: New file.
5541
5542 2011-07-07  Bruno Haible  <bruno@clisp.org>
5543
5544         float tests: Tweak.
5545         * tests/test-float.c (main): Tweak skip message.
5546
5547 2011-07-07  Eric Blake  <eblake@redhat.com>
5548
5549         getopt: avoid compiler warning during configure
5550         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5551         assigning string literals to non-const pointer.
5552
5553         getopt-gnu: avoid crash in glibc getopt
5554         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5555         * tests/test-getopt.h (test_getopt): Enhance test.
5556         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5557         * doc/posix-functions/getopt.texi (getopt): Document it.
5558         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5559         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5560         Likewise.
5561
5562 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5563
5564         getopt: handle W; without long options in getopt [BZ #12922]
5565         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5566         but no long options are defined, just return 'W'.
5567
5568 2011-07-07  Bruno Haible  <bruno@clisp.org>
5569
5570         Avoid literal tabs.
5571         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5572         variable containing a tab instead of a literal tab.
5573         Reported by Jim Meyering.
5574
5575 2011-07-07  Bruno Haible  <bruno@clisp.org>
5576
5577         Comments.
5578         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5579
5580 2011-07-06  Bruno Haible  <bruno@clisp.org>
5581
5582         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5583         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5584         <winsock2.h>.
5585         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5586         lib/sys_socket.in.h.
5587         (close, gethostname): Hide declarations from <winsock2.h>.
5588         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5589         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5590         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5591         (select): Don't override if gnulib's <sys/select.h> was already
5592         included.
5593         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5594         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5595         setsockopt, shutdown, select): Tweak indentation.
5596
5597 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5598
5599         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5600         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5601         in an application that does not use the sys_select module.
5602
5603 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5604
5605         poll: do not return 0 on timeout=-1
5606         * lib/poll.c: Loop with yield if no events occured
5607
5608 2011-07-06  Eric Blake  <eblake@redhat.com>
5609
5610         pthread_sigmask: always replace when not using pthread
5611         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5612         replacement when using some threading other than pthread.  Fix
5613         logic bug.
5614
5615 2011-07-06  Bruno Haible  <bruno@clisp.org>
5616
5617         Comments.
5618         * m4/printf.m4: Update comments about mingw.
5619
5620 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5621
5622         sys_select: define sigset_t more portably
5623         * lib/sys_select.in.h: Always include <sys/types.h>, since
5624         we now need sigset_t and mingw defines it there.
5625         Include <signal.h> before split inclusion guard, to avoid
5626         mishaps on Solaris, whose <signal.h> eventually includes us.
5627         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5628         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5629         which come from ...
5630         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5631         gl_CHECK_TYPE_SIGSET_T.
5632         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5633         does the real work.
5634         * modules/sys_select (Depends-on): Add 'signal'.
5635
5636         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5637         Suggested by Bruno Haible.
5638
5639         pselect: Use pthread_sigmask, not sigprocmask.
5640         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5641         multithreaded apps better than sigprocmask does.
5642         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5643         sigprocmask directly.
5644
5645 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5646
5647         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5648         Don't #undef,  since we don't need any underlying pselect.
5649         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5650         (Depends-on): Add select.
5651         (Link): Add $(LIBSOCKET).
5652         These changes suggested by Bruno Haible.
5653
5654         pselect: document better
5655         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5656         * doc/posix-functions/pselect.texi (pselect): Document new module.
5657
5658         pthread_sigmask: new module
5659         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5660         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5661         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5662         This is done only as a macro; I don't know how well that'll
5663         work for C++.  Move <sys/types.h> include before the include_next,
5664         to avoid mishap on Solaris.
5665         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5666         * modules/signal (Makefile.am): Substitute the check's results.
5667         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5668
5669         test-pselect: new module
5670         * modules/pselect-tests, tests/test-pselect.c: New files.
5671         * tests/test-select.c, tests/test-sys_select-c++.cc:
5672         If TEST_PSELECT is defined, test pselect instead of testing select.
5673
5674         * tests/test-sys_select.c (sigset_t): Test for it, too.
5675         Suggested by Bruno Haible.
5676
5677 2011-07-05  Eric Blake  <eblake@redhat.com>
5678
5679         snprintf: guarantee %1$d, for libintl
5680         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5681         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5682         * doc/posix-functions/snprintf.texi (snprintf): Update.
5683         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5684         * tests/test-snprintf.c (main): Enhance test.
5685         * tests/test-vsnprintf.c (main): Likewise.
5686
5687 2011-07-05  Jim Meyering  <meyering@redhat.com>
5688
5689         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5690         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5691         per Bruno's request, to accommodate this idiom (no space after "#")
5692         even when the function is inside an #if block:
5693         char *
5694         gets (char *s)
5695         #undef gets
5696         {
5697           ...
5698         }
5699
5700 2011-07-04  Jim Meyering  <meyering@redhat.com>
5701
5702         maint: indent with spaces, not TABs, and add a rule to check this
5703         * tests/test-userspec.c: Indent with spaces, not TABs.
5704         * tests/test-argp.c: Likewise.
5705         * tests/test-c-stack2.sh: Likewise.
5706         * tests/test-parse-duration.sh: Likewise
5707         * m4/strtod.m4: Likewise.
5708         * m4/alloca.m4: Likewise.
5709         * m4/pselect.m4: Likewise.
5710         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5711
5712 2011-07-03  Jim Meyering  <meyering@redhat.com>
5713
5714         maint.mk: correct omissions in prohibit_argmatch_without_use check
5715         This rule would mistakenly report that argmatch.h is included without
5716         use even when both the argmatch and invalid_arg macro were used.
5717         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5718         of argmatch and invalid_arg.
5719
5720 2011-07-03  Bruno Haible  <bruno@clisp.org>
5721
5722         Comments about EINTR.
5723         * lib/safe-read.h: Explain the purpose of this module.
5724         * lib/safe-write.h: Likewise.
5725         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5726         module.
5727         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5728         module.
5729         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5730
5731 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5732
5733         xnanosleep: Rewrite to use new dtotimespec module.
5734         It has the conversion code that used to be in xnanosleep.
5735         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5736         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5737         (TIME_T_MAX): Remove.
5738         (xnanosleep): Rewrite in terms of dtotimespec.
5739         * modules/xnanosleep (Depends-on): Add dtotimespec.
5740         Remove intprops, stdbool.
5741
5742         timespec-add, timespec-sub: new modules
5743         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5744         * lib/timespec-add.c, lib/timespec-sub.c:
5745         * modules/timespec-add, modules/timespec-sub: New files.
5746
5747         dtotimespec: new module
5748         * lib/timespec.h (dtotimespec): New decl.
5749         * lib/dtotimespec.c, modules/dtotimespec: New files.
5750
5751         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5752
5753         pselect: new module
5754         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5755         (pselect): New decls.
5756         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5757         since the standard pselect decl uses 'restrict'.
5758         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5759         HAVE_PSELECT, REPLACE_PSELECT.
5760         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5761         HAVE_PSELECT, REPLACE_PSELECT.
5762         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5763
5764         sys_select: don't depend on sys_socket
5765         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5766         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5767         This fix works on GNU and GNU-like platforms, but has not been tested
5768         on native Windows.
5769         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5770         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5771         gl_HEADER_SYS_SOCKET.
5772         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5773         gl_PREREQ_SYS_H_WINSOCK2.
5774
5775 2011-06-29  Eric Blake  <eblake@redhat.com>
5776
5777         pipe2: fix C89 compile problem
5778         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5779         Reported by Bruno Haible.
5780
5781         pipe, pipe2: don't corrupt fd on error
5782         * lib/pipe.c (pipe): Leave fd unchanged on error.
5783         * lib/pipe2.c (pipe2): Likewise.
5784         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5785         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5786
5787 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5788
5789         mmap-anon: do not use regular expressions inadvertently
5790         * m4/mmap-anon.m4: Remove trailing period from strings sought
5791         in the output.
5792
5793 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5794
5795         nanosleep: fix integer overflow problem
5796         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5797         arithmetic wraps around on overflow.
5798
5799         nanosleep: simplify carrying
5800         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5801         first call to the underyling nanosleep, not for the last one.
5802         This doesn't fix any bugs, but it simplifies the computation of
5803         the remaining delay.  Found while auditing integer overflow issues.
5804
5805         dup2: remove test for existence of fcntl
5806         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5807         "#if HAVE_FCNTL", in the configure-time test program.
5808         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5809         and therefore speeds up "configure" a bit.  Found while
5810         adding the dup2 module to Emacs.
5811
5812 2011-06-24  Eric Blake  <eblake@redhat.com>
5813
5814         maint.mk: enhance useless header checks
5815         * top/maint.mk (_sc_header_without_use): Check both include
5816         styles.
5817         (sc_prohibit_assert_without_use)
5818         (sc_prohibit_close_stream_without_use)
5819         (sc_prohibit_getopt_without_use)
5820         (sc_prohibit_quotearg_without_use)
5821         (sc_prohibit_quote_without_use)
5822         (sc_prohibit_long_options_without_use)
5823         (sc_prohibit_inttostr_without_use)
5824         (sc_prohibit_ignore_value_without_use)
5825         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5826         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5827         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5828         (sc_prohibit_hash_pjw_without_use)
5829         (sc_prohibit_safe_read_without_use)
5830         (sc_prohibit_argmatch_without_use)
5831         (sc_prohibit_canonicalize_without_use)
5832         (sc_prohibit_root_dev_ino_without_use)
5833         (sc_prohibit_openat_without_use)
5834         (sc_prohibit_c_ctype_without_use)
5835         (sc_prohibit_signal_without_use)
5836         (sc_prohibit_stdio--_without_use)
5837         (sc_prohibit_stdio-safer_without_use)
5838         (sc_prohibit_strings_without_use)
5839         (sc_prohibit_intprops_without_use)
5840         (sc_prohibit_stddef_without_use)
5841         (sc_prohibit_xfreopen_without_use): Update clients.
5842
5843 2011-06-24  Jim Meyering  <meyering@redhat.com>
5844
5845         syntax-check: keep one maint.mk rule in sync with its header
5846         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5847         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5848         I prefer to avoid temporary files here, so use <(...), but that
5849         is not supported by /bin/sh, so...
5850         (SHELL): Define to /bin/bash.
5851
5852 2011-06-24  Eric Blake  <eblake@redhat.com>
5853
5854         maint.mk: update sc_prohibit_intprops_without_use
5855         * top/maint.mk (_intprops_names): Match recent changes.
5856
5857 2011-06-24  Bruno Haible  <bruno@clisp.org>
5858
5859         strerror-override: No-op tweak.
5860         * lib/strerror-override.h (strerror_override): Reorder conditions,
5861         for consistency with lib/strerror-override.c.
5862
5863 2011-06-23  Eric Blake  <eblake@redhat.com>
5864
5865         maint.mk: test further PATH_MAX issues
5866         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5867         (sc_prohibit_path_max_allocation): ...and also test alloca.
5868         Suggested by Jim Meyering.
5869
5870 2011-06-22  Eric Blake  <eblake@redhat.com>
5871
5872         maint.mk: add syntax-check to avoid char[PATH_MAX]
5873         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5874
5875         stat: be robust to PATH_MAX definition
5876         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5877         * modules/stat (Depends-on): Add verify.
5878
5879         link: work around IRIX bug
5880         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5881         * lib/link.c (rpl_link): Work around it.
5882         * tests/test-link.h (test_link): Enhance test.
5883         * doc/posix-functions/link.texi (link): Document the bug.
5884
5885         getopt: silence clang warning
5886         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5887         dereference.
5888         Reported by Gustavo Martin Domato.
5889
5890 2011-06-22  Jim Meyering  <meyering@redhat.com>
5891
5892         bootstrap: do not insert a blank line into each .gitignore file
5893         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5894
5895 2011-06-21  Eric Blake  <eblake@redhat.com>
5896
5897         perror: test for output mismatch
5898         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5899         perror on IRIX.
5900
5901         strerror_r: fix OpenBSD behavior on out-of-range
5902         * lib/strerror_r.c (strerror_r): Always use maximal string.
5903         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5904
5905         strerror_r: fix OpenBSD behavior on 0
5906         * lib/strerror-override.c (strerror_override): Also override 0
5907         when needed.
5908         * lib/strerror-override.h (strerror_override): Likewise.
5909         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5910         earlier.
5911         * lib/strerror_r.c (strerror_r): Likewise.
5912         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5913         behavior...
5914         (gl_FUNC_STRERROR_0): ...into new macro.
5915         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5916         is overridden.
5917         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5918         * modules/strerror-override (Files): Add strerror.m4.
5919         (configure.ac): Also provide override for 0 when needed.
5920         * doc/posix-functions/strerror.texi (strerror): Document this.
5921         * doc/posix-functions/perror.texi (perror): Likewise.
5922
5923         perror: adjust array size
5924         * modules/perror (Depends-on): Add strerror-override.
5925         * lib/perror.c (perror): Use it to avoid magic number.
5926
5927         strerror-override: reduce size
5928         * lib/strerror-override.c (strerror_override): Use fewer lines.
5929
5930 2011-06-20  Bruno Haible  <bruno@clisp.org>
5931
5932         pathmax: Ensure correct value for PATH_MAX on HP-UX.
5933         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
5934
5935 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5936
5937         alloca: port to compilers that can optimize like GCC 4.6.0
5938         * lib/alloca.c (find_stack_direction): New signature, taken from
5939         Autoconf git.  This works with GCC 4.6.0.  This code should never
5940         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
5941         be used with other compilers that optimize as well as GCC 4.6.0 does.
5942         (alloca): Adjust to new signature.
5943         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
5944         New macro, which patches Autoconf in a similar way.
5945
5946         c-stack: stop worrying about stack direction
5947         * lib/c-stack.c (find_stack_direction): Remove.
5948         (segv_handler): Don't worry about stack direction growth, as it's
5949         too much of a pain to configure this correctly, given how compilers
5950         are optimizing-away our stack-growth detection code.  Instead, assume
5951         that any access to just before or just after the stack is OK.
5952         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5953         Don't require AC_FUNC_ALLOCA; no longer needed.
5954
5955 2011-06-20  Eric Blake  <eblake@redhat.com>
5956
5957         test-stat: don't allocate PATH_MAX bytes
5958         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
5959         PATH_MAX-sized buffer.
5960         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
5961         * modules/stat-tests (Depends-on): Likewise.
5962         * tests/test-fstatat.c (includes): Drop pathmax.h.
5963         * tests/test-stat.c (includes): Likewise.
5964         Reported by Bruno Haible.
5965
5966 2011-06-20  Bruno Haible  <bruno@clisp.org>
5967
5968         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
5969         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
5970         * lib/float.c: New file.
5971         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
5972         REPLACE_FLOAT_LDBL.
5973         * modules/float (Files): Add lib/float.c.
5974         (configure.ac): Invoke AC_LIBOBJ.
5975         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
5976
5977 2011-06-20  Bruno Haible  <bruno@clisp.org>
5978
5979         Tests for module 'float'.
5980         * modules/float-tests: New file.
5981         * tests/test-float.c: New file.
5982
5983 2011-06-19  Bruno Haible  <bruno@clisp.org>
5984
5985         isinf: Coding style.
5986         * lib/isinf.c: Use GNU coding style.
5987
5988 2011-06-19  Bruno Haible  <bruno@clisp.org>
5989
5990         linkat test: Avoid test failure on AIX 7.1.
5991         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
5992         * tests/test-link.h (test_link): Likewise.
5993
5994 2011-06-19  Bruno Haible  <bruno@clisp.org>
5995
5996         pread test: Avoid test failure on OpenBSD 4.9.
5997         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
5998
5999 2011-06-19  Bruno Haible  <bruno@clisp.org>
6000
6001         sprintf-posix: Fix test failure on AIX 7.1.
6002         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6003         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6004         on AIX.
6005         * doc/posix-functions/fprintf.texi: Likewise.
6006         * doc/posix-functions/printf.texi: Likewise.
6007         * doc/posix-functions/snprintf.texi: Likewise.
6008         * doc/posix-functions/sprintf.texi: Likewise.
6009         * doc/posix-functions/vdprintf.texi: Likewise.
6010         * doc/posix-functions/vfprintf.texi: Likewise.
6011         * doc/posix-functions/vprintf.texi: Likewise.
6012         * doc/posix-functions/vsnprintf.texi: Likewise.
6013         * doc/posix-functions/vsprintf.texi: Likewise.
6014
6015 2011-06-19  Bruno Haible  <bruno@clisp.org>
6016
6017         roundl-ieee: Fix test failure on AIX 7.1.
6018         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6019         * doc/posix-functions/roundl.texi: Mention problem with negative
6020         arguments.
6021
6022 2011-06-19  Bruno Haible  <bruno@clisp.org>
6023
6024         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6025         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6026         * doc/posix-functions/round.texi: Mention problem with negative
6027         arguments.
6028         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6029
6030 2011-06-19  Bruno Haible  <bruno@clisp.org>
6031
6032         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6033         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6034         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6035         * doc/posix-functions/roundf.texi: Mention problem with negative
6036         arguments.
6037         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6038
6039 2011-06-19  Bruno Haible  <bruno@clisp.org>
6040
6041         ceilf-ieee: Work around bug on MacOS X 10.5.
6042         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6043
6044         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6045         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6046         IEEE compliant, avoid compiler optimizations.
6047         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6048         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6049         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6050         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6051         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6052         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6053         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6054         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6055         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6056         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6057
6058 2011-06-19  Bruno Haible  <bruno@clisp.org>
6059
6060         ceilf-ieee: Work around bug on AIX 7.1.
6061         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6062         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6063
6064 2011-06-19  Bruno Haible  <bruno@clisp.org>
6065
6066         ceil-ieee: Work around bug on AIX 7.1.
6067         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6068         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6069
6070 2011-06-18  Bruno Haible  <bruno@clisp.org>
6071
6072         fsync test: Avoid test failure on MacOS X and AIX.
6073         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6074         EINVAL.
6075
6076 2011-06-18  Bruno Haible  <bruno@clisp.org>
6077
6078         openat, fdopendir tests: Fix link errors.
6079         * modules/openat-tests (Depends-on): Add progname.
6080         * modules/fdopendir-tests (Depends-on): Likewise.
6081         * tests/test-fchownat.c: Include progname.h.
6082         (main): Call set_program_name.
6083         * tests/test-fstatat.c: Include progname.h.
6084         (main): Call set_program_name.
6085         * tests/test-mkdirat.c: Include progname.h.
6086         (main): Call set_program_name.
6087         * tests/test-openat.c: Include progname.h.
6088         (main): Call set_program_name.
6089         * tests/test-unlinkat.c: Include progname.h.
6090         (main): Call set_program_name.
6091         * tests/test-fdopendir.c: Include progname.h.
6092         (main): Call set_program_name.
6093
6094 2011-06-18  Bruno Haible  <bruno@clisp.org>
6095
6096         Doc update.
6097         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6098         HP-UX.
6099         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6100
6101 2011-06-18  Bruno Haible  <bruno@clisp.org>
6102
6103         getcwd tests: Avoid compilation error on HP-UX 11.31.
6104         * modules/getcwd-tests (Depends-on): Add pathmax.
6105         * tests/test-getcwd.c: Include pathmax.h.
6106
6107 2011-06-18  Bruno Haible  <bruno@clisp.org>
6108
6109         isfinite, isinf: Fix link error on AIX 6 and 7.
6110         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6111         needed, also test the macro with a 'float' argument.
6112         * m4/isinf.m4 (gl_ISINF): Likewise.
6113
6114 2011-06-18  Bruno Haible  <bruno@clisp.org>
6115
6116         getloadavg: Don't clobber LIBS. Regression from previous commit.
6117         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6118         AC_CHECK_LIB from here...
6119         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6120         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6121         gl_func_getloadavg_done.
6122         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6123
6124 2011-06-18  Bruno Haible  <bruno@clisp.org>
6125
6126         clean-temp: Improve documentation.
6127         * lib/clean-temp.h: Explain better how to use this module.
6128         Reported by John Darrington <john@darrington.wattle.id.au>.
6129
6130 2011-06-17  Bruno Haible  <bruno@clisp.org>
6131
6132         pread, pwrite: Avoid cc warning on AIX.
6133         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6134         (pwrite): Likewise.
6135
6136 2011-06-17  Bruno Haible  <bruno@clisp.org>
6137
6138         spawn-pipe tests: Fix link error.
6139         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6140         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6141
6142 2011-06-17  Bruno Haible  <bruno@clisp.org>
6143
6144         Tests: Remove unnecessary dependency.
6145         * modules/canonicalize-tests (Depends-on): Remove progname.
6146         * modules/chown-tests (Depends-on): Likewise.
6147         * modules/dirname-tests (Depends-on): Likewise.
6148         * modules/fdopendir-tests (Depends-on): Likewise.
6149         * modules/fdutimensat-tests (Depends-on): Likewise.
6150         * modules/hash-tests (Depends-on): Likewise.
6151         * modules/lchown-tests (Depends-on): Likewise.
6152         * modules/linkat-tests (Depends-on): Likewise.
6153         * modules/renameat-tests (Depends-on): Likewise.
6154         * modules/spawn-pipe-tests (Depends-on): Likewise.
6155         * modules/utimensat-tests (Depends-on): Likewise.
6156
6157 2011-06-17  Bruno Haible  <bruno@clisp.org>
6158
6159         spawn-pipe tests: Fix link error.
6160         * tests/test-spawn-pipe-child.c: Undefine fflush.
6161
6162 2011-06-17  Bruno Haible  <bruno@clisp.org>
6163
6164         Fix tests link errors.
6165         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6166         * modules/chown-tests (Makefile.am): Don't link test-chown with
6167         LIBINTL.
6168         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6169         LIBINTL.
6170         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6171         LIBINTL.
6172         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6173         LIBINTL.
6174
6175 2011-06-16  Bruno Haible  <bruno@clisp.org>
6176
6177         crypto/gc-sha1: Fix recent regression.
6178         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6179         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6180
6181         crypto/gc-md5: Fix recent regression.
6182         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6183
6184         crypto/gc-md4: Fix recent regression.
6185         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6186         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6187
6188         crypto/gc-arctwo: Fix recent regression.
6189         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6190         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6191
6192         crypto/gc-rijndael: Fix recent regression.
6193         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6194         (configure.ac): Invoke AC_LIBOBJ here.
6195         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6197
6198         crypto/gc-hmac-sha1: Fix recent regression.
6199         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6200         (configure.ac): Invoke AC_LIBOBJ here.
6201         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6202         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6203
6204         crypto/gc-hmac-md5: Fix recent regression.
6205         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6206         (configure.ac): Invoke AC_LIBOBJ here.
6207         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6208         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6209
6210         crypto/gc-des: Fix recent regression.
6211         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6212         (configure.ac): Invoke AC_LIBOBJ here.
6213         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6214         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6215
6216         crypto/gc-arcfour: Fix recent regression.
6217         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6218         (configure.ac): Invoke AC_LIBOBJ here.
6219         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6220         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6221
6222 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6223
6224         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6225         After the 2011-05-21 change, this macro requires
6226         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6227         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6228
6229 2011-06-16  Bruno Haible  <bruno@clisp.org>
6230
6231         fprintftime: Move AC_LIBOBJ invocations to module description.
6232         * m4/fprintftime.m4: Remove file.
6233         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6234         (configure.ac): Remove gl_FPRINTFTIME call.
6235         (Makefile.am): Augment lib_SOURCES.
6236         Reported by Jim Meyering.
6237
6238 2011-06-16  Bruno Haible  <bruno@clisp.org>
6239
6240         tmpfile-safer: Finish 2011-05-23 commit.
6241         * m4/stdio-safer.m4: Really remove file.
6242         Reported by Jim Meyering.
6243
6244 2011-06-16  Bruno Haible  <bruno@clisp.org>
6245
6246         syntax-check: Fix typo.
6247         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6248         printf-posix.m4.
6249         Reported by Jim Meyering.
6250
6251 2011-06-13  Jim Meyering  <meyering@redhat.com>
6252
6253         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6254         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6255
6256 2011-05-23  Bruno Haible  <bruno@clisp.org>
6257
6258         yesno: Move AC_LIBOBJ invocations to module description.
6259         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6260         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6261
6262 2011-05-23  Bruno Haible  <bruno@clisp.org>
6263
6264         xstrtol: Move AC_LIBOBJ invocations to module description.
6265         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6266         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6267
6268 2011-05-23  Bruno Haible  <bruno@clisp.org>
6269
6270         xstrtold: Move AC_LIBOBJ invocations to module description.
6271         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6272         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6273
6274 2011-05-23  Bruno Haible  <bruno@clisp.org>
6275
6276         xstrtod: Move AC_LIBOBJ invocations to module description.
6277         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6278         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6279
6280 2011-05-23  Bruno Haible  <bruno@clisp.org>
6281
6282         xnanosleep: Move AC_LIBOBJ invocations to module description.
6283         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6284         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6285
6286 2011-05-23  Bruno Haible  <bruno@clisp.org>
6287
6288         xgetcwd: Move AC_LIBOBJ invocations to module description.
6289         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6290         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6291
6292 2011-05-23  Bruno Haible  <bruno@clisp.org>
6293
6294         xalloc: Move AC_LIBOBJ invocations to module description.
6295         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6296         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6297
6298 2011-05-23  Bruno Haible  <bruno@clisp.org>
6299
6300         write-any-file: Move AC_LIBOBJ invocations to module description.
6301         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6302         invocation.
6303         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6304
6305 2011-05-23  Bruno Haible  <bruno@clisp.org>
6306
6307         utimens: Move AC_LIBOBJ invocations to module description.
6308         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6309         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6310
6311 2011-05-23  Bruno Haible  <bruno@clisp.org>
6312
6313         utimecmp: Move AC_LIBOBJ invocations to module description.
6314         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6315         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6316
6317 2011-05-23  Bruno Haible  <bruno@clisp.org>
6318
6319         userspec: Move AC_LIBOBJ invocations to module description.
6320         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6321         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6322
6323 2011-05-23  Bruno Haible  <bruno@clisp.org>
6324
6325         unlinkdir: Move AC_LIBOBJ invocations to module description.
6326         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6327         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6328
6329 2011-05-23  Bruno Haible  <bruno@clisp.org>
6330
6331         unistd-safer: Move AC_LIBOBJ invocations to module description.
6332         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6333         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6334
6335 2011-05-23  Bruno Haible  <bruno@clisp.org>
6336
6337         tempname: Move AC_LIBOBJ invocations to module description.
6338         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6339         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6340
6341 2011-05-23  Bruno Haible  <bruno@clisp.org>
6342
6343         strftime: Move AC_LIBOBJ invocations to module description.
6344         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6345         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6346
6347 2011-05-23  Bruno Haible  <bruno@clisp.org>
6348
6349         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6350         * m4/stdlib-safer.m4: Remove file.
6351         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6352         (configure.ac): Remove gl_STDLIB_SAFER call.
6353         (Makefile.am): Augment lib_SOURCES.
6354
6355 2011-05-23  Bruno Haible  <bruno@clisp.org>
6356
6357         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6358         * m4/stdio-safer.m4: Remove file.
6359         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6360         (configure.ac): Remove gl_TMPFILE_SAFER call.
6361         (Makefile.am): Augment lib_SOURCES.
6362
6363 2011-05-23  Bruno Haible  <bruno@clisp.org>
6364
6365         popen-safer: Move AC_LIBOBJ invocations to module description.
6366         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6367         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6368         (configure.ac): Remove gl_POPEN_SAFER call.
6369         (Makefile.am): Augment lib_SOURCES.
6370
6371 2011-05-23  Bruno Haible  <bruno@clisp.org>
6372
6373         freopen-safer: Move AC_LIBOBJ invocations to module description.
6374         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6375         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6376         (configure.ac): Remove gl_FREOPEN_SAFER call.
6377         (Makefile.am): Augment lib_SOURCES.
6378
6379 2011-05-23  Bruno Haible  <bruno@clisp.org>
6380
6381         fopen-safer: Move AC_LIBOBJ invocations to module description.
6382         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6383         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6384         (configure.ac): Remove gl_FOPEN_SAFER call.
6385         (Makefile.am): Augment lib_SOURCES.
6386
6387 2011-05-23  Bruno Haible  <bruno@clisp.org>
6388
6389         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6390         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6391         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6392
6393 2011-05-23  Bruno Haible  <bruno@clisp.org>
6394
6395         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6396         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6397         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6398
6399 2011-05-23  Bruno Haible  <bruno@clisp.org>
6400
6401         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6402         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6403         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6404
6405 2011-05-23  Bruno Haible  <bruno@clisp.org>
6406
6407         settime: Move AC_LIBOBJ invocations to module description.
6408         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6409         * modules/settime (Makefile.am): Augment lib_SOURCES.
6410
6411 2011-05-23  Bruno Haible  <bruno@clisp.org>
6412
6413         savedir: Move AC_LIBOBJ invocations to module description.
6414         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6415         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6416
6417 2011-05-23  Bruno Haible  <bruno@clisp.org>
6418
6419         save-cwd: Move AC_LIBOBJ invocations to module description.
6420         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6421         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6422
6423 2011-05-23  Bruno Haible  <bruno@clisp.org>
6424
6425         same: Move AC_LIBOBJ invocations to module description.
6426         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6427         * modules/same (Makefile.am): Augment lib_SOURCES.
6428
6429 2011-05-23  Bruno Haible  <bruno@clisp.org>
6430
6431         safe-write: Move AC_LIBOBJ invocations to module description.
6432         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6433         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6434         instead of gl_SAFE_WRITE.
6435         (Makefile.am): Augment lib_SOURCES.
6436
6437 2011-05-23  Bruno Haible  <bruno@clisp.org>
6438
6439         safe-read: Move AC_LIBOBJ invocations to module description.
6440         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6441         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6442         of gl_SAFE_READ.
6443         (Makefile.am): Augment lib_SOURCES.
6444
6445 2011-05-23  Bruno Haible  <bruno@clisp.org>
6446
6447         safe-alloc: Move AC_LIBOBJ invocations to module description.
6448         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6449         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6450
6451 2011-05-23  Bruno Haible  <bruno@clisp.org>
6452
6453         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6454         * m4/rijndael.m4: Remove file.
6455         * modules/crypto/rijndael (Files): Remove it.
6456         (configure.ac): Remove gl_RIJNDAEL call.
6457         (Makefile.am): Augment lib_SOURCES.
6458
6459 2011-05-23  Bruno Haible  <bruno@clisp.org>
6460
6461         readtokens: Move AC_LIBOBJ invocations to module description.
6462         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6463         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6464
6465 2011-05-23  Bruno Haible  <bruno@clisp.org>
6466
6467         read-file: Move AC_LIBOBJ invocations to module description.
6468         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6469         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6470         of gl_FUNC_READ_FILE.
6471         (Makefile.am): Augment lib_SOURCES.
6472
6473 2011-05-23  Bruno Haible  <bruno@clisp.org>
6474
6475         quotearg: Move AC_LIBOBJ invocations to module description.
6476         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6477         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6478
6479 2011-05-23  Bruno Haible  <bruno@clisp.org>
6480
6481         quote: Move AC_LIBOBJ invocations to module description.
6482         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6483         * modules/quote (Makefile.am): Augment lib_SOURCES.
6484
6485 2011-05-23  Bruno Haible  <bruno@clisp.org>
6486
6487         posixver: Move AC_LIBOBJ invocations to module description.
6488         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6489         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6490
6491 2011-05-23  Bruno Haible  <bruno@clisp.org>
6492
6493         posixtm: Move AC_LIBOBJ invocations to module description.
6494         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6495         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6496
6497 2011-05-23  Bruno Haible  <bruno@clisp.org>
6498
6499         physmem: Move AC_LIBOBJ invocations to module description.
6500         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6501         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6502
6503 2011-05-23  Bruno Haible  <bruno@clisp.org>
6504
6505         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6506         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6507         invocation.
6508         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6509
6510 2011-05-23  Bruno Haible  <bruno@clisp.org>
6511
6512         mpsort: Move AC_LIBOBJ invocations to module description.
6513         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6514         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6515
6516 2011-05-23  Bruno Haible  <bruno@clisp.org>
6517
6518         modechange: Move AC_LIBOBJ invocations to module description.
6519         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6520         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6521
6522 2011-05-23  Bruno Haible  <bruno@clisp.org>
6523
6524         mkdir-p: Move AC_LIBOBJ invocations to module description.
6525         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6526         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6527
6528 2011-05-23  Bruno Haible  <bruno@clisp.org>
6529
6530         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6531         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6532         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6533
6534 2011-05-23  Bruno Haible  <bruno@clisp.org>
6535
6536         mgetgroups: Move AC_LIBOBJ invocations to module description.
6537         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6538         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6539
6540 2011-05-23  Bruno Haible  <bruno@clisp.org>
6541
6542         memxor: Move AC_LIBOBJ invocations to module description.
6543         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6544         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6545
6546 2011-05-23  Bruno Haible  <bruno@clisp.org>
6547
6548         memcoll: Move AC_LIBOBJ invocations to module description.
6549         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6550         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6551
6552 2011-05-23  Bruno Haible  <bruno@clisp.org>
6553
6554         memcasecmp: Move AC_LIBOBJ invocations to module description.
6555         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6556         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6557
6558 2011-05-23  Bruno Haible  <bruno@clisp.org>
6559
6560         crypto/md5: Move AC_LIBOBJ invocations to module description.
6561         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6562         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6563
6564 2011-05-23  Bruno Haible  <bruno@clisp.org>
6565
6566         crypto/md4: Move AC_LIBOBJ invocations to module description.
6567         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6568         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6569
6570 2011-05-23  Bruno Haible  <bruno@clisp.org>
6571
6572         crypto/md2: Move AC_LIBOBJ invocations to module description.
6573         * m4/md2.m4: Remove file.
6574         * modules/crypto/md2 (Files): Remove it.
6575         (configure.ac): Remove gl_MD2 call.
6576         (Makefile.am): Augment lib_SOURCES.
6577
6578 2011-05-23  Bruno Haible  <bruno@clisp.org>
6579
6580         long-options: Move AC_LIBOBJ invocations to module description.
6581         * m4/long-options.m4: Remove file.
6582         * modules/long-options (Files): Remove it.
6583         (configure.ac): Remove gl_LONG_OPTIONS call.
6584         (Makefile.am): Augment lib_SOURCES.
6585
6586 2011-05-23  Bruno Haible  <bruno@clisp.org>
6587
6588         i-ring: Move AC_LIBOBJ invocations to module description.
6589         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6590         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6591
6592 2011-05-23  Bruno Haible  <bruno@clisp.org>
6593
6594         idcache: Move AC_LIBOBJ invocations to module description.
6595         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6596         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6597
6598 2011-05-23  Bruno Haible  <bruno@clisp.org>
6599
6600         human: Move AC_LIBOBJ invocations to module description.
6601         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6602         * modules/human (Makefile.am): Augment lib_SOURCES.
6603
6604 2011-05-23  Bruno Haible  <bruno@clisp.org>
6605
6606         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6607         * m4/hmac-sha1.m4: Remove file.
6608         * modules/crypto/hmac-sha1 (Files): Remove it.
6609         (configure.ac): Remove gl_HMAC_SHA1 call.
6610         (Makefile.am): Augment lib_SOURCES.
6611
6612 2011-05-23  Bruno Haible  <bruno@clisp.org>
6613
6614         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6615         * m4/hmac-md5.m4: Remove file.
6616         * modules/crypto/hmac-md5 (Files): Remove it.
6617         (configure.ac): Remove gl_HMAC_MD5 call.
6618         (Makefile.am): Augment lib_SOURCES.
6619
6620 2011-05-23  Bruno Haible  <bruno@clisp.org>
6621
6622         hash: Move AC_LIBOBJ invocations to module description.
6623         * m4/hash.m4: Remove file.
6624         * modules/hash (Files): Remove it.
6625         (configure.ac): Remove gl_HASH call.
6626         (Makefile.am): Augment lib_SOURCES.
6627
6628 2011-05-23  Bruno Haible  <bruno@clisp.org>
6629
6630         hard-locale: Move AC_LIBOBJ invocations to module description.
6631         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6632         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6633
6634 2011-05-23  Bruno Haible  <bruno@clisp.org>
6635
6636         getugroups: Move AC_LIBOBJ invocations to module description.
6637         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6638         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6639
6640 2011-05-23  Bruno Haible  <bruno@clisp.org>
6641
6642         gettime: Move AC_LIBOBJ invocations to module description.
6643         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6644         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6645
6646 2011-05-23  Bruno Haible  <bruno@clisp.org>
6647
6648         getndelim2: Move AC_LIBOBJ invocations to module description.
6649         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6650         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6651
6652 2011-05-23  Bruno Haible  <bruno@clisp.org>
6653
6654         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6655         * m4/gc-pbkdf2-sha1.m4: Remove file.
6656         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6657         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6658         (Makefile.am): Augment lib_SOURCES.
6659
6660 2011-05-23  Bruno Haible  <bruno@clisp.org>
6661
6662         fts: Move AC_LIBOBJ invocations to module description.
6663         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6664         * modules/fts (configure.ac): ... to here.
6665
6666 2011-05-23  Bruno Haible  <bruno@clisp.org>
6667
6668         file-type: Move AC_LIBOBJ invocations to module description.
6669         * m4/file-type.m4: Remove file.
6670         * modules/file-type (Files): Remove it.
6671         (configure.ac): Remove gl_FILE_TYPE call.
6672         (Makefile.am): Augment lib_SOURCES.
6673
6674 2011-05-23  Bruno Haible  <bruno@clisp.org>
6675
6676         filenamecat*: Respect rules for use of AC_LIBOBJ.
6677         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6678         Remove AC_LIBOBJ invocation.
6679         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6680         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6681
6682 2011-05-23  Bruno Haible  <bruno@clisp.org>
6683
6684         filemode: Move AC_LIBOBJ invocations to module description.
6685         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6686         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6687
6688 2011-05-23  Bruno Haible  <bruno@clisp.org>
6689
6690         openat-safer: Move AC_LIBOBJ invocations to module description.
6691         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6692         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6693
6694 2011-05-23  Bruno Haible  <bruno@clisp.org>
6695
6696         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6697         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6698         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6699
6700 2011-05-23  Bruno Haible  <bruno@clisp.org>
6701
6702         exclude: Move AC_LIBOBJ invocations to module description.
6703         * m4/exclude.m4: Remove file.
6704         * modules/exclude (Files): Remove it.
6705         (configure.ac): Remove gl_EXCLUDE call.
6706         (Makefile.am): Augment lib_SOURCES.
6707
6708 2011-05-23  Bruno Haible  <bruno@clisp.org>
6709
6710         dirname*: Respect rules for use of AC_LIBOBJ.
6711         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6712         invocations.
6713         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6714         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6715
6716 2011-05-23  Bruno Haible  <bruno@clisp.org>
6717
6718         dirent-safer: Move AC_LIBOBJ invocations to module description.
6719         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6720         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6721
6722 2011-05-23  Bruno Haible  <bruno@clisp.org>
6723
6724         crypto/des: Move AC_LIBOBJ invocations to module description.
6725         * m4/des.m4: Remove file.
6726         * modules/crypto/des (Files): Remove it.
6727         (configure.ac): Remove gl_DES call.
6728         (Makefile.am): Augment lib_SOURCES.
6729
6730 2011-05-23  Bruno Haible  <bruno@clisp.org>
6731
6732         cycle-check: Move AC_LIBOBJ invocations to module description.
6733         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6734         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6735
6736 2011-05-23  Bruno Haible  <bruno@clisp.org>
6737
6738         c-strtold: Move AC_LIBOBJ invocations to module description.
6739         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6740         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6741
6742 2011-05-23  Bruno Haible  <bruno@clisp.org>
6743
6744         c-strtod: Move AC_LIBOBJ invocations to module description.
6745         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6746         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6747
6748 2011-05-23  Bruno Haible  <bruno@clisp.org>
6749
6750         crc: Move AC_LIBOBJ invocations to module description.
6751         * m4/crc.m4: Remove file.
6752         * modules/crc (Files): Remove it.
6753         (configure.ac): Remove gl_CRC call.
6754         (Makefile.am): Augment lib_SOURCES.
6755
6756 2011-05-23  Bruno Haible  <bruno@clisp.org>
6757
6758         close-stream: Move AC_LIBOBJ invocations to module description.
6759         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6760         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6761
6762 2011-05-23  Bruno Haible  <bruno@clisp.org>
6763
6764         closeout: Move AC_LIBOBJ invocations to module description.
6765         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6766         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6767
6768 2011-05-23  Bruno Haible  <bruno@clisp.org>
6769
6770         closein: Move AC_LIBOBJ invocations to module description.
6771         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6772         * modules/closein (Makefile.am): Augment lib_SOURCES.
6773
6774 2011-05-23  Bruno Haible  <bruno@clisp.org>
6775
6776         cloexec: Move AC_LIBOBJ invocations to module description.
6777         * m4/cloexec.m4: Remove file.
6778         * modules/cloexec (Files): Remove it.
6779         (configure.ac): Remove gl_CLOEXEC call.
6780         (Makefile.am): Augment lib_SOURCES.
6781
6782 2011-05-23  Bruno Haible  <bruno@clisp.org>
6783
6784         check-version: Move AC_LIBOBJ invocations to module description.
6785         * m4/check-version.m4: Remove file.
6786         * modules/check-version (Files): Remove it.
6787         (configure.ac): Remove gl_CHECK_VERSION call.
6788         (Makefile.am): Augment lib_SOURCES.
6789
6790 2011-05-23  Bruno Haible  <bruno@clisp.org>
6791
6792         chdir-safer: Move AC_LIBOBJ invocations to module description.
6793         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6794         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6795
6796 2011-05-23  Bruno Haible  <bruno@clisp.org>
6797
6798         canonicalize: Move AC_LIBOBJ invocations to module description.
6799         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6800         AC_LIBOBJ invocation.
6801         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6802
6803 2011-05-23  Bruno Haible  <bruno@clisp.org>
6804
6805         canon-host: Move AC_LIBOBJ invocations to module description.
6806         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6807         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6808         instead of gl_CANON_HOST.
6809         (Makefile.am): Augment lib_SOURCES.
6810
6811 2011-05-23  Bruno Haible  <bruno@clisp.org>
6812
6813         backupfile: Move AC_LIBOBJ invocations to module description.
6814         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6815         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6816
6817 2011-05-23  Bruno Haible  <bruno@clisp.org>
6818
6819         argmatch: Move AC_LIBOBJ invocations to module description.
6820         * m4/argmatch.m4: Remove file.
6821         * modules/argmatch (Files): Remove it.
6822         (configure.ac): Remove gl_ARGMATCH call.
6823         (Makefile.am): Augment lib_SOURCES.
6824
6825 2011-05-23  Bruno Haible  <bruno@clisp.org>
6826
6827         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6828         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6829         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6830
6831 2011-05-23  Bruno Haible  <bruno@clisp.org>
6832
6833         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6834         * m4/arcfour.m4: Remove file.
6835         * modules/crypto/arcfour (Files): Remove it.
6836         (configure.ac): Remove gl_ARCFOUR call.
6837         (Makefile.am): Augment lib_SOURCES.
6838
6839 2011-05-22  Bruno Haible  <bruno@clisp.org>
6840
6841         write: Move AC_LIBOBJ invocations to module description.
6842         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6843         * modules/write (configure.ac): ... to here.
6844
6845 2011-05-22  Bruno Haible  <bruno@clisp.org>
6846
6847         wmemset: Move AC_LIBOBJ invocations to module description.
6848         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6849         here...
6850         * modules/wmemset (configure.ac): ... to here.
6851
6852 2011-05-22  Bruno Haible  <bruno@clisp.org>
6853
6854         wmemmove: Move AC_LIBOBJ invocations to module description.
6855         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6856         here...
6857         * modules/wmemmove (configure.ac): ... to here.
6858
6859 2011-05-22  Bruno Haible  <bruno@clisp.org>
6860
6861         wmemcpy: Move AC_LIBOBJ invocations to module description.
6862         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6863         here...
6864         * modules/wmemcpy (configure.ac): ... to here.
6865
6866 2011-05-22  Bruno Haible  <bruno@clisp.org>
6867
6868         wmemcmp: Move AC_LIBOBJ invocations to module description.
6869         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6870         here...
6871         * modules/wmemcmp (configure.ac): ... to here.
6872
6873 2011-05-22  Bruno Haible  <bruno@clisp.org>
6874
6875         wmemchr: Move AC_LIBOBJ invocations to module description.
6876         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6877         here...
6878         * modules/wmemchr (configure.ac): ... to here.
6879
6880 2011-05-22  Bruno Haible  <bruno@clisp.org>
6881
6882         wcswidth: Move AC_LIBOBJ invocations to module description.
6883         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6884         here...
6885         * modules/wcswidth (configure.ac): ... to here.
6886
6887 2011-05-22  Bruno Haible  <bruno@clisp.org>
6888
6889         wcwidth: Respect rules for use of AC_LIBOBJ.
6890         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6891         invocation from here...
6892         * modules/wcwidth (configure.ac): ... to here.
6893         (Depends-on): Update conditions.
6894
6895 2011-05-22  Bruno Haible  <bruno@clisp.org>
6896
6897         wctype: Move AC_LIBOBJ invocations to module description.
6898         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6899         invocation from here...
6900         * modules/wctype (configure.ac): ... to here.
6901         (Depends-on): Update conditions.
6902
6903 2011-05-22  Bruno Haible  <bruno@clisp.org>
6904
6905         wctrans: Move AC_LIBOBJ invocations to module description.
6906         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6907         invocation from here...
6908         * modules/wctrans (configure.ac): ... to here.
6909
6910 2011-05-22  Bruno Haible  <bruno@clisp.org>
6911
6912         wctomb: Move AC_LIBOBJ invocations to module description.
6913         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6914         invocations from here...
6915         * modules/wctomb (configure.ac): ... to here.
6916
6917 2011-05-22  Bruno Haible  <bruno@clisp.org>
6918
6919         wctob: Move AC_LIBOBJ invocations to module description.
6920         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6921         gl_PREREQ_WCTOB invocations from here...
6922         * modules/wctob (configure.ac): ... to here.
6923         (Depends-on): Update conditions.
6924
6925 2011-05-22  Bruno Haible  <bruno@clisp.org>
6926
6927         wcsxfrm: Move AC_LIBOBJ invocations to module description.
6928         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
6929         here...
6930         * modules/wcsxfrm (configure.ac): ... to here.
6931
6932 2011-05-22  Bruno Haible  <bruno@clisp.org>
6933
6934         wcstok: Move AC_LIBOBJ invocations to module description.
6935         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
6936         * modules/wcstok (configure.ac): ... to here.
6937
6938 2011-05-22  Bruno Haible  <bruno@clisp.org>
6939
6940         wcsstr: Move AC_LIBOBJ invocations to module description.
6941         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
6942         * modules/wcsstr (configure.ac): ... to here.
6943
6944 2011-05-22  Bruno Haible  <bruno@clisp.org>
6945
6946         wcsspn: Move AC_LIBOBJ invocations to module description.
6947         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
6948         * modules/wcsspn (configure.ac): ... to here.
6949
6950 2011-05-22  Bruno Haible  <bruno@clisp.org>
6951
6952         wcsrtombs: Move AC_LIBOBJ invocations to module description.
6953         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
6954         gl_PREREQ_WCSRTOMBS invocations from here...
6955         * modules/wcsrtombs (configure.ac): ... to here.
6956
6957 2011-05-22  Bruno Haible  <bruno@clisp.org>
6958
6959         wcsrchr: Move AC_LIBOBJ invocations to module description.
6960         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
6961         here...
6962         * modules/wcsrchr (configure.ac): ... to here.
6963
6964 2011-05-22  Bruno Haible  <bruno@clisp.org>
6965
6966         wcspbrk: Move AC_LIBOBJ invocations to module description.
6967         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
6968         here...
6969         * modules/wcspbrk (configure.ac): ... to here.
6970
6971 2011-05-22  Bruno Haible  <bruno@clisp.org>
6972
6973         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
6974         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
6975         gl_PREREQ_WCSNRTOMBS invocations from here...
6976         * modules/wcsnrtombs (configure.ac): ... to here.
6977
6978 2011-05-22  Bruno Haible  <bruno@clisp.org>
6979
6980         wcsnlen: Move AC_LIBOBJ invocations to module description.
6981         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
6982         here...
6983         * modules/wcsnlen (configure.ac): ... to here.
6984
6985 2011-05-22  Bruno Haible  <bruno@clisp.org>
6986
6987         wcsncpy: Move AC_LIBOBJ invocations to module description.
6988         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
6989         here...
6990         * modules/wcsncpy (configure.ac): ... to here.
6991
6992 2011-05-22  Bruno Haible  <bruno@clisp.org>
6993
6994         wcsncmp: Move AC_LIBOBJ invocations to module description.
6995         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
6996         here...
6997         * modules/wcsncmp (configure.ac): ... to here.
6998
6999 2011-05-22  Bruno Haible  <bruno@clisp.org>
7000
7001         wcsncat: Move AC_LIBOBJ invocations to module description.
7002         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7003         here...
7004         * modules/wcsncat (configure.ac): ... to here.
7005
7006 2011-05-22  Bruno Haible  <bruno@clisp.org>
7007
7008         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7009         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7010         from here...
7011         * modules/wcsncasecmp (configure.ac): ... to here.
7012
7013 2011-05-22  Bruno Haible  <bruno@clisp.org>
7014
7015         wcslen: Move AC_LIBOBJ invocations to module description.
7016         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7017         * modules/wcslen (configure.ac): ... to here.
7018
7019 2011-05-22  Bruno Haible  <bruno@clisp.org>
7020
7021         wcsdup: Move AC_LIBOBJ invocations to module description.
7022         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7023         * modules/wcsdup (configure.ac): ... to here.
7024
7025 2011-05-22  Bruno Haible  <bruno@clisp.org>
7026
7027         wcscspn: Move AC_LIBOBJ invocations to module description.
7028         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7029         here...
7030         * modules/wcscspn (configure.ac): ... to here.
7031
7032 2011-05-22  Bruno Haible  <bruno@clisp.org>
7033
7034         wcscpy: Move AC_LIBOBJ invocations to module description.
7035         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7036         * modules/wcscpy (configure.ac): ... to here.
7037
7038 2011-05-22  Bruno Haible  <bruno@clisp.org>
7039
7040         wcscoll: Move AC_LIBOBJ invocations to module description.
7041         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7042         here...
7043         * modules/wcscoll (configure.ac): ... to here.
7044
7045 2011-05-22  Bruno Haible  <bruno@clisp.org>
7046
7047         wcscmp: Move AC_LIBOBJ invocations to module description.
7048         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7049         * modules/wcscmp (configure.ac): ... to here.
7050
7051 2011-05-22  Bruno Haible  <bruno@clisp.org>
7052
7053         wcschr: Move AC_LIBOBJ invocations to module description.
7054         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7055         * modules/wcschr (configure.ac): ... to here.
7056
7057 2011-05-22  Bruno Haible  <bruno@clisp.org>
7058
7059         wcscat: Move AC_LIBOBJ invocations to module description.
7060         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7061         * modules/wcscat (configure.ac): ... to here.
7062
7063 2011-05-22  Bruno Haible  <bruno@clisp.org>
7064
7065         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7066         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7067         here...
7068         * modules/wcscasecmp (configure.ac): ... to here.
7069
7070 2011-05-22  Bruno Haible  <bruno@clisp.org>
7071
7072         wcrtomb: Move AC_LIBOBJ invocations to module description.
7073         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7074         invocations from here...
7075         * modules/wcrtomb (configure.ac): ... to here.
7076
7077 2011-05-22  Bruno Haible  <bruno@clisp.org>
7078
7079         wcpncpy: Move AC_LIBOBJ invocations to module description.
7080         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7081         here...
7082         * modules/wcpncpy (configure.ac): ... to here.
7083
7084 2011-05-22  Bruno Haible  <bruno@clisp.org>
7085
7086         wcpcpy: Move AC_LIBOBJ invocations to module description.
7087         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7088         * modules/wcpcpy (configure.ac): ... to here.
7089
7090 2011-05-22  Bruno Haible  <bruno@clisp.org>
7091
7092         waitpid: Move AC_LIBOBJ invocations to module description.
7093         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7094         invocation from here...
7095         * modules/waitpid (configure.ac): ... to here.
7096
7097 2011-05-22  Bruno Haible  <bruno@clisp.org>
7098
7099         utimensat: Move AC_LIBOBJ invocations to module description.
7100         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7101         here...
7102         * modules/utimensat (configure.ac): ... to here.
7103
7104 2011-05-22  Bruno Haible  <bruno@clisp.org>
7105
7106         usleep: Move AC_LIBOBJ invocations to module description.
7107         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7108         here...
7109         * modules/usleep (configure.ac): ... to here.
7110
7111 2011-05-22  Bruno Haible  <bruno@clisp.org>
7112
7113         unlockpt: Move AC_LIBOBJ invocations to module description.
7114         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7115         gl_PREREQ_UNLOCKPT invocations from here...
7116         * modules/unlockpt (configure.ac): ... to here.
7117
7118 2011-05-22  Bruno Haible  <bruno@clisp.org>
7119
7120         unlink: Respect rules for use of AC_LIBOBJ.
7121         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7122         * modules/unlink (configure.ac): ... to here.
7123
7124 2011-05-22  Bruno Haible  <bruno@clisp.org>
7125
7126         uname: Move AC_LIBOBJ invocations to module description.
7127         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7128         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7129         here...
7130         * modules/uname (configure.ac): ... to here.
7131
7132 2011-05-22  Bruno Haible  <bruno@clisp.org>
7133
7134         ttyname_r: Move AC_LIBOBJ invocations to module description.
7135         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7136         gl_PREREQ_TTYNAME_R invocations from here...
7137         * modules/ttyname_r (configure.ac): ... to here.
7138
7139 2011-05-22  Bruno Haible  <bruno@clisp.org>
7140
7141         tsearch: Move AC_LIBOBJ invocations to module description.
7142         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7143         invocations from here...
7144         * modules/tsearch (configure.ac): ... to here.
7145
7146 2011-05-22  Bruno Haible  <bruno@clisp.org>
7147
7148         towctrans: Move AC_LIBOBJ invocations to module description.
7149         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7150         AC_LIBOBJ invocation from here...
7151         * modules/towctrans (configure.ac): ... to here.
7152
7153 2011-05-22  Bruno Haible  <bruno@clisp.org>
7154
7155         tmpfile: Move AC_LIBOBJ invocations to module description.
7156         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7157         invocations from here...
7158         * modules/tmpfile (configure.ac): ... to here.
7159
7160 2011-05-22  Bruno Haible  <bruno@clisp.org>
7161
7162         times: Move AC_LIBOBJ invocations to module description.
7163         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7164         * modules/times (configure.ac): ... to here.
7165
7166 2011-05-22  Bruno Haible  <bruno@clisp.org>
7167
7168         time_r: Move AC_LIBOBJ invocations to module description.
7169         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7170         invocations from here...
7171         * modules/time_r (configure.ac): ... to here.
7172
7173 2011-05-22  Bruno Haible  <bruno@clisp.org>
7174
7175         timegm: Move AC_LIBOBJ invocations to module description.
7176         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7177         invocations from here...
7178         * modules/timegm (configure.ac): ... to here.
7179
7180 2011-05-22  Bruno Haible  <bruno@clisp.org>
7181
7182         tcgetsid: Move AC_LIBOBJ invocations to module description.
7183         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7184         and gl_PREREQ_TCGETSID invocations from here...
7185         * modules/tcgetsid (configure.ac): ... to here.
7186         (Depends-on): Update conditions.
7187
7188 2011-05-22  Bruno Haible  <bruno@clisp.org>
7189
7190         symlinkat: Move AC_LIBOBJ invocations to module description.
7191         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7192         here...
7193         * modules/symlinkat (configure.ac): ... to here.
7194
7195 2011-05-22  Bruno Haible  <bruno@clisp.org>
7196
7197         symlink: Move AC_LIBOBJ invocations to module description.
7198         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7199         here...
7200         * modules/symlink (configure.ac): ... to here.
7201
7202 2011-05-22  Bruno Haible  <bruno@clisp.org>
7203
7204         strverscmp: Move AC_LIBOBJ invocations to module description.
7205         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7206         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7207         from here...
7208         * modules/strverscmp (configure.ac): ... to here.
7209
7210 2011-05-22  Bruno Haible  <bruno@clisp.org>
7211
7212         strtok_r: Move AC_LIBOBJ invocations to module description.
7213         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7214         and gl_PREREQ_STRTOK_R invocations from here...
7215         * modules/strtok_r (configure.ac): ... to here.
7216         (Depends-on): Update conditions.
7217
7218 2011-05-22  Bruno Haible  <bruno@clisp.org>
7219
7220         strtoumax: Move AC_LIBOBJ invocations to module description.
7221         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7222         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7223         from here...
7224         * modules/strtoumax (configure.ac): ... to here.
7225
7226 2011-05-22  Bruno Haible  <bruno@clisp.org>
7227
7228         strtoimax: Move AC_LIBOBJ invocations to module description.
7229         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7230         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7231         from here...
7232         * modules/strtoimax (configure.ac): ... to here.
7233
7234 2011-05-22  Bruno Haible  <bruno@clisp.org>
7235
7236         strtoull: Move AC_LIBOBJ invocations to module description.
7237         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7238         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7239         from here...
7240         * modules/strtoull (configure.ac): ... to here.
7241
7242 2011-05-22  Bruno Haible  <bruno@clisp.org>
7243
7244         strtoll: Move AC_LIBOBJ invocations to module description.
7245         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7246         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7247         here...
7248         * modules/strtoll (configure.ac): ... to here.
7249
7250 2011-05-22  Bruno Haible  <bruno@clisp.org>
7251
7252         strtoul: Move AC_LIBOBJ invocations to module description.
7253         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7254         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7255         * modules/strtoul (configure.ac): ... to here.
7256
7257 2011-05-22  Bruno Haible  <bruno@clisp.org>
7258
7259         strtol: Move AC_LIBOBJ invocations to module description.
7260         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7261         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7262         * modules/strtol (configure.ac): ... to here.
7263
7264 2011-05-22  Bruno Haible  <bruno@clisp.org>
7265
7266         strtod: Move AC_LIBOBJ invocations to module description.
7267         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7268         invocations from here...
7269         * modules/strtod (configure.ac): ... to here.
7270
7271 2011-05-22  Bruno Haible  <bruno@clisp.org>
7272
7273         strstr*: Move AC_LIBOBJ invocations to module description.
7274         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7275         invocations from here...
7276         * modules/strstr-simple (configure.ac): ... to here.
7277         * modules/strstr (configure.ac): ... and here.
7278
7279 2011-05-22  Bruno Haible  <bruno@clisp.org>
7280
7281         strsignal: Move AC_LIBOBJ invocations to module description.
7282         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7283         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7284         * modules/strsignal (configure.ac): ... to here.
7285         (Depends-on): Update conditions.
7286
7287 2011-05-22  Bruno Haible  <bruno@clisp.org>
7288
7289         strsep: Move AC_LIBOBJ invocations to module description.
7290         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7291         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7292         here...
7293         * modules/strsep (configure.ac): ... to here.
7294
7295 2011-05-22  Bruno Haible  <bruno@clisp.org>
7296
7297         strptime: Move AC_LIBOBJ invocations to module description.
7298         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7299         gl_PREREQ_STRPTIME invocations from here...
7300         * modules/strptime (configure.ac): ... to here.
7301
7302 2011-05-22  Bruno Haible  <bruno@clisp.org>
7303
7304         strpbrk: Move AC_LIBOBJ invocations to module description.
7305         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7306         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7307         here...
7308         * modules/strpbrk (configure.ac): ... to here.
7309
7310 2011-05-22  Bruno Haible  <bruno@clisp.org>
7311
7312         strnlen: Move AC_LIBOBJ invocations to module description.
7313         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7314         invocations from here...
7315         * modules/strnlen (configure.ac): ... to here.
7316
7317 2011-05-22  Bruno Haible  <bruno@clisp.org>
7318
7319         strndup: Move AC_LIBOBJ invocations to module description.
7320         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7321         invocations from here...
7322         * modules/strndup (configure.ac): ... to here.
7323         (Depends-on): Update conditions.
7324
7325 2011-05-22  Bruno Haible  <bruno@clisp.org>
7326
7327         strncat: Move AC_LIBOBJ invocations to module description.
7328         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7329         invocations from here...
7330         * modules/strncat (configure.ac): ... to here.
7331
7332 2011-05-22  Bruno Haible  <bruno@clisp.org>
7333
7334         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7335         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7336         invocations from here...
7337         * modules/strdup (configure.ac): ... to here.
7338         * modules/strdup-posix (configure.ac): ... and here.
7339
7340 2011-05-22  Bruno Haible  <bruno@clisp.org>
7341
7342         strcspn: Move AC_LIBOBJ invocations to module description.
7343         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7344         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7345         here...
7346         * modules/strcspn (configure.ac): ... to here.
7347
7348 2011-05-22  Bruno Haible  <bruno@clisp.org>
7349
7350         strchrnul: Move AC_LIBOBJ invocations to module description.
7351         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7352         gl_PREREQ_STRCHRNUL invocations from here...
7353         * modules/strchrnul (configure.ac): ... to here.
7354
7355 2011-05-22  Bruno Haible  <bruno@clisp.org>
7356
7357         strcasestr*: Move AC_LIBOBJ invocations to module description.
7358         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7359         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7360         * modules/strcasestr-simple (configure.ac): ... to here.
7361         * modules/strcasestr (configure.ac): ... and here.
7362
7363 2011-05-22  Bruno Haible  <bruno@clisp.org>
7364
7365         strcase: Move AC_LIBOBJ invocations to module description.
7366         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7367         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7368         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7369         gl_PREREQ_STRNCASECMP invocations from here...
7370         * modules/strcase (configure.ac): ... to here.
7371
7372 2011-05-22  Bruno Haible  <bruno@clisp.org>
7373
7374         stpncpy: Move AC_LIBOBJ invocations to module description.
7375         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7376         here...
7377         * modules/stpncpy (configure.ac): ... to here.
7378
7379 2011-05-22  Bruno Haible  <bruno@clisp.org>
7380
7381         stpcpy: Move AC_LIBOBJ invocations to module description.
7382         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7383         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7384         here...
7385         * modules/stpcpy (configure.ac): ... to here.
7386
7387 2011-05-21  Bruno Haible  <bruno@clisp.org>
7388
7389         stat: Move AC_LIBOBJ invocations to module description.
7390         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7391         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7392         here...
7393         * modules/stat (configure.ac): ... to here.
7394
7395 2011-05-21  Bruno Haible  <bruno@clisp.org>
7396
7397         sleep: Move AC_LIBOBJ invocations to module description.
7398         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7399         * modules/sleep (configure.ac): ... to here.
7400
7401 2011-05-21  Bruno Haible  <bruno@clisp.org>
7402
7403         signbit: Move AC_LIBOBJ invocations to module description.
7404         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7405         * modules/signbit (configure.ac): ... to here.
7406
7407 2011-05-21  Bruno Haible  <bruno@clisp.org>
7408
7409         sigprocmask: Move AC_LIBOBJ invocations to module description.
7410         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7411         gl_PREREQ_SIGPROMASK invocations from here...
7412         * modules/sigprocmask (configure.ac): ... to here.
7413
7414 2011-05-21  Bruno Haible  <bruno@clisp.org>
7415
7416         sigaction: Move AC_LIBOBJ invocations to module description.
7417         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7418         gl_PREREQ_SIGACTION invocations from here...
7419         * modules/sigaction (configure.ac): ... to here.
7420
7421 2011-05-21  Bruno Haible  <bruno@clisp.org>
7422
7423         sig2str: Move AC_LIBOBJ invocations to module description.
7424         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7425         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7426         here...
7427         * modules/sig2str (configure.ac): ... to here.
7428
7429 2011-05-21  Bruno Haible  <bruno@clisp.org>
7430
7431         setlocale: Move AC_LIBOBJ invocations to module description.
7432         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7433         gl_PREREQ_SETLOCALE invocations from here...
7434         * modules/setlocale (configure.ac): ... to here.
7435
7436 2011-05-21  Bruno Haible  <bruno@clisp.org>
7437
7438         unsetenv: Move AC_LIBOBJ invocations to module description.
7439         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7440         and gl_PREREQ_UNSETENV invocations from here...
7441         * modules/unsetenv (configure.ac): ... to here.
7442         (Depends-on): Update.
7443
7444 2011-05-21  Bruno Haible  <bruno@clisp.org>
7445
7446         setenv: Move AC_LIBOBJ invocations to module description.
7447         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7448         here...
7449         * modules/setenv (configure.ac): ... to here.
7450
7451 2011-05-21  Bruno Haible  <bruno@clisp.org>
7452
7453         selinux-h: Move AC_LIBOBJ invocations to module description.
7454         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7455         AC_LIBOBJ invocation from here...
7456         * modules/selinux-h (configure.ac): ... to here.
7457
7458 2011-05-21  Bruno Haible  <bruno@clisp.org>
7459
7460         select: Respect rules for use of AC_LIBOBJ.
7461         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7462         here...
7463         * modules/select (configure.ac): ... to here.
7464
7465 2011-05-21  Bruno Haible  <bruno@clisp.org>
7466
7467         scandir: Move AC_LIBOBJ invocations to module description.
7468         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7469         invocations from here...
7470         * modules/scandir (configure.ac): ... to here.
7471
7472 2011-05-21  Bruno Haible  <bruno@clisp.org>
7473
7474         rpmatch: Move AC_LIBOBJ invocations to module description.
7475         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7476         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7477         here...
7478         * modules/rpmatch (configure.ac): ... to here.
7479
7480 2011-05-21  Bruno Haible  <bruno@clisp.org>
7481
7482         rmdir: Respect rules for use of AC_LIBOBJ.
7483         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7484         * modules/rmdir (configure.ac): ... to here.
7485
7486 2011-05-21  Bruno Haible  <bruno@clisp.org>
7487
7488         renameat: Move AC_LIBOBJ invocations to module description.
7489         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7490         here...
7491         * modules/renameat (configure.ac): ... to here.
7492
7493 2011-05-21  Bruno Haible  <bruno@clisp.org>
7494
7495         rename: Respect rules for use of AC_LIBOBJ.
7496         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7497         here...
7498         * modules/rename (configure.ac): ... to here.
7499
7500 2011-05-21  Bruno Haible  <bruno@clisp.org>
7501
7502         remove: Move AC_LIBOBJ invocations to module description.
7503         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7504         here...
7505         * modules/remove (configure.ac): ... to here.
7506
7507 2011-05-21  Bruno Haible  <bruno@clisp.org>
7508
7509         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7510         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7511         macro.
7512         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7513         * modules/relocatable-lib (configure.ac): ... to here.
7514         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7515         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7516
7517 2011-05-21  Bruno Haible  <bruno@clisp.org>
7518
7519         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7520         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7521         here...
7522         * modules/relocatable-prog (configure.ac): ... to here.
7523
7524 2011-05-21  Bruno Haible  <bruno@clisp.org>
7525
7526         regex: Move AC_LIBOBJ invocations to module description.
7527         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7528         invocations from here...
7529         * modules/regex (configure.ac): ... to here.
7530
7531 2011-05-21  Bruno Haible  <bruno@clisp.org>
7532
7533         realloc-*: Move AC_LIBOBJ invocations to module description.
7534         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7535         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7536         AC_LIBOBJ invocations from here...
7537         * modules/realloc-gnu (configure.ac): ... to here.
7538         * modules/realloc-posix (configure.ac): ... and here.
7539
7540 2011-05-21  Bruno Haible  <bruno@clisp.org>
7541
7542         readutmp: Move AC_LIBOBJ invocations to module description.
7543         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7544         * modules/readutmp (configure.ac): ... to here.
7545
7546 2011-05-21  Bruno Haible  <bruno@clisp.org>
7547
7548         readlinkat: Move AC_LIBOBJ invocations to module description.
7549         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7550         here...
7551         * modules/readlinkat (configure.ac): ... to here.
7552
7553 2011-05-21  Bruno Haible  <bruno@clisp.org>
7554
7555         readlink: Move AC_LIBOBJ invocations to module description.
7556         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7557         gl_PREREQ_READLINK invocations from here...
7558         * modules/readlink (configure.ac): ... to here.
7559
7560 2011-05-21  Bruno Haible  <bruno@clisp.org>
7561
7562         readline: Move AC_LIBOBJ invocations to module description.
7563         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7564         gl_PREREQ_READLINE invocations from here...
7565         * modules/readline (configure.ac): ... to here.
7566
7567 2011-05-21  Bruno Haible  <bruno@clisp.org>
7568
7569         read: Move AC_LIBOBJ invocations to module description.
7570         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7571         * modules/read (configure.ac): ... to here.
7572
7573 2011-05-21  Bruno Haible  <bruno@clisp.org>
7574
7575         rawmemchr: Move AC_LIBOBJ invocations to module description.
7576         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7577         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7578         from here...
7579         * modules/rawmemchr (configure.ac): ... to here.
7580
7581 2011-05-21  Bruno Haible  <bruno@clisp.org>
7582
7583         random_r: Move AC_LIBOBJ invocations to module description.
7584         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7585         gl_PREREQ_RANDOM_R invocations from here...
7586         * modules/random_r (configure.ac): ... to here.
7587
7588 2011-05-21  Bruno Haible  <bruno@clisp.org>
7589
7590         pwrite: Move AC_LIBOBJ invocations to module description.
7591         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7592         * modules/pwrite (configure.ac): ... to here.
7593
7594 2011-05-21  Bruno Haible  <bruno@clisp.org>
7595
7596         putenv: Move AC_LIBOBJ invocations to module description.
7597         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7598         * modules/putenv (configure.ac): ... to here.
7599
7600 2011-05-21  Bruno Haible  <bruno@clisp.org>
7601
7602         login_tty: Move AC_LIBOBJ invocations to module description.
7603         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7604         * modules/login_tty (configure.ac): ... to here.
7605
7606 2011-05-21  Bruno Haible  <bruno@clisp.org>
7607
7608         openpty: Move AC_LIBOBJ invocations to module description.
7609         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7610         * modules/openpty (configure.ac): ... to here.
7611
7612 2011-05-21  Bruno Haible  <bruno@clisp.org>
7613
7614         forkpty: Move AC_LIBOBJ invocations to module description.
7615         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7616         * modules/forkpty (configure.ac): ... to here.
7617
7618 2011-05-21  Bruno Haible  <bruno@clisp.org>
7619
7620         ptsname: Move AC_LIBOBJ invocations to module description.
7621         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7622         invocations from here...
7623         * modules/ptsname (configure.ac): ... to here.
7624
7625 2011-05-21  Bruno Haible  <bruno@clisp.org>
7626
7627         pread: Move AC_LIBOBJ invocations to module description.
7628         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7629         * modules/pread (configure.ac): ... to here.
7630
7631 2011-05-21  Bruno Haible  <bruno@clisp.org>
7632
7633         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7634         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7635         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7636         * modules/posix_spawn (configure.ac): ... to here.
7637         * modules/posix_spawnp (configure.ac): ... and here.
7638
7639 2011-05-21  Bruno Haible  <bruno@clisp.org>
7640
7641         popen: Move AC_LIBOBJ invocations to module description.
7642         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7643         invocations from here...
7644         * modules/popen (configure.ac): ... to here.
7645
7646 2011-05-21  Bruno Haible  <bruno@clisp.org>
7647
7648         poll: Move AC_LIBOBJ invocations to module description.
7649         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7650         invocations from here...
7651         * modules/poll (configure.ac): ... to here.
7652
7653 2011-05-21  Bruno Haible  <bruno@clisp.org>
7654
7655         pipe-posix: Move AC_LIBOBJ invocations to module description.
7656         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7657         * modules/pipe-posix (configure.ac): ... to here.
7658
7659 2011-05-21  Bruno Haible  <bruno@clisp.org>
7660
7661         openat: Respect rules for use of AC_LIBOBJ.
7662         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7663         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7664         * modules/openat (configure.ac): ... to here.
7665
7666 2011-05-21  Bruno Haible  <bruno@clisp.org>
7667
7668         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7669         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7670         invocation from here...
7671         * modules/obstack-printf (configure.ac): ... to here.
7672         * modules/obstack-printf-posix (configure.ac): ... and here.
7673
7674 2011-05-21  Bruno Haible  <bruno@clisp.org>
7675
7676         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7677         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7678         from here...
7679         * modules/nl_langinfo (configure.ac): ... to here.
7680
7681 2011-05-21  Bruno Haible  <bruno@clisp.org>
7682
7683         nanosleep: Move AC_LIBOBJ invocations to module description.
7684         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7685         gl_PREREQ_NANOSLEEP invocations from here...
7686         * modules/nanosleep (configure.ac): ... to here.
7687
7688 2011-05-21  Bruno Haible  <bruno@clisp.org>
7689
7690         mountlist: Move AC_LIBOBJ invocations to module description.
7691         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7692         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7693         * modules/mountlist (configure.ac): ... to here.
7694
7695 2011-05-21  Bruno Haible  <bruno@clisp.org>
7696
7697         mktime: Respect rules for use of AC_LIBOBJ.
7698         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7699         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7700         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7701         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7702         * modules/mktime (configure.ac): ... to here.
7703         * modules/mktime-internal (configure.ac): ... and here.
7704         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7705
7706 2011-05-21  Bruno Haible  <bruno@clisp.org>
7707
7708         mkstemps: Move AC_LIBOBJ invocations to module description.
7709         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7710         here...
7711         * modules/mkstemps (configure.ac): ... to here.
7712
7713 2011-05-21  Bruno Haible  <bruno@clisp.org>
7714
7715         mkstemp: Move AC_LIBOBJ invocations to module description.
7716         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7717         gl_PREREQ_MKSTEMP invocations from here...
7718         * modules/mkstemp (configure.ac): ... to here.
7719
7720 2011-05-21  Bruno Haible  <bruno@clisp.org>
7721
7722         mkostemps: Move AC_LIBOBJ invocations to module description.
7723         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7724         here...
7725         * modules/mkostemps (configure.ac): ... to here.
7726
7727 2011-05-21  Bruno Haible  <bruno@clisp.org>
7728
7729         mkostemp: Move AC_LIBOBJ invocations to module description.
7730         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7731         gl_PREREQ_MKOSTEMP invocations from here...
7732         * modules/mkostemp (configure.ac): ... to here.
7733
7734 2011-05-21  Bruno Haible  <bruno@clisp.org>
7735
7736         mknod: Move AC_LIBOBJ invocations to module description.
7737         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7738         * modules/mknod (configure.ac): ... to here.
7739
7740 2011-05-21  Bruno Haible  <bruno@clisp.org>
7741
7742         mkfifoat: Move AC_LIBOBJ invocations to module description.
7743         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7744         here...
7745         * modules/mkfifoat (configure.ac): ... to here.
7746
7747 2011-05-21  Bruno Haible  <bruno@clisp.org>
7748
7749         mkfifo: Respect rules for use of AC_LIBOBJ.
7750         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7751         here...
7752         * modules/mkfifo (configure.ac): ... to here.
7753
7754 2011-05-21  Bruno Haible  <bruno@clisp.org>
7755
7756         mkdtemp: Move AC_LIBOBJ invocations to module description.
7757         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7758         invocations from here...
7759         * modules/mkdtemp (configure.ac): ... to here.
7760
7761 2011-05-21  Bruno Haible  <bruno@clisp.org>
7762
7763         mkdir: Move AC_LIBOBJ invocations to module description.
7764         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7765         * modules/mkdir (configure.ac): ... to here.
7766
7767 2011-05-21  Bruno Haible  <bruno@clisp.org>
7768
7769         memset: Move AC_LIBOBJ invocations to module description.
7770         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7771         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7772         here...
7773         * modules/memset (configure.ac): ... to here.
7774
7775 2011-05-21  Bruno Haible  <bruno@clisp.org>
7776
7777         memrchr: Move AC_LIBOBJ invocations to module description.
7778         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7779         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7780         here...
7781         * modules/memrchr (configure.ac): ... to here.
7782
7783 2011-05-21  Bruno Haible  <bruno@clisp.org>
7784
7785         mempcpy: Move AC_LIBOBJ invocations to module description.
7786         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7787         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7788         here...
7789         * modules/mempcpy (configure.ac): ... to here.
7790
7791 2011-05-21  Bruno Haible  <bruno@clisp.org>
7792
7793         memmove: Move AC_LIBOBJ invocations to module description.
7794         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7795         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7796         here...
7797         * modules/memmove (configure.ac): ... to here.
7798
7799 2011-05-21  Bruno Haible  <bruno@clisp.org>
7800
7801         memmem*: Move AC_LIBOBJ invocations to module description.
7802         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7803         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7804         here...
7805         (gl_FUNC_MEMMEM): ... and here...
7806         * modules/memmem-simple (configure.ac): ... to here.
7807         * modules/memmem (configure.ac): ... and here.
7808
7809 2011-05-21  Bruno Haible  <bruno@clisp.org>
7810
7811         memcpy: Move AC_LIBOBJ invocations to module description.
7812         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7813         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7814         here...
7815         * modules/memcpy (configure.ac): ... to here.
7816
7817 2011-05-21  Bruno Haible  <bruno@clisp.org>
7818
7819         memcmp: Simplify autoconf macro.
7820         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7821         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7822         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7823
7824 2011-05-21  Bruno Haible  <bruno@clisp.org>
7825
7826         memcmp: Move AC_LIBOBJ invocations to module description.
7827         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7828         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7829         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7830         * modules/memcmp (configure.ac): ... to here.
7831         (Depends-on): Update conditions.
7832
7833 2011-05-21  Bruno Haible  <bruno@clisp.org>
7834
7835         memchr: Respect rules for use of AC_LIBOBJ.
7836         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7837         invocations from here...
7838         * modules/memchr (configure.ac): ... to here.
7839
7840 2011-05-21  Bruno Haible  <bruno@clisp.org>
7841
7842         mbtowc: Move AC_LIBOBJ invocations to module description.
7843         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7844         invocations from here...
7845         * modules/mbtowc (configure.ac): ... to here.
7846
7847 2011-05-21  Bruno Haible  <bruno@clisp.org>
7848
7849         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7850         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7851         gl_PREREQ_MBSRTOWCS invocations from here...
7852         * modules/mbsrtowcs (configure.ac): ... to here.
7853
7854 2011-05-21  Bruno Haible  <bruno@clisp.org>
7855
7856         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7857         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7858         gl_PREREQ_MBSNRTOWCS invocations from here...
7859         * modules/mbsnrtowcs (configure.ac): ... to here.
7860
7861 2011-05-21  Bruno Haible  <bruno@clisp.org>
7862
7863         mbsinit: Move AC_LIBOBJ invocations to module description.
7864         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7865         invocations from here...
7866         * modules/mbsinit (configure.ac): ... to here.
7867
7868 2011-05-21  Bruno Haible  <bruno@clisp.org>
7869
7870         mbrlen: Move AC_LIBOBJ invocations to module description.
7871         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7872         invocations from here...
7873         * modules/mbrlen (configure.ac): ... to here.
7874
7875 2011-05-21  Bruno Haible  <bruno@clisp.org>
7876
7877         mbrtowc: Respect rules for use of AC_LIBOBJ.
7878         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7879         invocations from here...
7880         * modules/mbrtowc (configure.ac): ... to here.
7881
7882 2011-05-21  Bruno Haible  <bruno@clisp.org>
7883
7884         malloc-*: Move AC_LIBOBJ invocations to module description.
7885         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7886         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7887         AC_LIBOBJ invocations from here...
7888         * modules/malloc-gnu (configure.ac): ... to here.
7889         * modules/malloc-posix (configure.ac): ... and here.
7890
7891 2011-05-21  Bruno Haible  <bruno@clisp.org>
7892
7893         lstat, openat: Respect rules for use of AC_LIBOBJ.
7894         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7895         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7896         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7897         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7898         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7899         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7900         here.
7901         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7902
7903 2011-05-21  Bruno Haible  <bruno@clisp.org>
7904
7905         lseek: Move AC_LIBOBJ invocations to module description.
7906         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7907         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7908         * modules/lseek (configure.ac): ... to here.
7909
7910 2011-05-21  Bruno Haible  <bruno@clisp.org>
7911
7912         linkat: Move AC_LIBOBJ invocations to module description.
7913         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7914         here...
7915         * modules/linkat (configure.ac): ... to here.
7916
7917 2011-05-21  Bruno Haible  <bruno@clisp.org>
7918
7919         link: Respect rules for use of AC_LIBOBJ.
7920         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7921         * modules/link (configure.ac): ... to here.
7922
7923 2011-05-21  Bruno Haible  <bruno@clisp.org>
7924
7925         lchown: Move AC_LIBOBJ invocations to module description.
7926         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
7927         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7928         * modules/lchown (configure.ac): ... to here.
7929
7930 2011-05-21  Bruno Haible  <bruno@clisp.org>
7931
7932         iswctype: Move AC_LIBOBJ invocations to module description.
7933         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
7934         here...
7935         * modules/iswctype (configure.ac): ... to here.
7936
7937 2011-05-21  Bruno Haible  <bruno@clisp.org>
7938
7939         iswblank: Move AC_LIBOBJ invocations to module description.
7940         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
7941         here...
7942         * modules/iswblank (configure.ac): ... to here.
7943
7944 2011-05-21  Bruno Haible  <bruno@clisp.org>
7945
7946         atanl: Move AC_LIBOBJ invocations to module description.
7947         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
7948         * modules/atanl (configure.ac): ... to here.
7949
7950 2011-05-21  Bruno Haible  <bruno@clisp.org>
7951
7952         acosl: Move AC_LIBOBJ invocations to module description.
7953         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
7954         * modules/acosl (configure.ac): ... to here.
7955
7956 2011-05-21  Bruno Haible  <bruno@clisp.org>
7957
7958         asinl: Respect rules for use of AC_LIBOBJ.
7959         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
7960         * modules/asinl (configure.ac): ... to here.
7961
7962 2011-05-21  Bruno Haible  <bruno@clisp.org>
7963
7964         tanl: Move AC_LIBOBJ invocations to module description.
7965         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
7966         * modules/tanl (configure.ac): ... to here.
7967
7968 2011-05-21  Bruno Haible  <bruno@clisp.org>
7969
7970         cosl: Move AC_LIBOBJ invocations to module description.
7971         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
7972         * modules/cosl (configure.ac): ... to here.
7973
7974 2011-05-21  Bruno Haible  <bruno@clisp.org>
7975
7976         sinl: Move AC_LIBOBJ invocations to module description.
7977         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
7978         * modules/sinl (configure.ac): ... to here.
7979
7980 2011-05-21  Bruno Haible  <bruno@clisp.org>
7981
7982         logl: Move AC_LIBOBJ invocations to module description.
7983         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
7984         * modules/logl (configure.ac): ... to here.
7985
7986 2011-05-21  Bruno Haible  <bruno@clisp.org>
7987
7988         expl: Move AC_LIBOBJ invocations to module description.
7989         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
7990         * modules/expl (configure.ac): ... to here.
7991
7992 2011-05-21  Bruno Haible  <bruno@clisp.org>
7993
7994         roundl: Move AC_LIBOBJ invocations to module description.
7995         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
7996         * modules/roundl (configure.ac): ... to here.
7997
7998 2011-05-21  Bruno Haible  <bruno@clisp.org>
7999
8000         round: Move AC_LIBOBJ invocations to module description.
8001         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8002         * modules/round (configure.ac): ... to here.
8003
8004 2011-05-21  Bruno Haible  <bruno@clisp.org>
8005
8006         roundf: Move AC_LIBOBJ invocations to module description.
8007         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8008         * modules/roundf (configure.ac): ... to here.
8009
8010 2011-05-21  Bruno Haible  <bruno@clisp.org>
8011
8012         truncl: Move AC_LIBOBJ invocations to module description.
8013         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8014         * modules/truncl (configure.ac): ... to here.
8015
8016 2011-05-21  Bruno Haible  <bruno@clisp.org>
8017
8018         trunc: Move AC_LIBOBJ invocations to module description.
8019         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8020         * modules/trunc (configure.ac): ... to here.
8021
8022 2011-05-21  Bruno Haible  <bruno@clisp.org>
8023
8024         truncf: Move AC_LIBOBJ invocations to module description.
8025         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8026         * modules/truncf (configure.ac): ... to here.
8027
8028 2011-05-21  Bruno Haible  <bruno@clisp.org>
8029
8030         ceill: Move AC_LIBOBJ invocations to module description.
8031         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8032         * modules/ceill (configure.ac): ... to here.
8033
8034 2011-05-21  Bruno Haible  <bruno@clisp.org>
8035
8036         ceil: Move AC_LIBOBJ invocations to module description.
8037         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8038         * modules/ceil (configure.ac): ... to here.
8039
8040 2011-05-21  Bruno Haible  <bruno@clisp.org>
8041
8042         ceilf: Move AC_LIBOBJ invocations to module description.
8043         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8044         * modules/ceilf (configure.ac): ... to here.
8045
8046 2011-05-21  Bruno Haible  <bruno@clisp.org>
8047
8048         floorl: Respect rules for use of AC_LIBOBJ.
8049         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8050         * modules/floorl (configure.ac): ... to here.
8051
8052 2011-05-21  Bruno Haible  <bruno@clisp.org>
8053
8054         floor: Respect rules for use of AC_LIBOBJ.
8055         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8056         * modules/floor (configure.ac): ... to here.
8057
8058 2011-05-21  Bruno Haible  <bruno@clisp.org>
8059
8060         floorf: Move AC_LIBOBJ invocations to module description.
8061         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8062         * modules/floorf (configure.ac): ... to here.
8063
8064 2011-05-20  Bruno Haible  <bruno@clisp.org>
8065
8066         sqrtl: Respect rules for use of AC_LIBOBJ.
8067         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8068         * modules/sqrtl (configure.ac): ... to here.
8069
8070 2011-05-20  Bruno Haible  <bruno@clisp.org>
8071
8072         ldexpl: Respect rules for use of AC_LIBOBJ.
8073         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8074         * modules/ldexpl (configure.ac): ... to here.
8075
8076 2011-05-20  Bruno Haible  <bruno@clisp.org>
8077
8078         frexpl*: Respect rules for use of AC_LIBOBJ.
8079         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8080         invocation from here...
8081         * modules/frexpl (configure.ac): ... to here.
8082         * modules/frexpl-nolibm (configure.ac): ... and here.
8083
8084 2011-05-20  Bruno Haible  <bruno@clisp.org>
8085
8086         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8087         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8088         invocation from here...
8089         * modules/frexp (configure.ac): ... to here.
8090         * modules/frexp-nolibm (configure.ac): ... and here.
8091
8092 2011-05-20  Bruno Haible  <bruno@clisp.org>
8093
8094         isnan: Respect rules for use of AC_LIBOBJ.
8095         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8096         invocations here.
8097         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8098         REPLACE_ISNAN.
8099         * modules/isnand (configure.ac): Likewise.
8100         * modules/isnanl (configure.ac): Likewise.
8101
8102 2011-05-20  Bruno Haible  <bruno@clisp.org>
8103
8104         isnanl*: Respect rules for use of AC_LIBOBJ.
8105         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8106         invocation from here...
8107         * modules/isnanl (configure.ac): ... to here.
8108         * modules/isnanl-nolibm (configure.ac): ... and here.
8109
8110 2011-05-20  Bruno Haible  <bruno@clisp.org>
8111
8112         isnand*: Move AC_LIBOBJ invocations to module description.
8113         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8114         invocation from here...
8115         * modules/isnand (configure.ac): ... to here.
8116         * modules/isnand-nolibm (configure.ac): ... and here.
8117
8118 2011-05-20  Bruno Haible  <bruno@clisp.org>
8119
8120         isnanf*: Move AC_LIBOBJ invocations to module description.
8121         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8122         invocation from here...
8123         * modules/isnanf (configure.ac): ... to here.
8124         * modules/isnanf-nolibm (configure.ac): ... and here.
8125
8126 2011-05-20  Bruno Haible  <bruno@clisp.org>
8127
8128         isnan*: Separate the AC_LIBOBJ invocations.
8129         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8130         AC_LIBOBJ invocation.
8131         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8132         here.
8133         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8134         AC_LIBOBJ invocation.
8135         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8136         here.
8137         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8138         AC_LIBOBJ invocation.
8139         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8140         here.
8141         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8142
8143 2011-05-08  Bruno Haible  <bruno@clisp.org>
8144
8145         isinf: Move AC_LIBOBJ invocations to module description.
8146         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8147         * modules/isinf (configure.ac): ... to here.
8148
8149 2011-05-08  Bruno Haible  <bruno@clisp.org>
8150
8151         isfinite: Move AC_LIBOBJ invocations to module description.
8152         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8153         * modules/isfinite (configure.ac): ... to here.
8154
8155 2011-05-08  Bruno Haible  <bruno@clisp.org>
8156
8157         isblank: Move AC_LIBOBJ invocations to module description.
8158         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8159         here...
8160         * modules/isblank (configure.ac): ... to here.
8161
8162 2011-05-08  Bruno Haible  <bruno@clisp.org>
8163
8164         isapipe: Move AC_LIBOBJ invocations to module description.
8165         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8166         gl_PREREQ_ISAPIPE invocations from here...
8167         * modules/isapipe (configure.ac): ... to here.
8168         (Depends-on): Update condition.
8169
8170 2011-05-08  Bruno Haible  <bruno@clisp.org>
8171
8172         ioctl: Move AC_LIBOBJ invocations to module description.
8173         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8174         invocations from here...
8175         * modules/ioctl (configure.ac): ... to here.
8176         (Depends-on): Update condition.
8177
8178 2011-05-08  Bruno Haible  <bruno@clisp.org>
8179
8180         imaxdiv: Move AC_LIBOBJ invocations to module description.
8181         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8182         invocations from here...
8183         * modules/imaxdiv (configure.ac): ... to here.
8184
8185 2011-05-08  Bruno Haible  <bruno@clisp.org>
8186
8187         imaxabs: Move AC_LIBOBJ invocations to module description.
8188         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8189         invocations from here...
8190         * modules/imaxabs (configure.ac): ... to here.
8191
8192 2011-05-08  Bruno Haible  <bruno@clisp.org>
8193
8194         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8195         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8196         AC_LIBOBJ invocations from here...
8197         * modules/getaddrinfo (configure.ac): ... to here.
8198         (Depends-on): Add conditions.
8199
8200 2011-05-08  Bruno Haible  <bruno@clisp.org>
8201
8202         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8203         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8204         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8205         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8206         (gl_PREREQ_INET_PTON): ... from here.
8207         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8208         gl_PREREQ_INET_PTON here.
8209         (Depends-on): Update condition.
8210
8211 2011-05-08  Bruno Haible  <bruno@clisp.org>
8212
8213         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8214         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8215         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8216         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8217         (gl_PREREQ_INET_NTOP): ... from here.
8218         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8219         gl_PREREQ_INET_NTOP here.
8220         (Depends-on): Update condition.
8221
8222 2011-05-08  Bruno Haible  <bruno@clisp.org>
8223
8224         iconv_open: Move AC_LIBOBJ invocations to module description.
8225         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8226         AC_LIBOBJ invocations from here...
8227         * modules/iconv_open (configure.ac): ... to here.
8228
8229 2011-05-08  Bruno Haible  <bruno@clisp.org>
8230
8231         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8232         If module 'iconv_open' is among the main modules and module
8233         'iconv_open-utf' is among the tests dependencies, then
8234         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8235         return the special iconv_t values. Therefore iconv() and iconv_close()
8236         must support these special iconv_t values, already in lib, not only in
8237         tests.
8238         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8239         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8240         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8241         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8242         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8243         (Depends-on): Add the dependencies of iconv_open-utf.
8244         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8245         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8246         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8247
8248 2011-05-08  Bruno Haible  <bruno@clisp.org>
8249
8250         group-member: Move AC_LIBOBJ invocations to module description.
8251         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8252         gl_PREREQ_GROUP_MEMBER invocations from here...
8253         * modules/group-member (configure.ac): ... to here.
8254
8255 2011-05-08  Bruno Haible  <bruno@clisp.org>
8256
8257         grantpt: Move AC_LIBOBJ invocations to module description.
8258         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8259         invocations from here...
8260         * modules/grantpt (configure.ac): ... to here.
8261
8262 2011-05-08  Bruno Haible  <bruno@clisp.org>
8263
8264         glob: Move AC_LIBOBJ invocations to module description.
8265         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8266         from here...
8267         * modules/glob (configure.ac): ... to here.
8268
8269 2011-05-08  Bruno Haible  <bruno@clisp.org>
8270
8271         getusershell: Move AC_LIBOBJ invocations to module description.
8272         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8273         Move AC_LIBOBJ invocation from here...
8274         * modules/getusershell (configure.ac): ... to here.
8275         (Depends-on): Update condition.
8276
8277 2011-05-08  Bruno Haible  <bruno@clisp.org>
8278
8279         gettimeofday: Move AC_LIBOBJ invocations to module description.
8280         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8281         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8282         gl_PREREQ_GETTIMEOFDAY invocations from here...
8283         * modules/gettimeofday (configure.ac): ... to here.
8284
8285 2011-05-08  Bruno Haible  <bruno@clisp.org>
8286
8287         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8288         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8289         just gl_FUNC_TZSET.
8290         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8291         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8292         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8293         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8294
8295 2011-05-08  Bruno Haible  <bruno@clisp.org>
8296
8297         getsubopt: Move AC_LIBOBJ invocations to module description.
8298         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8299         gl_PREREQ_GETSUBOPT invocations from here...
8300         * modules/getsubopt (configure.ac): ... to here.
8301
8302 2011-05-08  Bruno Haible  <bruno@clisp.org>
8303
8304         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8305         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8306         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8307         * modules/getpass-gnu (configure.ac): ... to here.
8308
8309 2011-05-08  Bruno Haible  <bruno@clisp.org>
8310
8311         getpass: Move AC_LIBOBJ invocations to module description.
8312         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8313         gl_PREREQ_GETPASS invocations from here...
8314         * modules/getpass (configure.ac): ... to here.
8315
8316 2011-05-08  Bruno Haible  <bruno@clisp.org>
8317
8318         getpagesize: Move AC_LIBOBJ invocations to module description.
8319         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8320         from here...
8321         * modules/getpagesize (configure.ac): ... to here.
8322
8323 2011-05-08  Bruno Haible  <bruno@clisp.org>
8324
8325         getopt: Move AC_LIBOBJ invocations to module description.
8326         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8327         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8328         invocations from here...
8329         * modules/getopt-gnu (configure.ac): ... to here.
8330         * modules/getopt-posix (configure.ac): ... and here.
8331         (Depends-on): Update condition.
8332
8333 2011-05-08  Bruno Haible  <bruno@clisp.org>
8334
8335         getopt, argp: Respect rules for use of AC_LIBOBJ.
8336         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8337         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8338         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8339         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8340
8341 2011-05-08  Bruno Haible  <bruno@clisp.org>
8342
8343         getlogin_r: Move AC_LIBOBJ invocations to module description.
8344         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8345         gl_PREREQ_GETLOGIN_R invocations from here...
8346         * modules/getlogin_r (configure.ac): ... to here.
8347
8348 2011-05-08  Bruno Haible  <bruno@clisp.org>
8349
8350         getlogin: Move AC_LIBOBJ invocations to module description.
8351         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8352         here...
8353         * modules/getlogin (configure.ac): ... to here.
8354
8355 2011-05-08  Bruno Haible  <bruno@clisp.org>
8356
8357         getloadavg: Move AC_LIBOBJ invocations to module description.
8358         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8359         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8360         * modules/getloadavg (configure.ac): ... to here.
8361
8362 2011-05-08  Bruno Haible  <bruno@clisp.org>
8363
8364         gethrxtime: Move AC_LIBOBJ invocations to module description.
8365         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8366         LIB_GETHRXTIME from here...
8367         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8368         invocations from here...
8369         * modules/gethrxtime (configure.ac): ... to here.
8370
8371 2011-05-08  Bruno Haible  <bruno@clisp.org>
8372
8373         gethostname: Move AC_LIBOBJ invocations to module description.
8374         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8375         gl_PREREQ_GETHOSTNAME invocations from here...
8376         * modules/gethostname (configure.ac): ... to here.
8377
8378 2011-05-08  Bruno Haible  <bruno@clisp.org>
8379
8380         getgroups: Move AC_LIBOBJ invocations to module description.
8381         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8382         here...
8383         * modules/getgroups (configure.ac): ... to here.
8384
8385 2011-05-08  Bruno Haible  <bruno@clisp.org>
8386
8387         getdtablesize: Move AC_LIBOBJ invocations to module description.
8388         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8389         invocation from here...
8390         * modules/getdtablesize (configure.ac): ... to here.
8391
8392 2011-05-08  Bruno Haible  <bruno@clisp.org>
8393
8394         getdomainname: Move AC_LIBOBJ invocations to module description.
8395         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8396         gl_PREREQ_GETDOMAINNAME invocations from here...
8397         * modules/getdomainname (configure.ac): ... to here.
8398
8399 2011-05-08  Bruno Haible  <bruno@clisp.org>
8400
8401         getline: Move AC_LIBOBJ invocations to module description.
8402         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8403         invocations from here...
8404         * modules/getline (configure.ac): ... to here.
8405
8406 2011-05-08  Bruno Haible  <bruno@clisp.org>
8407
8408         getline: Simplify.
8409         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8410         It's already handled through the module dependency.
8411
8412 2011-05-08  Bruno Haible  <bruno@clisp.org>
8413
8414         getdelim: Move AC_LIBOBJ invocations to module description.
8415         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8416         and gl_PREREQ_GETDELIM invocations from here...
8417         * modules/getdelim (configure.ac): ... to here.
8418         (Depends-on): Fix condition.
8419
8420 2011-05-08  Bruno Haible  <bruno@clisp.org>
8421
8422         getcwd: Move AC_LIBOBJ invocations to module description.
8423         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8424         invocations from here...
8425         * modules/getcwd (configure.ac): ... to here.
8426
8427 2011-05-08  Bruno Haible  <bruno@clisp.org>
8428
8429         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8430         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8431         here...
8432         * modules/getcwd-lgpl (configure.ac): ... to here.
8433
8434 2011-05-07  Bruno Haible  <bruno@clisp.org>
8435
8436         crypto/gc: Move AC_LIBOBJ invocations to module description.
8437         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8438         * modules/crypto/gc (configure.ac): ... to here.
8439
8440 2011-05-07  Bruno Haible  <bruno@clisp.org>
8441
8442         fwriting: Move AC_LIBOBJ invocations to module description.
8443         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8444         here...
8445         * modules/fwriting (configure.ac): ... to here.
8446
8447 2011-05-07  Bruno Haible  <bruno@clisp.org>
8448
8449         fwritable: Move AC_LIBOBJ invocations to module description.
8450         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8451         here...
8452         * modules/fwritable (configure.ac): ... to here.
8453
8454 2011-05-07  Bruno Haible  <bruno@clisp.org>
8455
8456         futimens: Move AC_LIBOBJ invocations to module description.
8457         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8458         here...
8459         * modules/futimens (configure.ac): ... to here.
8460
8461 2011-05-07  Bruno Haible  <bruno@clisp.org>
8462
8463         ftruncate: Move AC_LIBOBJ invocations to module description.
8464         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8465         gl_PREREQ_FTRUNCATE invocations from here...
8466         * modules/ftruncate (configure.ac): ... to here.
8467
8468 2011-05-07  Bruno Haible  <bruno@clisp.org>
8469
8470         fsync: Move AC_LIBOBJ invocations to module description.
8471         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8472         invocations from here...
8473         * modules/fsync (configure.ac): ... to here.
8474
8475 2011-05-07  Bruno Haible  <bruno@clisp.org>
8476
8477         fsusage: Move AC_LIBOBJ invocations to module description.
8478         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8479         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8480         * modules/fsusage (configure.ac): ... to here.
8481
8482 2011-05-07  Bruno Haible  <bruno@clisp.org>
8483
8484         freopen: Move AC_LIBOBJ invocations to module description.
8485         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8486         invocations from here...
8487         * modules/freopen (configure.ac): ... to here.
8488
8489 2011-05-07  Bruno Haible  <bruno@clisp.org>
8490
8491         free: Move AC_LIBOBJ invocations to module description.
8492         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8493         invocations from here...
8494         * modules/free (configure.ac): ... to here.
8495
8496 2011-05-07  Bruno Haible  <bruno@clisp.org>
8497
8498         freadable: Move AC_LIBOBJ invocations to module description.
8499         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8500         here...
8501         * modules/freadable (configure.ac): ... to here.
8502
8503 2011-05-07  Bruno Haible  <bruno@clisp.org>
8504
8505         fpurge: Move AC_LIBOBJ invocations to module description.
8506         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8507         invocations from here...
8508         * modules/fpurge (configure.ac): ... to here.
8509
8510 2011-05-07  Bruno Haible  <bruno@clisp.org>
8511
8512         fpending: Move AC_LIBOBJ invocations to module description.
8513         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8514         gl_FUNC_FPENDING.
8515         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8516         invocations from here...
8517         * modules/fpending (configure.ac): ... to here.
8518
8519 2011-05-07  Bruno Haible  <bruno@clisp.org>
8520
8521         fopen: Move AC_LIBOBJ invocations to module description.
8522         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8523         invocations from here...
8524         * modules/fopen (configure.ac): ... to here.
8525
8526 2011-05-07  Bruno Haible  <bruno@clisp.org>
8527
8528         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8529         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8530         gl_FUNC_FNMATCH_POSIX.
8531         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8532         invocations from here...
8533         * modules/fnmatch (configure.ac): ... to here.
8534         * modules/fnmatch-gnu (configure.ac): ... and here.
8535
8536 2011-05-07  Bruno Haible  <bruno@clisp.org>
8537
8538         flock: Move AC_LIBOBJ invocations to module description.
8539         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8540         invocations from here...
8541         * modules/flock (configure.ac): ... to here.
8542
8543 2011-05-07  Bruno Haible  <bruno@clisp.org>
8544
8545         fileblocks: Move AC_LIBOBJ invocations to module description.
8546         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8547         gl_PREREQ_FILEBLOCKS invocations from here...
8548         * modules/fileblocks (configure.ac): ... to here.
8549
8550 2011-05-06  Bruno Haible  <bruno@clisp.org>
8551
8552         fflush: Move AC_LIBOBJ invocations to module description.
8553         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8554         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8555         invocations from here...
8556         * modules/fflush (configure.ac): ... to here.
8557
8558 2011-05-06  Bruno Haible  <bruno@clisp.org>
8559
8560         fdopendir: Move AC_LIBOBJ invocations to module description.
8561         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8562         here...
8563         * modules/fdopendir (configure.ac): ... to here.
8564         (Depends-on): Improve conditions.
8565
8566 2011-05-06  Bruno Haible  <bruno@clisp.org>
8567
8568         _Exit: Move AC_LIBOBJ invocations to module description.
8569         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8570         invocations from here...
8571         * modules/_Exit (configure.ac): ... to here.
8572
8573 2011-05-21  Bruno Haible  <bruno@clisp.org>
8574
8575         euidaccess: Respect rules for use of AC_LIBOBJ.
8576         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8577         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8578         from here...
8579         * modules/euidaccess (configure.ac): ... to here.
8580
8581 2011-05-06  Bruno Haible  <bruno@clisp.org>
8582
8583         error: Move AC_LIBOBJ invocations to module description.
8584         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8585         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8586         invocations from here...
8587         * modules/error (configure.ac): ... to here.
8588
8589 2011-05-06  Bruno Haible  <bruno@clisp.org>
8590
8591         duplocale: Move AC_LIBOBJ invocations to module description.
8592         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8593         gl_PREREQ_DUPLOCALE invocations from here...
8594         * modules/duplocale (configure.ac): ... to here.
8595
8596 2011-05-05  Bruno Haible  <bruno@clisp.org>
8597
8598         dirfd: Move AC_LIBOBJ invocations to module description.
8599         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8600         gl_FUNC_DIRFD.
8601         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8602         here...
8603         * modules/dirfd (configure.ac): ... to here.
8604         (Depends-on): Fix condition.
8605
8606 2011-05-05  Bruno Haible  <bruno@clisp.org>
8607
8608         chown: Respect rules for use of AC_LIBOBJ.
8609         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8610         * modules/chown (configure.ac): ... to here.
8611
8612 2011-05-05  Bruno Haible  <bruno@clisp.org>
8613
8614         chdir-long: Move AC_LIBOBJ invocations to module description.
8615         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8616         gl_PREREQ_CHDIR_LONG invocations from here...
8617         * modules/chdir-long (configure.ac): ... to here.
8618
8619 2011-05-05  Bruno Haible  <bruno@clisp.org>
8620
8621         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8622         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8623         from here...
8624         * modules/canonicalize-lgpl (configure.ac): ... to here.
8625
8626 2011-05-05  Bruno Haible  <bruno@clisp.org>
8627
8628         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8629         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8630         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8631         REPLACE_CALLOC.
8632         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8633         * modules/calloc-gnu (configure.ac): Likewise.
8634
8635 2011-05-05  Bruno Haible  <bruno@clisp.org>
8636
8637         btowc: Move AC_LIBOBJ invocations to module description.
8638         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8639         invocations from here...
8640         * modules/btowc (configure.ac): ... to here.
8641
8642 2011-05-21  Bruno Haible  <bruno@clisp.org>
8643
8644         atexit: Move AC_LIBOBJ invocations to module description.
8645         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8646         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8647         here...
8648         * modules/atexit (configure.ac): ... to here.
8649
8650 2011-05-05  Bruno Haible  <bruno@clisp.org>
8651
8652         atoll: Move AC_LIBOBJ invocations to module description.
8653         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8654         invocations from here...
8655         * modules/atoll (configure.ac): ... to here.
8656
8657 2011-05-05  Bruno Haible  <bruno@clisp.org>
8658
8659         argz: Move AC_LIBOBJ invocations to module description.
8660         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8661         * modules/argz (configure.ac): ... to here.
8662
8663 2011-05-05  Bruno Haible  <bruno@clisp.org>
8664
8665         alphasort: Move AC_LIBOBJ invocations to module description.
8666         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8667         gl_PREREQ_ALPHASORT invocations from here...
8668         * modules/alphasort (configure.ac): ... to here.
8669
8670 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8671
8672         verify: new macro verify_expr; verify_true deprecated
8673         * NEWS: Mention this.
8674         * doc/verify.texi (Compile-time Assertions): Document this.
8675         * lib/verify.h (verify_true): Deprecate.
8676         (verify_expr): New macro.
8677         * tests/test-verify.c (function): Test verify_expr.
8678
8679 2011-06-14  Jim Meyering  <meyering@redhat.com>
8680
8681         init.sh: give more portable redirection-related advice in a comment
8682         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8683         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8684         for lots of discussion.  Stefano Lattarini suggested the solution
8685         of putting "9>&2" after the command.  Reported by Bruno Haible.
8686
8687 2011-06-13  Bruno Haible  <bruno@clisp.org>
8688
8689         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8690         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8691         'none'.
8692
8693 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8694
8695         ftoastr: use strtof only if HAVE_STRTOF
8696         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8697         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8698         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8699         * modules/ftoastr (configure.ac): Check for strtof.
8700
8701 2011-06-13  Bruno Haible  <bruno@clisp.org>
8702
8703         gnulib-tool: Addendum to 2011-06-08 commit.
8704         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8705         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8706
8707 2011-06-13  Bruno Haible  <bruno@clisp.org>
8708
8709         fseeko: Provide a non-inline replacement of fseek().
8710         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8711         * modules/fseeko (Depends-on): Add fseek.
8712         * modules/fseek (License): Change to LGPLv2+.
8713
8714 2011-06-13  Bruno Haible  <bruno@clisp.org>
8715
8716         ftello: Provide a non-inline replacement of ftell().
8717         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8718         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8719         not have ftello() (such as on mingw).
8720         * modules/ftello (Depends-on): Add ftell.
8721         * modules/ftell (License): Change to LGPLv2+.
8722
8723 2011-05-07  Bruno Haible  <bruno@clisp.org>
8724
8725         ftell: Move AC_LIBOBJ invocations to module description.
8726         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8727         * modules/ftell (configure.ac): ... to here.
8728
8729 2011-05-07  Bruno Haible  <bruno@clisp.org>
8730
8731         ftello: Respect rules for use of AC_LIBOBJ.
8732         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8733         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8734         here...
8735         * modules/ftello (configure.ac): ... to here.
8736
8737 2011-05-07  Bruno Haible  <bruno@clisp.org>
8738
8739         fseeko: Simplify.
8740         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8741         (gl_FUNC_FSEEKO): Inline it here.
8742
8743 2011-05-07  Bruno Haible  <bruno@clisp.org>
8744
8745         fseek: Move AC_LIBOBJ invocations to module description.
8746         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8747         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8748         * modules/fseek (configure.ac): ... to here.
8749
8750 2011-05-07  Bruno Haible  <bruno@clisp.org>
8751
8752         fseek: Respect rules for use of AC_LIBOBJ.
8753         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8754         here...
8755         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8756
8757 2011-05-07  Bruno Haible  <bruno@clisp.org>
8758
8759         fseeko: Respect rules for use of AC_LIBOBJ.
8760         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8761         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8762         here...
8763         * modules/fseeko (configure.ac): ... to here.
8764
8765 2011-06-13  Bruno Haible  <bruno@clisp.org>
8766
8767         gnulib-tool: Allow comments in the 'Depends-on' section.
8768         * doc/gnulib.texi (Module description): Mention comment syntax in the
8769         Depends-on section.
8770         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8771
8772 2011-06-13  Bruno Haible  <bruno@clisp.org>
8773
8774         file-set.h: guard __attibute__ use, now that it's not always defined
8775         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8776         versions that support it.  This fixes a coreutils build failure with
8777         the vendor cc on HP-UX 11.31.
8778
8779 2011-06-12  Bruno Haible  <bruno@clisp.org>
8780
8781         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8782         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8783         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8784         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8785         (acl, aclsort): New declarations.
8786         (aclv_nontrivial): New declaration.
8787         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8788         (file_has_acl): Read also the second kind of HP-UX ACLs.
8789         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8790         kind of HP-UX ACLs if the first kind fails.
8791         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8792         second kind of HP-UX ACLs.
8793         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8794         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8795         agree.
8796         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8797         hpuxjfs.
8798         Handle hpuxjfs.
8799         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8800         hpuxjfs.
8801         Handle hpuxjfs.
8802         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8803         (func_test_same_acls): Use both lsacl and getacl.
8804         Handle hpuxjfs.
8805         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8806         (func_test_same_acls): Use both lsacl and getacl.
8807         Handle hpuxjfs.
8808
8809 2011-06-12  Bruno Haible  <bruno@clisp.org>
8810
8811         acl: Complete the 2010-08-10 fix.
8812         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8813         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8814         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8815         explicitly.
8816         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8817         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8818
8819 2011-06-12  Bruno Haible  <bruno@clisp.org>
8820
8821         spawn-pipe tests: Comments.
8822         * tests/test-spawn-pipe-child.c (main): Update comment.
8823         Reported by James Youngman <jay@gnu.org>.
8824
8825 2011-06-11  James Youngman  <jay@gnu.org>
8826
8827         New module 'stat-size'.
8828         * modules/stat-size: New module.  Provides macros for accessing
8829         file size information in instances of struct stat.  Depends on the
8830         fileblocks module because it calls st_blocks.
8831         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8832         * doc/gnulib.texi: Include stat-size.texi.
8833         * doc/stat-size.texi: Documentation for this module.
8834         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8835         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8836         AC_STRUCT_ST_BLOCKS.
8837
8838 2011-06-09  Bruno Haible  <bruno@clisp.org>
8839
8840         thread: Support pthreads-win32.
8841         * lib/glthread/thread.h (gl_thread_self): Define differently on
8842         pthreads-win32.
8843         (gl_null_thread): New declaration.
8844         (gl_thread_self_pointer): New macro.
8845         * lib/glthread/thread.c (gl_null_thread): New constant.
8846         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8847         gl_thread_self.
8848         * tests/test-tls.c: Likewise.
8849         Suggested by Paul Eggert. Reported by Eric Blake.
8850
8851 2011-06-09  Bruno Haible  <bruno@clisp.org>
8852
8853         thread: Fix confusion between NULL and 0.
8854         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8855         Reported by Paul Eggert.
8856
8857 2011-06-09  Bruno Haible  <bruno@clisp.org>
8858
8859         spawn-pipe tests: Avoid test failure on HP-UX 11.
8860         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8861         is closed.
8862
8863 2011-06-09  Bruno Haible  <bruno@clisp.org>
8864
8865         acl tests: Fix compilation error on HP-UX 11.
8866         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8867
8868 2011-06-09  Bruno Haible  <bruno@clisp.org>
8869
8870         rmdir: Avoid test failure on HP-UX 10.20.
8871         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8872         EEXIST.
8873
8874 2011-06-08  Eric Blake  <eblake@redhat.com>
8875
8876         perror: fix test on mingw
8877         * modules/perror-tests (Depends-on): Add dup2.
8878
8879         strerror_r-posix: fix on MacOS
8880         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8881         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8882         logic bug.
8883         * lib/strerror_r.c (strerror_r): Fix the bug.
8884         * lib/strerror.c (strerror): Likewise.
8885         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8886         problem.
8887         * doc/posix-functions/strerror.texi (strerror): Likewise.
8888         * doc/posix-functions/perror.texi (perror): Likewise.
8889         * tests/test-strerror.c (main): Enhance test.
8890         * tests/test-strerror_r.c (main): Likewise.
8891
8892 2011-06-08  Bruno Haible  <bruno@clisp.org>
8893
8894         gnulib-tool: Better isolation between different gnulib-tool invocations.
8895         * gnulib-tool: New option --witness-c-macro.
8896         (witness_c_macro): New variable.
8897         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8898         AM_CPPFLAGS define it as a C macro.
8899         (func_emit_tests_Makefile_am): Likewise.
8900         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8901         read it from there.
8902         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8903         m4_define, not AC_DEFUN.
8904         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8905         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8906         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8907         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8908         s|...|...|, to substitute the values of the GNULIB_* module indicator
8909         variables.
8910         * modules/dirent (Makefile.am): Likewise.
8911         * modules/fcntl-h (Makefile.am): Likewise.
8912         * modules/iconv-h (Makefile.am): Likewise.
8913         * modules/langinfo (Makefile.am): Likewise.
8914         * modules/locale (Makefile.am): Likewise.
8915         * modules/math (Makefile.am): Likewise.
8916         * modules/netdb (Makefile.am): Likewise.
8917         * modules/poll-h (Makefile.am): Likewise.
8918         * modules/pty (Makefile.am): Likewise.
8919         * modules/search (Makefile.am): Likewise.
8920         * modules/signal (Makefile.am): Likewise.
8921         * modules/spawn (Makefile.am): Likewise.
8922         * modules/stdio (Makefile.am): Likewise.
8923         * modules/stdlib (Makefile.am): Likewise.
8924         * modules/string (Makefile.am): Likewise.
8925         * modules/sys_ioctl (Makefile.am): Likewise.
8926         * modules/sys_select (Makefile.am): Likewise.
8927         * modules/sys_socket (Makefile.am): Likewise.
8928         * modules/sys_stat (Makefile.am): Likewise.
8929         * modules/sys_times (Makefile.am): Likewise.
8930         * modules/sys_utsname (Makefile.am): Likewise.
8931         * modules/sys_wait (Makefile.am): Likewise.
8932         * modules/termios (Makefile.am): Likewise.
8933         * modules/time (Makefile.am): Likewise.
8934         * modules/unistd (Makefile.am): Likewise.
8935         * modules/wchar (Makefile.am): Likewise.
8936
8937 2011-06-08  Eric Blake  <eblake@redhat.com>
8938
8939         strerror: simplify replacement
8940         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
8941         * modules/strerror (configure.ac): No prereqs needed here...
8942         * modules/strerror-override (configure.ac): ...but this needs it.
8943         (Files): Add file for needed prereq macro.
8944
8945 2011-06-08  Bruno Haible  <bruno@clisp.org>
8946
8947         strerror_r-posix: Tweaks.
8948         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
8949         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
8950         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
8951         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
8952         (gl_FUNC_STRERROR_R): ... to here.
8953         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
8954
8955 2011-06-07  Eric Blake  <eblake@redhat.com>
8956
8957         perror: document fixed bugs
8958         * doc/posix-functions/perror.texi (perror): Document recent
8959         patches.
8960
8961 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
8962
8963         stat-time: get_stat_birthtime failure is better-defined
8964         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
8965         return a timestamp whose tv_sec and tv_nsec values are both -1.
8966         Previously, the spec said only that the tv_nsec value was negative.
8967         This upward-compatible change simplifies GNU tar a bit.
8968
8969 2011-06-07  Eric Blake  <eblake@redhat.com>
8970
8971         strerror_r-posix: work around cygwin 1.7.9
8972         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
8973         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
8974         bug without replacing strerror_r.
8975         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
8976         strerror_r is buggy, but without requiring strerror_r compilation.
8977         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
8978
8979         test-perror: relax test to ignore cygwin bug
8980         * tests/test-perror2.c (main): Relax test on requiring detection
8981         of stream errors, and use unbuffered stream.
8982         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
8983         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
8984         * doc/posix-functions/fputc.texi (fputc): Likewise.
8985         * doc/posix-functions/fputs.texi (fputs): Likewise.
8986         * doc/posix-functions/fputws.texi (fputws): Likewise.
8987         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
8988         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
8989         * doc/posix-functions/getopt.texi (getopt): Likewise.
8990         * doc/posix-functions/perror.texi (perror): Likewise.
8991         * doc/posix-functions/printf.texi (printf): Likewise.
8992         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
8993         * doc/posix-functions/psignal.texi (psignal): Likewise.
8994         * doc/posix-functions/putc.texi (putc): Likewise.
8995         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
8996         Likewise.
8997         * doc/posix-functions/putchar.texi (putchar): Likewise.
8998         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
8999         Likewise.
9000         * doc/posix-functions/puts.texi (puts): Likewise.
9001         * doc/posix-functions/putwc.texi (putwc): Likewise.
9002         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9003         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9004         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9005         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9006         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9007         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9008         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9009         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9010
9011 2011-05-22  Bruno Haible  <bruno@clisp.org>
9012
9013         strerror: Move AC_LIBOBJ invocations to module description.
9014         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9015         gl_PREREQ_STRERROR invocations from here...
9016         * modules/strerror (configure.ac): ... to here.
9017
9018 2011-05-21  Bruno Haible  <bruno@clisp.org>
9019
9020         perror: Use common idiom.
9021         * modules/perror (configure.ac): Reorder statements.
9022
9023 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9024
9025         tests: fix usage message in 'mktempd_'
9026         * tests/init.sh (mktempd_): In the usage message, use literal
9027         'mktempd_', not '$ME' (which is even undefined), as the name of
9028         the subroutine.
9029
9030 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9031
9032         tests init: new function 'fatal_', for hard errors
9033         Before this patch, the only way offered by tests/init.sh to
9034         properly signal a hard error was the `framework_failure_'
9035         function.  But the error message issued by that function,
9036         as its name would suggest, refers to a set-up failure in the
9037         testsuite, while hard errors can obviously also be due to
9038         other reasons.  The best way to fix this inconsistency is to
9039         introduce a new function with a more general error message.
9040         * tests/init.sh (fatal_): New function.
9041
9042 2011-06-06  Eric Blake  <eblake@redhat.com>
9043
9044         canonicalize-lgpl: use common idiom
9045         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9046         over newer POSIX -Rf.
9047         Reported by Bruno Haible.
9048
9049         canonicalize-lgpl: work around AIX realpath bug
9050         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9051         * doc/posix-functions/realpath.texi (realpath): Document it.
9052         Reported by Bruno Haible.
9053
9054         strerror: work around FreeBSD bug
9055         * lib/strerror.c (strerror): Special case 0.
9056         Reported by Bruno Haible.
9057
9058         strerror-override: avoid bloating errno module
9059         * modules/errno (Files, configure.ac): Move replacement strings...
9060         * modules/strerror-override: ...to new module.
9061         * modules/strerror (Depends-on): Add strerror-override.
9062         * modules/strerror_r-posix (Depends-on): Likewise.
9063         * MODULES.html.sh: Document new module.
9064         Reported by Bruno Haible.
9065
9066 2011-06-06  Bruno Haible  <bruno@clisp.org>
9067
9068         spawn-pipe tests: Rename program.
9069         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9070         * tests/test-spawn-pipe-child.c: Update comment.
9071         * tests/test-spawn-pipe.sh: Update.
9072         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9073
9074         spawn-pipe tests: Link the child program only against libc.
9075         * tests/test-spawn-pipe-child.c: New file, extracted from
9076         tests/test-spawn-pipe.c.
9077         (main): Expect only one argument.
9078         (is_open): New function, copied from tests/test-pipe.c.
9079         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9080         (child_main): Remove function.
9081         (test_pipe): Pass only one argument to the child program.
9082         (main): Remove child process code. Expect the child program's name as
9083         first argument.
9084         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9085         argument.
9086         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9087         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9088         test-spawn-pipe-child against no libraries.
9089
9090 2011-06-06  Bruno Haible  <bruno@clisp.org>
9091
9092         careadlinkat: Avoid mismatch between ssize_t and int.
9093         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9094         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9095
9096 2011-06-06  Jim Meyering  <meyering@redhat.com>
9097
9098         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9099         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9100         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9101
9102 2011-06-05  Bruno Haible  <bruno@clisp.org>
9103
9104         ansi-c++-opt: Interoperability with libtool.
9105         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9106         set the variable to "no", not to ":".
9107         * NEWS: Mention the change.
9108
9109 2011-06-05  Bruno Haible  <bruno@clisp.org>
9110
9111         acl: Fix test failure on AIX 7.
9112         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9113         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9114
9115 2011-06-05  Bruno Haible  <bruno@clisp.org>
9116
9117         pipe-filter-ii: Fix test failure on AIX and IRIX.
9118         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9119         with EAGAIN, retry with a smaller buffer size.
9120
9121 2011-06-05  Bruno Haible  <bruno@clisp.org>
9122
9123         localename: Fix link dependencies.
9124         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9125         * modules/localename-tests (Makefile.am): Link test-localename with
9126         $(LIBTHREAD).
9127
9128 2011-06-05  Bruno Haible  <bruno@clisp.org>
9129
9130         error: Avoid gcc warning.
9131         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9132
9133 2011-06-05  Bruno Haible  <bruno@clisp.org>
9134
9135         unsetenv: Avoid gcc warning.
9136         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9137
9138 2011-06-05  Bruno Haible  <bruno@clisp.org>
9139
9140         setenv: Avoid gcc warning.
9141         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9142
9143 2011-06-05  Bruno Haible  <bruno@clisp.org>
9144
9145         sys_select: Ensure memset is declared also on AIX 7.
9146         * lib/sys_select.in.h: Include <string.h> also on AIX.
9147         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9148         self-contained also on AIX 7.1.
9149
9150 2011-06-04  Jim Meyering  <meyering@redhat.com>
9151
9152         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9153         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9154         function name, "error".
9155         (_gl_translatable_diag_func_re): New configurable variable.
9156
9157 2011-06-04  Bruno Haible  <bruno@clisp.org>
9158
9159         getopt: Avoid gcc warning.
9160         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9161
9162 2011-06-04  Bruno Haible  <bruno@clisp.org>
9163
9164         strerror_r: Fix comments.
9165         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9166         commit.
9167
9168 2011-06-04  Bruno Haible  <bruno@clisp.org>
9169
9170         perror: Fix compilation error.
9171         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9172         Undefine fprintf, not sprintf.
9173         * modules/perror (Depends-on): Remove intprops, verify.
9174
9175 2011-06-04  Bruno Haible  <bruno@clisp.org>
9176
9177         setlocale: Enable replacement on Cygwin 1.5.
9178         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9179         Cygwin 1.5.x.
9180         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9181         LC_CTYPE category also exists on Cygwin 1.5.x.
9182
9183 2011-06-04  Bruno Haible  <bruno@clisp.org>
9184
9185         strerror-override: Don't disable symbol renamings.
9186         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9187         * lib/strerror-override.c: Include config.h.
9188         (strerror_override): Don't undefine.
9189
9190 2011-06-03  Bruno Haible  <bruno@clisp.org>
9191
9192         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9193         * lib/localename.h: Update copyright header.
9194         * lib/localename.c: Likewise.
9195         * lib/relocatable.h: Likewise.
9196         * lib/relocatable.c: Likewise.
9197
9198 2011-06-02  Bruno Haible  <bruno@clisp.org>
9199
9200         doc: Fix a module name.
9201         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9202
9203 2011-06-02  Bruno Haible  <bruno@clisp.org>
9204
9205         pipe2: Remove dependency on 'nonblocking' module.
9206         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9207         O_NONBLOCK is defined by gnulib.
9208         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9209         is zero.
9210         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9211         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9212         defined by gnulib.
9213         (get_nonblocking_flag): New function.
9214         (main): Test O_NONBLOCK flag only if it is nonzero.
9215         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9216
9217 2011-06-03  Jim Meyering  <meyering@redhat.com>
9218
9219         maint: three new prohibit-header-without-use rules
9220         Prohibit use of cloexec.h, posixver.h, same.h without use.
9221         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9222         (sc_prohibit_posixver_without_use): Likewise.
9223         (sc_prohibit_same_without_use): Likewise.
9224
9225 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9226
9227         allocator: 'die' routine is now given requested size
9228         * lib/allocator.h (struct allocator.die): New size arg.
9229         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9230         If the actual problem is an ssize_t limitation, not a size_t or
9231         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9232
9233 2011-06-01  Eric Blake  <eblake@redhat.com>
9234
9235         strerror: drop strerror_r dependency
9236         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9237         * lib/strerror-override.c (strerror_override): ...to new file.
9238         * lib/strerror-override.h: Add prototype.
9239         * lib/strerror-impl.h: Delete.
9240         * lib/strerror.c (strerror): New implementation.
9241         * modules/errno (Files): Add new files.
9242         (configure.ac): Compile new file as appropriate.
9243         * modules/strerror (Files): Drop unused file.
9244         (Depends-on): Drop strerror_r-posix.
9245         * MODULES.html.sh: Document strerror_r-posix.
9246         Requested by Sam Steingold.
9247
9248         perror: call strerror_r directly
9249         * modules/perror (Files): Drop strerror-impl.h.
9250         * lib/perror.c (perror): Use our own stack buffer, rather than
9251         calling a wrapper that uses static storage.
9252         * doc/posix-functions/perror.texi (perror): Document a limitation
9253         of our replacement.
9254
9255         strerror_r: fix includes for FreeBSD
9256         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9257         since we use abort on some platforms.
9258         Reported by Matthias Bolte.
9259
9260 2011-05-31  Bruno Haible  <bruno@clisp.org>
9261
9262         Fix link errors in tests: openat-die uses gettext-h.
9263         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9264         against $(LIBINTL).
9265         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9266         against $(LIBINTL).
9267         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9268         $(LIBINTL).
9269         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9270         against $(LIBINTL).
9271         * modules/linkat-tests (Makefile.am): Link test-linkat against
9272         $(LIBINTL).
9273         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9274         $(LIBINTL).
9275         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9276         against $(LIBINTL).
9277         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9278         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9279         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9280         $(LIBINTL).
9281         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9282         $(LIBINTL).
9283         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9284         $(LIBINTL).
9285         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9286
9287 2011-05-31  Bruno Haible  <bruno@clisp.org>
9288
9289         Fix link errors in tests: wait-process uses gettext-h.
9290         * modules/nonblocking-pipe-tests (Makefile.am): Set
9291         test_nonblocking_pipe_main_LDADD.
9292         * modules/nonblocking-socket-tests (Makefile.am): Link
9293         test-nonblocking-socket-main against $(LIBINTL).
9294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9295
9296 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9297
9298         assert-h: work around 'verify' incompatibility
9299         * lib/verify.h: Use @...@ directives, not ifdef.
9300         * modules/assert-h (assert.h): Implement the directives.
9301         (assert.h): Substitute the symbol-prefix more consistently.
9302
9303 2011-05-29  Jim Meyering  <meyering@redhat.com>
9304
9305         trim: remove three superfluous assignments
9306         * lib/trim.c (trim2): Remove three superfluous assignments
9307         and correct brace positioning.
9308
9309 2011-05-29  Bruno Haible  <bruno@clisp.org>
9310
9311         wctype-h: Avoid namespace pollution on Solaris 2.6.
9312         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9313         identifiers.
9314         * doc/posix-headers/wctype.texi: Mention the problem.
9315         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9316
9317 2011-05-28  Jim Meyering  <meyering@redhat.com>
9318
9319         parse-datetime.y: accommodate -Wstrict-overflow
9320         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9321         placate -Wstrict-overflow.
9322
9323         trim: avoid a warning from -O2 -Wstrict-overflow
9324         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9325
9326 2011-05-29  Bruno Haible  <bruno@clisp.org>
9327
9328         gnulib-tool: Fix bug in yesterday's commit.
9329         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9330         twice.
9331
9332 2011-05-29  Bruno Haible  <bruno@clisp.org>
9333
9334         Allow multiple gnulib generated include files to be combined.
9335         * gnulib-tool (func_compute_include_guard_prefix): New function.
9336         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9337         ${gl_include_guard_prefix} references.
9338         (func_import, func_create_testdir): Invoke
9339         func_compute_include_guard_prefix.
9340         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9341         * lib/ctype.in.h: Likewise.
9342         * lib/dirent.in.h: Likewise.
9343         * lib/errno.in.h: Likewise.
9344         * lib/fcntl.in.h: Likewise.
9345         * lib/float.in.h: Likewise.
9346         * lib/getopt.in.h: Likewise.
9347         * lib/iconv.in.h: Likewise.
9348         * lib/langinfo.in.h: Likewise.
9349         * lib/locale.in.h: Likewise.
9350         * lib/math.in.h: Likewise.
9351         * lib/netdb.in.h: Likewise.
9352         * lib/netinet_in.in.h: Likewise.
9353         * lib/poll.in.h: Likewise.
9354         * lib/pthread.in.h: Likewise.
9355         * lib/pty.in.h: Likewise.
9356         * lib/sched.in.h: Likewise.
9357         * lib/se-selinux.in.h: Likewise.
9358         * lib/search.in.h: Likewise.
9359         * lib/signal.in.h: Likewise.
9360         * lib/spawn.in.h: Likewise.
9361         * lib/stdarg.in.h: Likewise.
9362         * lib/stddef.in.h: Likewise.
9363         * lib/stdint.in.h: Likewise.
9364         * lib/stdio.in.h: Likewise.
9365         * lib/stdlib.in.h: Likewise.
9366         * lib/string.in.h: Likewise.
9367         * lib/strings.in.h: Likewise.
9368         * lib/sys_file.in.h: Likewise.
9369         * lib/sys_ioctl.in.h: Likewise.
9370         * lib/sys_select.in.h: Likewise.
9371         * lib/sys_socket.in.h: Likewise.
9372         * lib/sys_stat.in.h: Likewise.
9373         * lib/sys_time.in.h: Likewise.
9374         * lib/sys_times.in.h: Likewise.
9375         * lib/sys_uio.in.h: Likewise.
9376         * lib/sys_utsname.in.h: Likewise.
9377         * lib/sys_wait.in.h: Likewise.
9378         * lib/sysexits.in.h: Likewise.
9379         * lib/termios.in.h: Likewise.
9380         * lib/time.in.h: Likewise.
9381         * lib/unistd.in.h: Likewise.
9382         * lib/wchar.in.h: Likewise.
9383         * lib/wctype.in.h: Likewise.
9384         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9385         * modules/ctype (Makefile.am): Likewise.
9386         * modules/dirent (Makefile.am): Likewise.
9387         * modules/errno (Makefile.am): Likewise.
9388         * modules/fcntl-h (Makefile.am): Likewise.
9389         * modules/float (Makefile.am): Likewise.
9390         * modules/getopt-posix (Makefile.am): Likewise.
9391         * modules/iconv-h (Makefile.am): Likewise.
9392         * modules/langinfo (Makefile.am): Likewise.
9393         * modules/locale (Makefile.am): Likewise.
9394         * modules/math (Makefile.am): Likewise.
9395         * modules/netdb (Makefile.am): Likewise.
9396         * modules/netinet_in (Makefile.am): Likewise.
9397         * modules/poll-h (Makefile.am): Likewise.
9398         * modules/pthread (Makefile.am): Likewise.
9399         * modules/pty (Makefile.am): Likewise.
9400         * modules/sched (Makefile.am): Likewise.
9401         * modules/search (Makefile.am): Likewise.
9402         * modules/selinux-h (Makefile.am): Likewise.
9403         * modules/signal (Makefile.am): Likewise.
9404         * modules/spawn (Makefile.am): Likewise.
9405         * modules/stdarg (Makefile.am): Likewise.
9406         * modules/stddef (Makefile.am): Likewise.
9407         * modules/stdint (Makefile.am): Likewise.
9408         * modules/stdio (Makefile.am): Likewise.
9409         * modules/stdlib (Makefile.am): Likewise.
9410         * modules/string (Makefile.am): Likewise.
9411         * modules/strings (Makefile.am): Likewise.
9412         * modules/sys_file (Makefile.am): Likewise.
9413         * modules/sys_ioctl (Makefile.am): Likewise.
9414         * modules/sys_select (Makefile.am): Likewise.
9415         * modules/sys_socket (Makefile.am): Likewise.
9416         * modules/sys_stat (Makefile.am): Likewise.
9417         * modules/sys_time (Makefile.am): Likewise.
9418         * modules/sys_times (Makefile.am): Likewise.
9419         * modules/sys_uio (Makefile.am): Likewise.
9420         * modules/sys_utsname (Makefile.am): Likewise.
9421         * modules/sys_wait (Makefile.am): Likewise.
9422         * modules/sysexits (Makefile.am): Likewise.
9423         * modules/termios (Makefile.am): Likewise.
9424         * modules/time (Makefile.am): Likewise.
9425         * modules/unistd (Makefile.am): Likewise.
9426         * modules/wchar (Makefile.am): Likewise.
9427         * modules/wctype-h (Makefile.am): Likewise.
9428         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9429
9430 2011-05-29  Bruno Haible  <bruno@clisp.org>
9431
9432         assert-h: Allow multiple gnulib generated replacements to coexist.
9433         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9434
9435 2011-05-29  Bruno Haible  <bruno@clisp.org>
9436
9437         argp: Allow coexistence with strerror_r-posix module.
9438         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9439         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9440         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9441         not the glibc signature.
9442
9443 2011-05-28  Bruno Haible  <bruno@clisp.org>
9444
9445         gnulib-tool: Alternative structure of testdirs, similar to --import.
9446         * gnulib-tool: New option --single-configure.
9447         (func_usage): Document it.
9448         (single_configure): New variable.
9449         (func_modules_transitive_closure_separately,
9450         func_modules_transitive_closure_separately,
9451         func_determine_use_libtests, func_modules_add_dummy_separately,
9452         func_modules_to_filelist_separately): New functions, extracted from
9453         func_import.
9454         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9455         (func_import): Use the new functions.
9456         (func_create_testdir): Set final_modules. Handle $single_configure =
9457         true case.
9458
9459 2011-05-28  Bruno Haible  <bruno@clisp.org>
9460
9461         getloadavg: Remove an unreliable safety check.
9462         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9463         getloadavg.c is in place.
9464         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9465         Reported by Sam Steingold <sds@gnu.org>.
9466
9467 2011-05-28  Bruno Haible  <bruno@clisp.org>
9468
9469         doc: Cleanup yet another file produced by texinfo.tex.
9470         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9471
9472 2011-05-28  Bruno Haible  <bruno@clisp.org>
9473
9474         Finish the conditional dependencies mechanism.
9475         * gnulib-tool: New option --no-conditional-dependencies.
9476         (func_usage): Document it. Don't mark --conditional-dependencies as
9477         experimental.
9478         (cond_dependencies): The possible values can now be true, false, empty.
9479         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9480         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9481         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9482
9483 2011-05-28  Bruno Haible  <bruno@clisp.org>
9484
9485         doc: Use a recent texinfo.tex.
9486         * doc/Makefile (tex_opts): New variable.
9487         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9488
9489 2011-05-28  Jim Meyering  <meyering@redhat.com>
9490
9491         intprops.h: adjust comment to match code change
9492         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9493         only once, it *may* have side effects.  Also fix an unrelated typo.
9494         (_GL_INT_SIGNED): Likewise.
9495
9496 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9497
9498         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9499
9500 2011-05-26  Bruno Haible  <bruno@clisp.org>
9501
9502         mbsrchr: Avoid collision with system function on Interix.
9503         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9504         Reported by Markus Duft <mduft@gentoo.org>.
9505
9506 2011-05-15  James Youngman  <jay@gnu.org>
9507
9508         getopt: for ambiguous options, enumerate the possibilities.
9509         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9510         the ambiguous options when an ambiguous prefix is given. This was
9511         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9512         glibc change was
9513         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9514
9515 2011-05-25  Eric Blake  <eblake@redhat.com>
9516
9517         getcwd: work around mingw bug
9518         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9519         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9520         Reported by Matthias Bolte.
9521
9522 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9523
9524         test-intprops: disable -Wtype-limits diagnostics
9525         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9526         diagnostics.  Otherwise, the integer overflow macros generate many
9527         diagnostics.  Reported by Jim Meyering in
9528         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9529
9530         intprops: shorten, to pacify gcc -Woverlength-strings
9531         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9532         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9533         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9534         likely to run afoul of C compiler limits for string constant lengths.
9535         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9536
9537 2011-05-24  Eric Blake  <eblake@redhat.com>
9538
9539         docs: document recently fixed glibc printf bug
9540         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9541         * doc/posix-functions/printf.texi (printf): Likewise.
9542         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9543         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9544
9545         closein-tests: convert to init.sh
9546         * modules/closein-tests (Files): Add init.sh
9547         * tests/test-closein.sh Use it.
9548
9549         yesno-tests: convert to init.sh
9550         * modules/yesno-tests (Files): Add init.sh.
9551         * tests/test-yesno.sh: Use it.
9552
9553         atexit-tests: ensure reliable exit status
9554         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9555         Reported by Bruno Haible.
9556
9557 2011-05-24  Bruno Haible  <bruno@clisp.org>
9558
9559         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9560         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9561         gl_PREREQ_STRERROR_R invocations from here...
9562         * modules/strerror_r-posix (configure.ac): ... to here.
9563
9564 2011-05-24  Eric Blake  <eblake@redhat.com>
9565
9566         strerror_r: fix missing header
9567         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9568
9569         strerror_r: fix AIX test failures
9570         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9571         ERANGE failure.
9572
9573         strerror_r: fix Solaris test failures
9574         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9575         failures.
9576         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9577
9578         strerror_r: enforce POSIX recommendations
9579         * lib/strerror_r.c (safe_copy): New helper method.
9580         (strerror_r): Guarantee a non-empty string.
9581         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9582         recent POSIX rulings and to match our strerror guarantees.
9583         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9584
9585 2011-05-24  Jim Meyering  <meyering@redhat.com>
9586
9587         test-perror2.c: avoid warning about unused variable
9588         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9589
9590 2011-05-24  Eric Blake  <eblake@redhat.com>
9591
9592         perror: avoid spurious test failure on HP-UX
9593         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9594
9595         tests: fix logic bug in init.sh
9596         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9597         shell.
9598
9599 2011-05-24  Jim Meyering  <meyering@redhat.com>
9600
9601         utimensat: do not reference an out-of-scope buffer
9602         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9603         declared in an inner scope, yet "times" would be dereferenced outside
9604         the scope in which "ts" was valid.
9605         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9606         of ts[2] "out/up", so that the use of aliased "times" (via
9607         "times = ts;") does not end up referencing an out-of-scope "ts"
9608
9609         opendir-safer.c: don't clobber errno; don't close negative FD
9610         * lib/opendir-safer.c (opendir_safer):
9611         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9612         file descriptor, and more importantly, don't clobber the
9613         offending errno value with EINVAL.  Before, upon failure
9614         of dup_safer, we would pass the negative file descriptor to
9615         fdopendir, which would clobber errno.
9616
9617 2011-05-23  Bruno Haible  <bruno@clisp.org>
9618
9619         idcache: Fix module description.
9620         * modules/idcache (Include): Set to "idcache.h".
9621
9622 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9623
9624         gnulib-tool: fix portability problem with MacOS sed
9625         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9626         before the "}".  Problem reported by Leo in
9627         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9628         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9629         sed_extract_condition1, sed_extract_condition2.
9630
9631 2011-05-23  Bruno Haible  <bruno@clisp.org>
9632
9633         hash: Simplify autoconf macro.
9634         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9635
9636 2011-05-23  Bruno Haible  <bruno@clisp.org>
9637
9638         getugroups: Fix module description.
9639         * modules/getugroups (Include): Set to "getugroups.h".
9640
9641 2011-05-23  Bruno Haible  <bruno@clisp.org>
9642
9643         linkat: Simplify autoconf macro.
9644         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9645
9646 2011-05-23  Bruno Haible  <bruno@clisp.org>
9647             Eric Blake  <eblake@redhat.com>
9648
9649         linkat, renameat: Update dependencies.
9650         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9651         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9652         symlinkat.
9653
9654 2011-05-23  Jim Meyering  <meyering@redhat.com>
9655
9656         maint.mk: more tight_scope improvements
9657         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9658         (_gl_TS_headers): Define only in if-0'd block.
9659         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9660         sometimes we must *not* use it.  Adjust uses accordingly.
9661         (sc_tight_scope): Use much simpler grep-based test to determine
9662         whether we skip this rule.
9663
9664         maint.mk: generalize/improve the tight-scope rule
9665         * top/maint.mk: Emit a warning when the test is skipped.
9666         (_gl_TS_dir): Add $(srcdir)/ prefix.
9667         (_gl_TS_function_match): Simplify, rather than trying
9668         to enumerate common types.  Otherwise, it would fail to match an
9669         "extern unsigned char const *" declaration in idutils.
9670         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9671         a way to support use of that type of macro.
9672         (_gl_TS_var_match): Simplify regexp.
9673         (_gl_TS_obj_files): New configurable variable.
9674         (_gl_TS_headers): Likewise.
9675
9676 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9677
9678         verify: fix bug when gnulib <assert.h> is also included
9679         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9680         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9681         Perhaps there's a better way, but this fixes the immediate problem.
9682         Problem reported by Bruno Haible in
9683         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9684
9685 2011-05-22  Bruno Haible  <bruno@clisp.org>
9686
9687         xgetcwd: Simplify autoconf macro.
9688         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9689
9690 2011-05-22  Bruno Haible  <bruno@clisp.org>
9691
9692         New module 'mktime-internal'.
9693         * modules/mktime-internal: New file.
9694         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9695         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9696         mktime_internal as a C macro if libc has __mktime_internal.
9697         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9698         conditions.
9699         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9700
9701 2011-05-22  Bruno Haible  <bruno@clisp.org>
9702
9703         timegm: Correct mktime replacement statements.
9704         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9705         defining mktime as a C macro. This completes a 2009-07-28 commit.
9706
9707 2011-05-22  Bruno Haible  <bruno@clisp.org>
9708
9709         timegm: Simplify autoconf macro.
9710         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9711
9712 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9713
9714         clock-time: change to LGPLv2+.
9715         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9716         BSD-like but we have no mark for that; this is good enough for now.
9717
9718 2011-05-21  Bruno Haible  <bruno@clisp.org>
9719
9720         strerror_r: Fix comments.
9721         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9722
9723 2011-05-21  Bruno Haible  <bruno@clisp.org>
9724
9725         relocatable-prog-wrapper: Fix possible link error.
9726         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9727         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9728         (gl_FUNC_SETENV): ... to here.
9729         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9730         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9731
9732 2011-05-21  Bruno Haible  <bruno@clisp.org>
9733
9734         relocatable-prog-wrapper: Assume strerror() exists.
9735         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9736         m4/strerror.m4.
9737         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9738         * lib/relocwrapper.c: Remove mention of strerror module.
9739         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9740         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9741         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9742         C macro.
9743
9744 2011-05-21  Bruno Haible  <bruno@clisp.org>
9745
9746         select: Simplify replacement idiom.
9747         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9748         Win32 platforms.
9749         * lib/sys_select.in.h (select): Simplify accordingly.
9750         * modules/select (Depends-on): Likewise.
9751
9752 2011-05-21  Bruno Haible  <bruno@clisp.org>
9753
9754         mkdir-p: Simplify autoconf macro.
9755         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9756         gl_FUNC_LCHOWN.
9757
9758 2011-05-21  Eric Blake  <eblake@redhat.com>
9759
9760         strerror_r: avoid clobbering strerror on cygwin
9761         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9762         fall back instead to sys_errlist.
9763         * modules/strerror (configure.ac): Add witness.
9764         * tests/test-strerror_r.c (main): Enhance test.
9765         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9766         * tests/test-perror2.c (main): Free memory before exit.
9767
9768 2011-05-21  Bruno Haible  <bruno@clisp.org>
9769
9770         mkdtemp: Use gnulib naming conventions.
9771         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9772         * modules/mkdtemp (configure.ac): Update.
9773
9774 2011-05-20  Eric Blake  <eblake@redhat.com>
9775
9776         strerror_r: avoid corrupting errno on Solaris
9777         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9778         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9779
9780         strerror_r: avoid compiler warning
9781         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9782
9783         strerror_r: simplify AIX code
9784         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9785
9786         test-perror: avoid spurious failure on FreeBSD
9787         * modules/perror-tests (Depends-on): Add strerror, now that
9788         strerror_r no longer pulls it in.
9789
9790 2011-05-20  Bruno Haible  <bruno@clisp.org>
9791
9792         strerror_r-posix: Remove unused dependencies.
9793         * modules/strerror_r-posix (Depends-on): Remove strerror.
9794         Reported by Eric Blake.
9795
9796 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9797
9798         intprops: remove assumption about A|B representation
9799         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9800         is a valid integer if both A and B are.  Although this is true for
9801         all known practical hosts, the C standard doesn't guarantee it,
9802         and the code need not assume it.  Also, this change may work around
9803         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9804         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9805
9806 2011-05-20  Eric Blake  <eblake@redhat.com>
9807
9808         perror: work around FreeBSD bug
9809         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9810         is broken.  Move AC_LIBOBJ...
9811         * modules/perror (configure.ac): Here.
9812         * doc/posix-functions/perror.texi (perror): Document this.
9813         * tests/test-perror2.c (main): Enhance test.
9814
9815         test-perror: check for strerror interactions
9816         * tests/macros.h (STREQ): Add macro.
9817         * modules/perror-tests (Files): Add second test.
9818         * tests/test-perror2.c (main): New file.
9819         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9820
9821         test-perror: rewrite to use init script
9822         * modules/perror-tests (Files): Add init.sh.
9823         * tests/test-perror.sh: Use temporary directory.
9824
9825 2011-05-20  Jim Meyering  <meyering@redhat.com>
9826
9827         maint: replace misused "a" with "an"
9828         * doc/intprops.texi: "a integer"
9829         * doc/regex.texi: "a explanation"
9830         * lib/alignof.h: "a object"
9831         * lib/argmatch.h: "a explanation"
9832         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9833         * lib/stdint.in.h: "a integer"
9834         * lib/userspec.c: "a owner"
9835         * doc/gnulib.texi: Fix "a idea", and reword.
9836
9837 2011-05-19  Jim Meyering  <meyering@redhat.com>
9838
9839         maint: correct misuse of "a" and "an"
9840         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9841         * lib/argp-help.c: "an docum...": s/an/a/
9842         * lib/argp-parse.c: "An vector": s/An/A/
9843         * lib/execute.c: "an native": s/an/a/
9844         * lib/spawn-pipe.c: Likewise.
9845         * lib/gc.h: "an Gc_rc": s/an/a/
9846         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9847         * lib/fts.c: "an stat.st_dev": s/an/a/
9848
9849 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9850
9851         intprops-tests: work around HP-UX 11.23 cc bug with constants
9852         * tests/test-intprops.c (VERIFY): New macro.
9853         (main): Use it, instead of verify, to work around the compiler bug; see
9854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9855
9856         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9857         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9858         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9859         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9860         (_GL_REMAINDER_OVERFLOW): Use it.
9861
9862         intprops-tests: revert unsigned part of previous change
9863         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9864         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9865         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9867
9868 2011-05-19  Bruno Haible  <bruno@clisp.org>
9869
9870         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9871         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9872         strerror_r() returned without filling the buffer.
9873         Reported by Eric Blake.
9874
9875 2011-05-19  Eric Blake  <eblake@redhat.com>
9876
9877         strerror_r: guarantee unchanged errno
9878         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9879         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9880         failure.
9881         * tests/test-strerror_r.c (main): Enhance test.
9882
9883 2011-05-19  Bruno Haible  <bruno@clisp.org>
9884
9885         strerror_r: Reorder #if blocks.
9886         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9887         for consistency with the previous commit.
9888
9889 2011-05-19  Bruno Haible  <bruno@clisp.org>
9890
9891         perror: Avoid clobbering the strerror buffer when possible.
9892         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9893         * lib/strerror.c: Include it.
9894         * modules/strerror (Files): Add lib/strerror-impl.h.
9895         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9896         (my_strerror): New function, defined through lib/strerror-impl.h.
9897         (perror): Use it instead of strerror.
9898         * modules/perror (Files): Add lib/strerror-impl.h.
9899         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9900
9901 2011-05-19  Eric Blake  <eblake@redhat.com>
9902
9903         strerror_r: fix on newer cygwin
9904         * lib/strerror_r.c (strerror_r): Cygwin now has
9905         __xpg_strerror_r, use it.
9906
9907 2011-05-19  Bruno Haible  <bruno@clisp.org>
9908
9909         strerror_r: Avoid clobbering the strerror buffer when possible.
9910         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9911         (sys_nerr, sys_errlist): New declarations.
9912         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9913         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9914         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9915
9916 2011-05-19  Bruno Haible  <bruno@clisp.org>
9917
9918         strerror_r: Fix test failure on mingw.
9919         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9920         EXTEND_STRERROR_R.
9921         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9922         macros from errno.in.h instead.
9923
9924 2011-05-19  Eric Blake  <eblake@redhat.com>
9925
9926         strerror: relax test for Solaris
9927         * tests/test-strerror.c (main): Permit Solaris behavior.
9928         * tests/test-strerror_r.c (main): Likewise.
9929
9930         strerror: enforce POSIX ruling on strerror(0)
9931         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
9932         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9933         * lib/strerror_r.c (rpl_strerror_r): Work around it.
9934         * doc/posix-functions/strerror.texi (strerror): Document it.
9935         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
9936         * tests/test-strerror.c (main): Strengthen test.
9937         * tests/test-strerror_r.c (main): Likewise.
9938
9939 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9940
9941         intprop-tests: port to older and more-pedantic compilers
9942         * modules/intprops-tests (Files): Add tests/macros.h.
9943         * tests/test-intprops.c: Include macros.h.
9944         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
9945         it's no longer documented to expand to an integer constant expression.
9946         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
9947         argument is floating point, as it's no longer documented to expand
9948         to an integer constant expression in that case.
9949         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
9950         compiler bugs reported by Bruno Haible.  See
9951         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9952         (U0, U1): New constants, to work around the same bugs.  Also,
9953         in tests, use e.g., "(unsigned int) 39" rather than "39u".
9954
9955         intprops: work around C compiler bugs
9956         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
9957         bug in Sun C 5.11 2010/08/13 and other compilers; see
9958         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9959
9960         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
9961         * doc/intprops.texi (Integer Type Determination): Fix
9962         documentation for TYPE_IS_INTEGER: it returns an constant
9963         expression, not an integer constant expression.  Fix doc for
9964         TYPE_SIGNED: it returns an integer constant expression only if its
9965         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
9966         hardly worth documented that way....)
9967
9968 2011-05-18  Bruno Haible  <bruno@clisp.org>
9969
9970         strerror_r: Avoid clobbering the strerror buffer when possible.
9971         * lib/strerror_r.c (strerror_r): Merge the three implementations.
9972         Handle gnulib defined errno values here. When strerror() returns NULL
9973         or an empty string, return EINVAL.
9974         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
9975         gnulib defined errno values here.
9976         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
9977
9978 2011-05-18  Eric Blake  <eblake@redhat.com>
9979
9980         fnmatch: avoid compiler warning
9981         * lib/fnmatch_loop.c (FCT): Use correct type.
9982         Reported by Matthias Bolte.
9983
9984 2011-05-13  Jim Meyering  <meyering@redhat.com>
9985
9986         maint.mk: three new prohibit_<HDR>_without_use rules
9987         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
9988         (sc_prohibit_stdio-safer_without_use): Likewise.
9989         (sc_prohibit_xfreopen_without_use): Likewise.
9990
9991 2011-05-17  Jim Meyering  <meyering@redhat.com>
9992
9993         announce-gen: fail if the NEWS delta is empty
9994         If there's nothing noteworthy in NEWS, then either you forgot
9995         or you shouldn't be releasing.
9996         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
9997
9998 2011-05-17  Pádraig Brady <P@draigBrady.com>
9999
10000         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10001         reserved symbols starting with double underscore from the check.
10002
10003 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10004
10005         intprops: add doc
10006         * doc/intprops.texi: New file, documenting intprops.
10007         * doc/gnulib.texi (Particular Modules): Include it.
10008
10009         verify: add doc to gnulib manual and fix example
10010         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10011         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10012         (Compile-time Assertions): Fix example so it can't overflow.
10013
10014 2011-05-17  Jim Meyering  <meyering@redhat.com>
10015
10016         warnings.m4: don't usurp save_CPPFLAGS variable name
10017         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10018
10019         doc: fix typo
10020         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10021
10022 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10023             Bruno Haible  <bruno@clisp.org>
10024
10025         doc: Tweak recent change.
10026         * README (Portability guidelines): Tweak new text.
10027         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10028         Interix 6.1.
10029
10030 2011-05-16  Eric Blake  <eblake@redhat.com>
10031
10032         inttypes: avoid autoconf warning
10033         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10034         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10035
10036 2011-05-16  Sam Steingold <sds@gnu.org>
10037         and Eric Blake  <eblake@redhat.com>
10038
10039         vc-list-files: accept multiple directory operands
10040         * build-aux/vc-list-files: Iterate over all remaining operands.
10041
10042 2011-05-16  Bruno Haible  <bruno@clisp.org>
10043
10044         Fix confusion regarding deprecated modules.
10045         * modules/calloc (Status, Notice): Mark module as deprecated, not
10046         obsolete.
10047         * modules/fnmatch-posix (Status, Notice): Likewise.
10048         * modules/getdate (Status, Notice): Likewise.
10049         * modules/getopt (Status, Notice): Likewise.
10050         * modules/malloc (Status, Notice): Likewise.
10051         * modules/pipe (Status, Notice): Likewise.
10052         * modules/realloc (Status, Notice): Likewise.
10053         * modules/rename-dest-slash (Status, Notice): Likewise.
10054         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10055         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10056         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10057         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10058         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10059
10060 2011-05-16  Bruno Haible  <bruno@clisp.org>
10061
10062         doc: List the target platforms.
10063         * doc/gnulib-intro.texi (Target Platforms): New section.
10064         * doc/gnulib.texi (Introduction): Update menu.
10065         * README (Portability guidelines): Refer to the new section. Update
10066         statement about oldest supported environment. Remove rationale why
10067         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10068         unportable C89 function.
10069         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10070         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10071
10072 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10073
10074         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10075
10076 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10077
10078         intprops-tests: new module
10079         * modules/intprops-tests, tests/test-intprops.c: New files.
10080
10081         intprops: add safe, portable integer overflow checking
10082         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10083         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10084         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10085         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10086         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10087         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10088         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10089         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10090         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10091         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10092         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10093
10094 2011-05-12  James Youngman  <jay@gnu.org>
10095
10096         Add a test for glibc's Bugzilla bug #12378.
10097         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10098         doesn't allow the literal matching of a lone "[" (which is
10099         required by POSIX).
10100         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10101
10102 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10103
10104         Sync glibc change fixing Bugzilla bug #12378.
10105         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10106         beginning and fall back to matching as normal character if the
10107         string ends before the matching ']' is found.  This is what POSIX
10108         requires.
10109
10110 2011-05-13  Eric Blake  <eblake@redhat.com>
10111
10112         getcwd-lgpl: relax test for FreeBSD
10113         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10114         issue.
10115         * tests/test-getcwd-lgpl.c (main): Relax test.
10116         Reported by Matthias Bolte.
10117
10118 2011-05-11  Eric Blake  <eblake@redhat.com>
10119
10120         test-fflush: silence compiler warning
10121         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10122
10123 2011-05-11  Bruno Haible  <bruno@clisp.org>
10124
10125         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10126         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10127         * modules/canonicalize (Depends-on): Add 'nocrash'.
10128         * modules/canonicalize-lgpl (Depends-on): Likewise.
10129         * doc/posix-functions/realpath.texi: Update platforms list.
10130         Reported by Ryan Schmidt <ryandesign@macports.org>.
10131
10132 2011-05-11  Bruno Haible  <bruno@clisp.org>
10133
10134         group-member: Declare function in <unistd.h>.
10135         * lib/unistd.in.h (group_member): New declaration.
10136         * lib/group-member.h: Remove file.
10137         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10138         * tests/test-unistd-c++.cc: Check signature of group_member.
10139         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10140         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10141         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10142         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10143         HAVE_GROUP_MEMBER.
10144         * modules/group-member (Files): Remove lib/group-member.h.
10145         (Depends-on): Add unistd. Specify conditions.
10146         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10147         (Include): Change to <unistd.h>.
10148         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10149         HAVE_GROUP_MEMBER.
10150         * NEWS: Mention the change.
10151         * lib/euidaccess.c: Don't include group-member.h.
10152
10153 2011-05-11  Bruno Haible  <bruno@clisp.org>
10154
10155         group-member: Document module.
10156         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10157         module.
10158
10159 2011-05-11  Bruno Haible  <bruno@clisp.org>
10160
10161         fclose: Fix mistake earlier today.
10162         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10163
10164 2011-05-11  Eric Blake  <eblake@redhat.com>
10165
10166         fclose: preserve fflush errors
10167         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10168         Reported by Jim Meyering.
10169
10170         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10171         * build-aux/bootstrap (check_versions): When no specific version
10172         is required, merely check that the app produces an exit status
10173         that indicates its existence.
10174
10175         maint.mk: drop redundant check
10176         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10177         the same but better.
10178
10179 2011-05-11  Bruno Haible  <bruno@clisp.org>
10180
10181         fclose: Fix possible link error.
10182         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10183         unregister_shadow_fd. Improve comments.
10184         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10185         Eric Blake.
10186
10187 2011-05-11  Jim Meyering  <meyering@redhat.com>
10188
10189         maint.mk: improve "can not" detection and generalize rule name
10190         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10191         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10192         Use the same technique as in sc_prohibit_doubled_word, so that
10193         we recognize "can not" also when the words are separated by a newline.
10194         Suggested by Eric Blake.
10195         (perl_filename_lineno_text_): Define.  Factored out of...
10196         (prohibit_doubled_word_): ...here.  Use the new definition.
10197         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10198         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10199         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10200
10201 2011-05-10  Eric Blake  <eblake@redhat.com>
10202
10203         fclose: avoid double close race when possible
10204         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10205         all but WINDOWS_SOCKETS.
10206
10207 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10208
10209         openat: correct new comment
10210         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10211
10212 2011-05-10  Jim Meyering  <meyering@redhat.com>
10213
10214         openat: add comments
10215         * lib/openat-proc.c (openat_proc_name): Add comments,
10216         mostly from Eric Blake.
10217
10218 2011-05-09  Eric Blake  <eblake@redhat.com>
10219
10220         openat: reduce syscalls in first probe of /proc
10221         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10222         be a directory.  Simplify the probe for .. bugs.
10223         * modules/openat (Depends-on): Drop same-inode.
10224         Reported by Bastien ROUCARIES.
10225
10226 2011-05-09  Jim Meyering  <meyering@redhat.com>
10227
10228         maint.mk: change semantics/name of tight_scope variables
10229         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10230         Rename variables to align with semantics that make them more useful.
10231
10232         maint.mk: tweak new rule's name not to impinge
10233         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10234         (sc_tight_scope): Use new rule name rather than $@-0.
10235
10236         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10237         * top/maint.mk (sc_tight_scope): New rule.
10238         (sc_tight_scope-0): New rule, ifdef'd out.
10239         (_gl_TS_dir): Default.
10240         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10241         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10242
10243 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10244
10245         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10246         Haible <bruno@clisp.org>.
10247
10248 2011-05-08  Bruno Haible  <bruno@clisp.org>
10249
10250         Comments.
10251         * m4/isnanf.m4: Add comment.
10252         * m4/isnanl.m4: Likewise.
10253
10254 2011-05-08  Bruno Haible  <bruno@clisp.org>
10255
10256         glob: Remove obsolete macro.
10257         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10258
10259 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10260
10261         intprops: Sun C 5.11 supports __typeof__
10262         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10263         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10264         which is new.
10265         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10266
10267         intprops: switch to usual gnulib indenting and naming
10268         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10269         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10270
10271         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10272
10273 2011-05-08  Jim Meyering  <meyering@redhat.com>
10274
10275         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10276         * top/maint.mk (release-prep): Use make's --no-print-directory
10277         option when generating the announcement.  This eliminates the
10278         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10279         generated announcement template.
10280
10281 2011-05-08  Bruno Haible  <bruno@clisp.org>
10282
10283         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10284         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10285         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10286
10287 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10288
10289         ignore-value, verify: Omit include files from lib_SOURCES.
10290         * modules/ignore-value, modules/verify (Makefile.am):
10291         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10292         that leads Automake to duplicate use of am__objects_... variables
10293         in Makefile.in.  See
10294         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10295
10296 2011-05-07  Bruno Haible  <bruno@clisp.org>
10297
10298         fclose: Simplify autoconf macro.
10299         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10300         defined.
10301
10302 2011-05-07  Bruno Haible  <bruno@clisp.org>
10303
10304         canonicalize-lgpl: Fix autoconf macro ordering bug.
10305         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10306         gl_STDLIB_H_DEFAULTS.
10307
10308 2011-05-06  Eric Blake  <eblake@redhat.com>
10309
10310         maintainer-makefile: make sc_po_check easier to tune
10311         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10312         to probe for strings, such as an alternate location for gnulib.
10313
10314         fclose: guarantee behavior on seekable stdin
10315         * modules/fclose (Depends-on): Add fflush.
10316         * doc/posix-functions/fclose.texi (fclose): Document this.
10317         * tests/test-fclose.c (main): Make test for this unconditional.
10318
10319 2011-05-06  Bruno Haible  <bruno@clisp.org>
10320
10321         fflush, fpurge: Relicense under LGPLv2+.
10322         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10323         * modules/fpurge (License): Likewise.
10324         With permission from Eric Blake and Jim Meyering.
10325         Suggested by Eric Blake.
10326
10327 2011-05-06  Karl Berry  <karl@gnu.org>
10328
10329         * MODULES.html.sh (func_all_modules): remove exit.
10330
10331 2011-05-06  Jim Meyering  <meyering@redhat.com>
10332
10333         maint.mk: use info-gnu@ as the default only for a stable release
10334         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10335         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10336         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10337         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10338
10339 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10340
10341         assert-h: new module, which supports C1X-style static_assert
10342         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10343         * lib/verify.h: Revamp so that this can be copied into assert.h,
10344         while retaining the ability to use it standalone as before.
10345         Rename private identifiers so as not to encroach on the
10346         standard C namespace, since this is now used by assert.h.
10347         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10348         the old verify_true.
10349         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10350         the old verify_true.  Use _GL_VERIFY_TYPE.
10351         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10352         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10353         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10354         defined when this file is copied into the replacement assert.h.
10355         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10356         and _Static_assert is not built in.
10357         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10358         defined, and use the new macros mentioned above.
10359         * doc/posix-headers/assert.texi: Document this.
10360
10361 2011-05-05  Bruno Haible  <bruno@clisp.org>
10362
10363         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10364         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10365         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10366         gl_REPLACE_FCLOSE here.
10367         * modules/fflush (Depends-on): Remove fclose.
10368         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10369         combination with module 'fclose'.
10370
10371 2011-05-05  Bruno Haible  <bruno@clisp.org>
10372
10373         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10374         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10375         gl_FUNC_FFLUSH.
10376         (gl_FUNC_FFLUSH): Use it.
10377         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10378         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10379         gl_REPLACE_FSEEKO here.
10380
10381 2011-05-05  Bruno Haible  <bruno@clisp.org>
10382
10383         tzset: Relicense under LGPL.
10384         * modules/tzset (License): Change to LGPL.
10385         No agreement needed; it's a no-op.
10386
10387         strtoimax, strtoumax: Relicense under LGPL.
10388         * modules/strtoimax (License): Change to LGPL.
10389         * modules/strtoumax (License): Likewise.
10390         With permission from Jim Meyering, Paul Eggert:
10391         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10393
10394         getgroups: Relicense under LGPL.
10395         * modules/getgroups (License): Change to LGPL.
10396         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10399         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10400
10401         nanosleep: Relicense under LGPL.
10402         * modules/nanosleep (License): Change to LGPL.
10403         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10404         Haible:
10405         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10406         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10407         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10409
10410         futimens: Relicense under LGPL.
10411         * modules/futimens (License): Change to LGPL.
10412         With permission from Eric Blake:
10413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10414
10415         fflush: Relicense under LGPL.
10416         * modules/fflush (License): Change to LGPL.
10417         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10419         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10420         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10421
10422         tmpfile: Relicense under LGPL.
10423         * modules/tmpfile (License): Change to LGPL.
10424         With permission from Ben Pfaff:
10425         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10426
10427         isfinite: Relicense under LGPL.
10428         * modules/isfinite (License): Change to LGPL.
10429         With permission from Ben Pfaff, Bruno Haible:
10430         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10431         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10432
10433         acosl..tanl: Relicense under LGPL.
10434         * modules/acosl (License): Change to LGPL.
10435         * modules/asinl (License): Likewise.
10436         * modules/atanl (License): Likewise.
10437         * modules/cosl (License): Likewise.
10438         * modules/expl (License): Likewise.
10439         * modules/logl (License): Likewise.
10440         * modules/sinl (License): Likewise.
10441         * modules/sqrtl (License): Likewise.
10442         * modules/tanl (License): Likewise.
10443         Source code originally from glibc and Paolo Bonzini. Agreements:
10444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10446
10447 2011-05-05  Bruno Haible  <bruno@clisp.org>
10448
10449         signal: Define sighandler_t.
10450         * lib/signal.in.h (sighandler_t): New type.
10451         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10452         whether sighandler_t is defined.
10453         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10454         * modules/signal (Depends-on): Add extensions.
10455         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10456         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10457         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10458
10459 2011-05-05  Eric Blake  <eblake@redhat.com>
10460
10461         maint: remove useless REPLACE_*_H macros
10462         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10463         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10464         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10465         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10466         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10467         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10468         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10469         * m4/btowc.m4: Update callers.
10470         * m4/dirfd.m4: Likewise.
10471         * m4/duplocale.m4: Likewise.
10472         * m4/fchdir.m4: Likewise.
10473         * m4/fdopendir.m4: Likewise.
10474         * m4/inet_ntop.m4: Likewise.
10475         * m4/inet_pton.m4: Likewise.
10476         * m4/ioctl.m4: Likewise.
10477         * m4/mbrlen.m4: Likewise.
10478         * m4/mbrtowc.m4: Likewise.
10479         * m4/mbsinit.m4: Likewise.
10480         * m4/mbsnrtowcs.m4: Likewise.
10481         * m4/mbsrtowcs.m4: Likewise.
10482         * m4/poll.m4: Likewise.
10483         * m4/setlocale.m4: Likewise.
10484         * m4/wcrtomb.m4: Likewise.
10485         * m4/wcsnrtombs.m4: Likewise.
10486         * m4/wcsrtombs.m4: Likewise.
10487         * m4/wctob.m4: Likewise.
10488         * m4/wcwidth.m4: Likewise.
10489         * modules/posix_spawn: Likewise.
10490         * modules/posix_spawn_file_actions_addclose: Likewise.
10491         * modules/posix_spawn_file_actions_adddup2: Likewise.
10492         * modules/posix_spawn_file_actions_addopen: Likewise.
10493         * modules/posix_spawn_file_actions_destroy: Likewise.
10494         * modules/posix_spawn_file_actions_init: Likewise.
10495         * modules/posix_spawnattr_destroy: Likewise.
10496         * modules/posix_spawnattr_getflags: Likewise.
10497         * modules/posix_spawnattr_getpgroup: Likewise.
10498         * modules/posix_spawnattr_getschedparam: Likewise.
10499         * modules/posix_spawnattr_getschedpolicy: Likewise.
10500         * modules/posix_spawnattr_getsigdefault: Likewise.
10501         * modules/posix_spawnattr_getsigmask: Likewise.
10502         * modules/posix_spawnattr_init: Likewise.
10503         * modules/posix_spawnattr_setflags: Likewise.
10504         * modules/posix_spawnattr_setpgroup: Likewise.
10505         * modules/posix_spawnattr_setschedparam: Likewise.
10506         * modules/posix_spawnattr_setschedpolicy: Likewise.
10507         * modules/posix_spawnattr_setsigdefault: Likewise.
10508         * modules/posix_spawnattr_setsigmask: Likewise.
10509         * modules/posix_spawnp: Likewise.
10510
10511 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10512
10513         Add option to do-release-commit-and-tag to specify branch.
10514         * build-aux/do-release-commit-and-tag: Add --branch.
10515
10516 2011-05-03  Bruno Haible  <bruno@clisp.org>
10517
10518         Avoid unnecessary compilation units, through conditional dependencies.
10519         * modules/accept (Depends-on): Add conditions to the dependencies.
10520         * modules/acosl (Depends-on): Likewise.
10521         * modules/argz (Depends-on): Likewise.
10522         * modules/asinl (Depends-on): Likewise.
10523         * modules/atanl (Depends-on): Likewise.
10524         * modules/atoll (Depends-on): Likewise.
10525         * modules/bind (Depends-on): Likewise.
10526         * modules/btowc (Depends-on): Likewise.
10527         * modules/canonicalize-lgpl (Depends-on): Likewise.
10528         * modules/ceil (Depends-on): Likewise.
10529         * modules/ceilf (Depends-on): Likewise.
10530         * modules/ceill (Depends-on): Likewise.
10531         * modules/chdir-long (Depends-on): Likewise.
10532         * modules/chown (Depends-on): Likewise.
10533         * modules/close (Depends-on): Likewise.
10534         * modules/connect (Depends-on): Likewise.
10535         * modules/cosl (Depends-on): Likewise.
10536         * modules/dirfd (Depends-on): Likewise.
10537         * modules/dprintf (Depends-on): Likewise.
10538         * modules/dprintf-posix (Depends-on): Likewise.
10539         * modules/error (Depends-on): Likewise.
10540         * modules/euidaccess (Depends-on): Likewise.
10541         * modules/expl (Depends-on): Likewise.
10542         * modules/faccessat (Depends-on): Likewise.
10543         * modules/fchdir (Depends-on): Likewise.
10544         * modules/fclose (Depends-on): Likewise.
10545         * modules/fcntl (Depends-on): Likewise.
10546         * modules/fdopendir (Depends-on): Likewise.
10547         * modules/fflush (Depends-on): Likewise.
10548         * modules/floor (Depends-on): Likewise.
10549         * modules/floorf (Depends-on): Likewise.
10550         * modules/floorl (Depends-on): Likewise.
10551         * modules/fnmatch (Depends-on): Likewise.
10552         * modules/fopen (Depends-on): Likewise.
10553         * modules/fprintf-posix (Depends-on): Likewise.
10554         * modules/frexp (Depends-on): Likewise.
10555         * modules/frexp-nolibm (Depends-on): Likewise.
10556         * modules/frexpl (Depends-on): Likewise.
10557         * modules/frexpl-nolibm (Depends-on): Likewise.
10558         * modules/fseek (Depends-on): Likewise.
10559         * modules/fsusage (Depends-on): Likewise.
10560         * modules/ftell (Depends-on): Likewise.
10561         * modules/ftello (Depends-on): Likewise.
10562         * modules/futimens (Depends-on): Likewise.
10563         * modules/getcwd (Depends-on): Likewise.
10564         * modules/getcwd-lgpl (Depends-on): Likewise.
10565         * modules/getdelim (Depends-on): Likewise.
10566         * modules/getdomainname (Depends-on): Likewise.
10567         * modules/getgroups (Depends-on): Likewise.
10568         * modules/gethostname (Depends-on): Likewise.
10569         * modules/getline (Depends-on): Likewise.
10570         * modules/getlogin_r (Depends-on): Likewise.
10571         * modules/getopt-posix (Depends-on): Likewise.
10572         * modules/getpeername (Depends-on): Likewise.
10573         * modules/getsockname (Depends-on): Likewise.
10574         * modules/getsockopt (Depends-on): Likewise.
10575         * modules/getsubopt (Depends-on): Likewise.
10576         * modules/getusershell (Depends-on): Likewise.
10577         * modules/glob (Depends-on): Likewise.
10578         * modules/grantpt (Depends-on): Likewise.
10579         * modules/iconv_open (Depends-on): Likewise.
10580         * modules/iconv_open-utf (Depends-on): Likewise.
10581         * modules/inet_ntop (Depends-on): Likewise.
10582         * modules/inet_pton (Depends-on): Likewise.
10583         * modules/ioctl (Depends-on): Likewise.
10584         * modules/isapipe (Depends-on): Likewise.
10585         * modules/isfinite (Depends-on): Likewise.
10586         * modules/isinf (Depends-on): Likewise.
10587         * modules/lchown (Depends-on): Likewise.
10588         * modules/ldexpl (Depends-on): Likewise.
10589         * modules/link (Depends-on): Likewise.
10590         * modules/linkat (Depends-on): Likewise.
10591         * modules/listen (Depends-on): Likewise.
10592         * modules/logl (Depends-on): Likewise.
10593         * modules/lstat (Depends-on): Likewise.
10594         * modules/mbrlen (Depends-on): Likewise.
10595         * modules/mbrtowc (Depends-on): Likewise.
10596         * modules/mbsinit (Depends-on): Likewise.
10597         * modules/mbsnrtowcs (Depends-on): Likewise.
10598         * modules/mbsrtowcs (Depends-on): Likewise.
10599         * modules/mbtowc (Depends-on): Likewise.
10600         * modules/memcmp (Depends-on): Likewise.
10601         * modules/mkdir (Depends-on): Likewise.
10602         * modules/mkdtemp (Depends-on): Likewise.
10603         * modules/mkfifo (Depends-on): Likewise.
10604         * modules/mkfifoat (Depends-on): Likewise.
10605         * modules/mknod (Depends-on): Likewise.
10606         * modules/mkostemp (Depends-on): Likewise.
10607         * modules/mkostemps (Depends-on): Likewise.
10608         * modules/mkstemp (Depends-on): Likewise.
10609         * modules/mkstemps (Depends-on): Likewise.
10610         * modules/mktime (Depends-on): Likewise.
10611         * modules/nanosleep (Depends-on): Likewise.
10612         * modules/open (Depends-on): Likewise.
10613         * modules/openat (Depends-on): Likewise.
10614         * modules/perror (Depends-on): Likewise.
10615         * modules/poll (Depends-on): Likewise.
10616         * modules/popen (Depends-on): Likewise.
10617         * modules/posix_spawn (Depends-on): Likewise.
10618         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10619         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10620         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10621         * modules/posix_spawnp (Depends-on): Likewise.
10622         * modules/pread (Depends-on): Likewise.
10623         * modules/printf-posix (Depends-on): Likewise.
10624         * modules/ptsname (Depends-on): Likewise.
10625         * modules/putenv (Depends-on): Likewise.
10626         * modules/pwrite (Depends-on): Likewise.
10627         * modules/readline (Depends-on): Likewise.
10628         * modules/readlink (Depends-on): Likewise.
10629         * modules/readlinkat (Depends-on): Likewise.
10630         * modules/recv (Depends-on): Likewise.
10631         * modules/recvfrom (Depends-on): Likewise.
10632         * modules/regex (Depends-on): Likewise.
10633         * modules/remove (Depends-on): Likewise.
10634         * modules/rename (Depends-on): Likewise.
10635         * modules/renameat (Depends-on): Likewise.
10636         * modules/rmdir (Depends-on): Likewise.
10637         * modules/round (Depends-on): Likewise.
10638         * modules/roundf (Depends-on): Likewise.
10639         * modules/roundl (Depends-on): Likewise.
10640         * modules/rpmatch (Depends-on): Likewise.
10641         * modules/select (Depends-on): Likewise.
10642         * modules/send (Depends-on): Likewise.
10643         * modules/sendto (Depends-on): Likewise.
10644         * modules/setenv (Depends-on): Likewise.
10645         * modules/setlocale (Depends-on): Likewise.
10646         * modules/setsockopt (Depends-on): Likewise.
10647         * modules/shutdown (Depends-on): Likewise.
10648         * modules/sigaction (Depends-on): Likewise.
10649         * modules/signbit (Depends-on): Likewise.
10650         * modules/sigprocmask (Depends-on): Likewise.
10651         * modules/sinl (Depends-on): Likewise.
10652         * modules/sleep (Depends-on): Likewise.
10653         * modules/snprintf (Depends-on): Likewise.
10654         * modules/snprintf-posix (Depends-on): Likewise.
10655         * modules/socket (Depends-on): Likewise.
10656         * modules/sprintf-posix (Depends-on): Likewise.
10657         * modules/sqrtl (Depends-on): Likewise.
10658         * modules/stat (Depends-on): Likewise.
10659         * modules/strchrnul (Depends-on): Likewise.
10660         * modules/strdup-posix (Depends-on): Likewise.
10661         * modules/strerror (Depends-on): Likewise.
10662         * modules/strerror_r-posix (Depends-on): Likewise.
10663         * modules/strndup (Depends-on): Likewise.
10664         * modules/strnlen (Depends-on): Likewise.
10665         * modules/strptime (Depends-on): Likewise.
10666         * modules/strsep (Depends-on): Likewise.
10667         * modules/strsignal (Depends-on): Likewise.
10668         * modules/strstr-simple (Depends-on): Likewise.
10669         * modules/strtod (Depends-on): Likewise.
10670         * modules/strtoimax (Depends-on): Likewise.
10671         * modules/strtok_r (Depends-on): Likewise.
10672         * modules/strtoumax (Depends-on): Likewise.
10673         * modules/symlink (Depends-on): Likewise.
10674         * modules/symlinkat (Depends-on): Likewise.
10675         * modules/tanl (Depends-on): Likewise.
10676         * modules/tcgetsid (Depends-on): Likewise.
10677         * modules/tmpfile (Depends-on): Likewise.
10678         * modules/trunc (Depends-on): Likewise.
10679         * modules/truncf (Depends-on): Likewise.
10680         * modules/truncl (Depends-on): Likewise.
10681         * modules/uname (Depends-on): Likewise.
10682         * modules/unlink (Depends-on): Likewise.
10683         * modules/unlockpt (Depends-on): Likewise.
10684         * modules/unsetenv (Depends-on): Likewise.
10685         * modules/usleep (Depends-on): Likewise.
10686         * modules/utimensat (Depends-on): Likewise.
10687         * modules/vasprintf (Depends-on): Likewise.
10688         * modules/vdprintf (Depends-on): Likewise.
10689         * modules/vdprintf-posix (Depends-on): Likewise.
10690         * modules/vfprintf-posix (Depends-on): Likewise.
10691         * modules/vprintf-posix (Depends-on): Likewise.
10692         * modules/vsnprintf (Depends-on): Likewise.
10693         * modules/vsnprintf-posix (Depends-on): Likewise.
10694         * modules/vsprintf-posix (Depends-on): Likewise.
10695         * modules/wcrtomb (Depends-on): Likewise.
10696         * modules/wcscasecmp (Depends-on): Likewise.
10697         * modules/wcscspn (Depends-on): Likewise.
10698         * modules/wcsdup (Depends-on): Likewise.
10699         * modules/wcsncasecmp (Depends-on): Likewise.
10700         * modules/wcsnrtombs (Depends-on): Likewise.
10701         * modules/wcspbrk (Depends-on): Likewise.
10702         * modules/wcsrtombs (Depends-on): Likewise.
10703         * modules/wcsspn (Depends-on): Likewise.
10704         * modules/wcsstr (Depends-on): Likewise.
10705         * modules/wcstok (Depends-on): Likewise.
10706         * modules/wcswidth (Depends-on): Likewise.
10707         * modules/wctob (Depends-on): Likewise.
10708         * modules/wctomb (Depends-on): Likewise.
10709         * modules/wctype (Depends-on): Likewise.
10710         * modules/wcwidth (Depends-on): Likewise.
10711         * modules/write (Depends-on): Likewise.
10712
10713 2011-05-03  Bruno Haible  <bruno@clisp.org>
10714
10715         Support for conditional dependencies.
10716         * doc/gnulib.texi (Module description): Document the syntax of
10717         conditional dependencies.
10718         * gnulib-tool: New option --conditional-dependencies.
10719         (func_usage): Document it.
10720         (cond_dependencies): New variable.
10721         (func_get_automake_snippet_conditional,
10722         func_get_automake_snippet_unconditional): New functions, extracted from
10723         func_get_automake_snippet.
10724         (func_get_automake_snippet): Use them.
10725         (sed_first_32_chars): New variable.
10726         (func_module_shellfunc_name): New function.
10727         (func_module_shellvar_name): New function.
10728         (func_module_conditional_name): New function.
10729         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10730         func_cond_module_condition): New functions.
10731         (func_modules_transitive_closure): Add support for conditional
10732         dependencies.
10733         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10734         conditional automake snippet in an automake conditional.
10735         (func_emit_autoconf_snippets): Emit shell functions that contain the
10736         code for conditional modules.
10737         (func_import, func_create_testdir): Update specification.
10738
10739 2011-05-03  Eric Blake  <eblake@redhat.com>
10740
10741         test-getaddrinfo: report error information
10742         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10743
10744 2011-05-03  Jim Meyering  <meyering@redhat.com>
10745
10746         bootstrap: avoid build failure when $GZIP is set
10747         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10748         program name.  If defined at all, it is supposed to list gzip options.
10749         Reported by Alan Curry in http://debbugs.gnu.org/8609
10750
10751 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10752
10753         readme-release: new module with release instructions
10754         * modules/readme-release: New module.
10755         * top/README-release: New file, from coreutils, grep, diffutils.
10756         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10757
10758 2011-05-02  Eric Blake  <eblake@redhat.com>
10759
10760         fflush: also replace fclose when fixing fflush
10761         * modules/fflush (Depends-on): Add fclose.
10762         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10763         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10764         memstreams with no backing fd.
10765         * doc/posix-functions/fclose.texi (fclose): Document the use of
10766         fflush module to fix the bug.
10767         * tests/test-fclose.c (main): Relax test when fclose is used in
10768         isolation.
10769
10770         fclose: add some tests
10771         * modules/fclose-tests: New test module.
10772         * tests/test-fclose.c: New file.
10773         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10774
10775         fclose: reduced dependencies
10776         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10777         simpler lseek.
10778         * lib/fclose.c (rpl_fclose): Likewise.
10779         Reported by Simon Josefsson.
10780
10781         exit: drop remaining clients
10782         * modules/argmatch (Depends-on): Replace exit with stdlib.
10783         * modules/copy-file (Depends-on): Likewise.
10784         * modules/execute (Depends-on): Likewise.
10785         * modules/exitfail (Depends-on): Likewise.
10786         * modules/obstack (Depends-on): Likewise.
10787         * modules/pagealign_alloc (Depends-on): Likewise.
10788         * modules/pipe-filter-gi (Depends-on): Likewise.
10789         * modules/pipe-filter-ii (Depends-on): Likewise.
10790         * modules/savewd (Depends-on): Likewise.
10791         * modules/spawn-pipe (Depends-on): Likewise.
10792         * modules/wait-process (Depends-on): Likewise.
10793         * modules/xsetenv (Depends-on): Likewise.
10794         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10795         * modules/git-merge-changelog (Depends-on): Likewise.
10796         * modules/long-options (Depends-on): Likewise.
10797         * modules/pt_chown (Depends-on): Likewise.
10798         * modules/sysexits (Depends-on): Likewise.
10799
10800         freading: relax license from LGPLv3+ to LGPLv2+
10801         * modules/freading (License): Relax LGPL version.
10802
10803 2011-05-02  Bruno Haible  <bruno@clisp.org>
10804
10805         fchdir: Remove unused dependencies.
10806         * modules/fchdir (Depends-on): Remove include_next.
10807
10808 2011-05-02  Bruno Haible  <bruno@clisp.org>
10809
10810         gnulib-tool: Refactor.
10811         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10812         from func_emit_autoconf_snippets.
10813         (func_emit_autoconf_snippets): Use it.
10814
10815 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10816
10817         * NEWS: Document removal of 'exit'.
10818         * modules/exit: Remove file.
10819
10820 2011-05-01  Bruno Haible  <bruno@clisp.org>
10821
10822         Update DEPENDENCIES.
10823         * DEPENDENCIES (gettext): Recommend the newest release.
10824         Reported by Simon Josefsson.
10825
10826 2011-05-01  Bruno Haible  <bruno@clisp.org>
10827
10828         gnulib-tool: Reduce code duplication.
10829         * gnulib-tool (func_emit_autoconf_snippets): New function.
10830         (func_import, func_create_testdir): Use it.
10831
10832 2011-04-30  Eric Blake  <eblake@redhat.com>
10833
10834         fclose: don't fail on non-seekable input stream
10835         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10836         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10837         since fflush is allowed to fail in that case.
10838
10839 2011-04-30  Bruno Haible  <bruno@clisp.org>
10840
10841         dup3: cleanup
10842         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10843
10844 2011-04-30  Bruno Haible  <bruno@clisp.org>
10845
10846         netdb: Make it work in C++ mode.
10847         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10848         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10849         module.
10850         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10851         gl_MODULE_INDICATOR_FOR_TESTS.
10852         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10853         * modules/netdb-c++-tests: New file.
10854         * tests/test-netdb-c++.cc: New file.
10855
10856 2011-04-30  Bruno Haible  <bruno@clisp.org>
10857
10858         New modules 'vfscanf', 'vscanf'.
10859         * modules/vfscanf: New file.
10860         * modules/vscanf: New file.
10861         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10862         here.
10863         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10864         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10865
10866 2011-04-30  Bruno Haible  <bruno@clisp.org>
10867
10868         passfd: Add comments.
10869         * lib/passfd.c: Add comments about platforms.
10870
10871 2011-04-30  Bruno Haible  <bruno@clisp.org>
10872
10873         sys_uio: Make <sys/uio.h> self-contained.
10874         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10875         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10876
10877 2011-04-30  Bruno Haible  <bruno@clisp.org>
10878
10879         sys_socket: Ensure 'struct iovec' definition.
10880         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10881         <sys/socket.h>.
10882         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10883
10884 2011-04-30  Bruno Haible  <bruno@clisp.org>
10885
10886         sys_uio: Protect definition of 'struct iovec'.
10887         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10888         it as a C struct.
10889
10890 2011-04-30  Bruno Haible  <bruno@clisp.org>
10891
10892         manywarnings: fix indentation
10893         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10894
10895 2011-04-30  Pádraig Brady <P@draigBrady.com>
10896
10897         manywarnings: add -Wno-missing-field-initializers if needed.
10898         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10899         option if it's needed to allow initialization with { 0, }
10900
10901 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10902
10903         announce-gen: cosmetic improvement
10904         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10905
10906 2011-04-29  Jim Meyering  <meyering@redhat.com>
10907
10908         vc-list-files: indent with spaces, not TABs
10909         * build-aux/vc-list-files: Convert leading TABs to spaces,
10910         to match the style of most other files in gnulib.
10911
10912         announce-gen: indent with spaces, not TABs
10913         * build-aux/announce-gen: Convert all TABs to spaces, to match
10914         the style of most other files in gnulib.
10915
10916 2011-04-29  Eric Blake  <eblake@redhat.com>
10917
10918         quotearg: avoid uninitialized variable use
10919         * lib/quotearg.c (quoting_options_from_style): Initialize
10920         remaining fields, and ensure that custom styles are only used via
10921         quoting_options rather than quoting_style.
10922
10923 2011-04-29  Jim Meyering  <meyering@redhat.com>
10924
10925         maint.mk: remove unused VC-tag variable
10926         * top/maint.mk (VC-tag): Remove unused variable.
10927
10928 2011-04-29  Bruno Haible  <bruno@clisp.org>
10929
10930         netdb: fix gai_strerror replacements
10931         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
10932         * modules/netdb: Substitute it.
10933
10934 2011-04-29  Jim Meyering  <meyering@redhat.com>
10935
10936         test-getcwd.c: avoid new set-but-not-used warning
10937         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
10938         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
10939         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
10940         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
10941
10942         test-hash.c: avoid a new shadowing warning
10943         * tests/test-hash.c (main): Don't shadow "dup".
10944
10945 2011-04-28  Eric Blake  <eblake@redhat.com>
10946
10947         getaddrinfo: fix gai_strerror signature
10948         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
10949         and work around mingw with UNICODE defined.
10950         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
10951         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
10952         * modules/netdb (Makefile.am): Substitute it.
10953         * lib/netdb.in.h (gai_strerror): Declare replacement.
10954         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
10955         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
10956         the fix.
10957
10958         getsockopt: avoid compiler warning
10959         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
10960         Reported by Matthias Bolte.
10961
10962         tests: drop unused link dependency
10963         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
10964         * modules/dirent-safer-tests (Makefile.am): Likewise.
10965         * modules/fdopendir-tests (Makefile.am): Likewise.
10966         * modules/mkfifoat-tests (Makefile.am): Likewise.
10967         * modules/openat-safer-tests (Makefile.am): Likewise.
10968         * modules/openat-tests (Makefile.am): Likewise.
10969         * modules/readlinkat-tests (Makefile.am): Likewise.
10970         * modules/symlinkat-tests (Makefile.am): Likewise.
10971         * modules/linkat-tests (Makefile.am): Likewise.
10972         (Depends-on): Switch to filenamecat-lgpl.
10973         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
10974         LIBINTL.
10975         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
10976         * tests/test-linkat.c (main): Don't require xalloc.
10977
10978         hash, mgetgroups: drop xalloc dependency
10979         * lib/hash.c (includes): Adjust includes.
10980         * lib/mgetgroups.c (includes): Likewise.
10981         (xgetgroups): Move...
10982         * lib/xgetgroups.c: ...to new file.
10983         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
10984         * modules/xgetgroups: New file, split from...
10985         * modules/mgetgroups: ...here.
10986         (Depends-on): Add xalloc-oversized.
10987         * modules/hash (Depends-on): Likewise.
10988         * modules/hash-tests (Depends-on): Drop xalloc.
10989         (test_hash_LDADD): Drop unused library.
10990         * tests/test-hash.c (main): Break xalloc dependency.
10991         (includes): Drop unused include.
10992
10993         xalloc-oversized: new module
10994         * modules/xalloc-oversized: New module.
10995         * modules/xalloc (Depends-on): Add it.
10996         * lib/xalloc.h (xalloc_oversized): Move...
10997         * lib/xalloc-oversized.h: ...into new file.
10998
10999         utimecmp: drop dependency on xmalloc
11000         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11001         due to memory pressure.
11002         * modules/utimecmp (Depends-on): Drop xalloc.
11003
11004 2011-04-27  Eric Blake  <eblake@redhat.com>
11005
11006         getcwd: fix mingw bugs
11007         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11008         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11009         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11010
11011 2011-04-27  Bruno Haible  <bruno@clisp.org>
11012
11013         mkstemps: Ensure declaration on MacOS X 10.5.
11014         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11015         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11016         MacOS X.
11017
11018 2011-04-27  Bruno Haible  <bruno@clisp.org>
11019
11020         mkstemp: More documentation.
11021         * doc/posix-functions/mkstemp.texi: Document header file problem on
11022         MacOS X.
11023
11024 2011-04-27  Bruno Haible  <bruno@clisp.org>
11025
11026         mkstemp: Tweak configure message when cross-compiling.
11027         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11028         result as a guess.
11029
11030 2011-04-27  Bruno Haible  <bruno@clisp.org>
11031
11032         clean-temp: Clarify what it does.
11033         * lib/clean-temp.h: Add more comments.
11034         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11035         module.
11036         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11037         * doc/glibc-functions/mkstemps.texi: Likewise.
11038         * doc/glibc-functions/mkostemps.texi: Likewise.
11039
11040 2011-04-27  Eric Blake  <eblake@redhat.com>
11041
11042         fchdir: avoid extra chdir and fix test
11043         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11044         getcwd-lgpl.
11045         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11046         have to be canonical.
11047         (canonicalize_file_name): Drop unused macro.
11048         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11049
11050         filenamecat-lgpl: fix licence
11051         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11052         when it was first created.
11053
11054         linkat, renameat: add missing dependency
11055         * modules/linkat (Depends-on): Require getcwd-lgpl.
11056         * modules/renameat (Depends-on): Likewise.
11057
11058         tests: reduce dependencies
11059         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11060         * tests/test-renameat.c (main): Likewise.
11061         * modules/linkat-tests (Depends-on): Relax dependency.
11062         * modules/renameat-tests (Depends-on): Likewise.
11063         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11064         dependency explicit.
11065
11066         save-cwd: reduce default dependency
11067         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11068         * lib/save-cwd.c: Update comments.
11069         * NEWS: Document the semantic change.
11070
11071         getcwd: enhance tests
11072         * tests/test-getcwd-lgpl.c: New file, taken from...
11073         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11074         repeat long path stress tests from m4 probe.
11075         * modules/getcwd-lgpl-tests: New module.
11076         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11077         * m4/getcwd-abort-bug.m4: Update comment.
11078         * m4/getcwd-path-max.m4: Likewise.
11079
11080         getcwd-lgpl: new module
11081         * modules/getcwd-lgpl: New module.
11082         * lib/getcwd-lgpl.c: New file.
11083         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11084         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11085         * modules/getcwd (configure.ac): Set C witness.
11086         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11087
11088         getcwd: tweak comments
11089         * m4/getcwd-abort-bug.m4: Fix comments.
11090         * m4/getcwd-path-max.m4: Likewise.
11091         * m4/getcwd.m4: Likewise.
11092
11093 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11094         and Eric Blake  <eblake@redhat.com>
11095
11096         mkstemp: replace if system version uses wrong permissions
11097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11098         read/write mode bits set in file created by mkstemp.
11099         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11100
11101 2011-04-27  Eric Blake  <eblake@redhat.com>
11102
11103         passfd: avoid compiler warning
11104         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11105         Reported by Laine Stump.
11106
11107 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11108
11109         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11110         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11111
11112 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11113         and Eric Blake  <eblake@redhat.com>
11114
11115         mkstemp: mention clean-temp module
11116         * lib/mkstemp.c: Add comment.
11117         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11118
11119 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11120
11121         inttypes: also provide default values for 32-bit tests
11122         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11123         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11124
11125 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11126
11127         strtoumax: remove dependency on strtoimax
11128         This is like the strtoull change of yesterday.
11129         * modules/strtoumax (Files): Add lib/strtoimax.c.
11130         (Depends-on): Remove strtoimax and add verify.
11131
11132         inttypes-incomplete: new module
11133         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11134         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11135         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11136         of gl_INTTYPES_H.
11137         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11138         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11139         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11140         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11141         * modules/strtoumax, modules/xstrtol (Depends-on):
11142         Depend on inttypes-incomplete, not inttypes.
11143         * modules/inttypes-incomplete: New module, containing the contents
11144         of the old modules/inttypes module, except that the Files: section
11145         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11146         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11147         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11148         (Depends-on): Depend only on inttypes-incomplete.
11149         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11150
11151         inttypes: omit now-redundant strtoimax and strtoumax work
11152         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11153         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11154
11155         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11156         This supports apps that need pointers to strtoimax and strtoumax,
11157         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11158         nonexistent functions.  See
11159         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11160         et seq.
11161         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11162         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11163         a macro.
11164         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11165
11166 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11167
11168         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11169
11170 2011-04-25  Bruno Haible  <bruno@clisp.org>
11171
11172         strtol, strtoul: Mark modules as obsolete.
11173         * modules/strtol (Status, Notice): New sections.
11174         * modules/strtoul (Status, Notice): New sections.
11175
11176 2011-04-25  Bruno Haible  <bruno@clisp.org>
11177
11178         strtod: Remove check for strtod, unless supporting old platforms.
11179         * modules/strtod-obsolete: New file.
11180         * m4/strtod-obsolete.m4: New file.
11181         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11182         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11183         * modules/strtod (Depends-on): Add strtod-obsolete.
11184         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11185
11186 2011-04-25  Bruno Haible  <bruno@clisp.org>
11187
11188         strcase: Make module obsolete.
11189         * modules/strcase (Status, Notice): New sections.
11190
11191 2011-04-25  Bruno Haible  <bruno@clisp.org>
11192
11193         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11194         * modules/dup2-obsolete: New file.
11195         * m4/dup2-obsolete.m4: New file.
11196         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11197         gl_FUNC_DUP2_OBSOLETE is not also defined.
11198         * modules/dup2 (Depends-on): Add dup2-obsolete.
11199         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11200
11201 2011-04-25  Bruno Haible  <bruno@clisp.org>
11202
11203         strnlen: Avoid memchr related link error on old obsolete platforms.
11204         * modules/memchr-obsolete: New file.
11205         * m4/memchr-obsolete.m4: New file.
11206         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11207         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11208         * modules/memchr (Depends-on): Add memchr-obsolete.
11209         * modules/strnlen (Depends-on): Likewise.
11210         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11211
11212 2011-04-25  Jim Meyering  <meyering@redhat.com>
11213
11214         maint.mk: makefile_at_at_check extend and clean up
11215         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11216         in addition to */Makefile.am.
11217         Exempt legitimate uses of @VAR@ notation, e.g.,
11218         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11219         Remove obsolete coreutils-specific comment.
11220         Prompted by discussion here:
11221         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11222
11223 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11224
11225         strtoul: remove dependency on strtol
11226         This is so that 'configure' need not check for strtol merely because
11227         the application needs strtoul.
11228         * modules/strtoul (Files): Add lib/strtol.c.
11229         (Depends-on): Remove strtol.
11230
11231         strtoull: remove dependency on strtoul
11232         This is like the strtoll change.
11233         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11234         (Depends-on): Remove strtoul.
11235
11236         strtoll: remove dependency on strtol
11237         This is so that 'configure' need not check for strtol merely because
11238         the application needs strtoll.
11239         * modules/strtoll (Files): Add lib/strtol.c.
11240         (Depends-on): Remove strtol.
11241
11242 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11243
11244         inttypes: Move some configure check to module 'imaxdiv'.
11245         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11246         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11247         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11248
11249 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11250
11251         inttypes: Move some configure check to module 'imaxabs'.
11252         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11253         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11254         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11255
11256 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11257
11258         inttypes: Remove configure tests that are not needed since 2009-12-31.
11259         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11260         gl_cv_header_working_inttypes_h.
11261
11262 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11263
11264         * modules/strnlen (Depends-on): Remove memchr.
11265         The strnlen implementation doesn't need the memchr module's fixes; see
11266         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11267
11268         strtol: remove dependency on wchar
11269         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11270         * modules/strtol (Depends-on): Remove wchar.
11271
11272 2011-04-21  Eric Blake  <eblake@redhat.com>
11273
11274         passfd: fix test regression on Linux
11275         * modules/passfd-tests (configure.ac): Correct socketpair check.
11276
11277         passfd: speed up configure and drop unused code
11278         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11279         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11280         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11281         Instead of probing at configure for unix_scm_rights_bsd44_way,
11282         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11283         check to a struct member probe.
11284         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11285         (sendfd, recvfd): Update preprocessor checks.
11286         * modules/passfd (Files): Reflect rename, and drop unused file.
11287         (Depends-on): Drop unused dependency.
11288
11289         passfd: allow compilation on mingw
11290         * modules/sys_socket (Depends-on): Add sys_uio.
11291         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11292         iovec and a minimal struct msghdr.
11293         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11294         * tests/test-sys_socket.c (main): Enhance test.
11295         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11296         guaranteed to provide what we need.
11297         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11298         * modules/passfd-tests (Depends-on): Add sys_wait.
11299         * tests/test-passfd.c (main): Skip test on mingw, for now.
11300         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11301         partial 'struct msghdr' implementation.
11302
11303         sys_uio: new module
11304         * modules/sys_uio: New module.
11305         * modules/sys_uio-tests: Likewise.
11306         * lib/sys_uio.in.h: New file.
11307         * m4/sys_uio_h.m4: Likewise.
11308         * tests/test-sys_uio.c: Likewise.
11309         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11310         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11311
11312 2011-04-20  Jim Meyering  <meyering@redhat.com>
11313
11314         useless-if-before-free: avoid false-positive
11315         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11316         disjunct so that it too requires a terminating ";".  Without that,
11317         this script would identify as useless one statement from gcc that
11318         was not:
11319           if (aligned_ptr)
11320             free (((void **) aligned_ptr) [-1]);
11321
11322 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11323
11324         doc: update users.txt.
11325         * users.txt: Add barcode.
11326
11327 2011-04-19  Bruno Haible  <bruno@clisp.org>
11328
11329         ioctl: Remove link dependency on native Windows.
11330         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11331         (gl_close_fn, gl_ioctl_fn): New types.
11332         (struct fd_hook): Renamed from struct close_hook. Change type of
11333         private_close_fn field. Add private_ioctl_fn field.
11334         (close_hook_fn): Add parameter for primary close method.
11335         (execute_close_hooks, execute_all_close_hooks): Likewise.
11336         (ioctl_hook_fn): New type.
11337         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11338         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11339         argument.
11340         (unregister_fd_hook): Renamed from unregister_close_hook.
11341         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11342         Don't include <unistd.h>.
11343         (close): Remove undef.
11344         (anchor): Update.
11345         (execute_close_hooks): Add argument for primary close method.
11346         (execute_all_close_hooks): Likewise.
11347         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11348         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11349         argument. Allow each argument to be NULL.
11350         (unregister_fd_hook): Renamed from unregister_close_hook.
11351         * lib/close.c (rpl_close): Pass 'close' function pointer to
11352         execute_all_close_hooks.
11353         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11354         (primary_ioctl): New function.
11355         (ioctl): Don't call ioctlsocket here. Instead, call
11356         execute_all_ioctl_hooks.
11357         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11358         close method.
11359         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11360         (fd_sockets_hook): Renamed from close_sockets_hook.
11361         (gl_sockets_startup, gl_sockets_cleanup): Update.
11362         * modules/fd-hook: Renamed from modules/close-hook. Update.
11363         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11364         * modules/sockets (Depends-on): Likewise.
11365         * modules/ioctl (Depends-on): Add fd-hook.
11366         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11367         GNULIB_SOCKET.
11368
11369 2011-04-19  Bruno Haible  <bruno@clisp.org>
11370
11371         Move the support of O_NONBLOCK in open() to the 'open' module.
11372         * modules/nonblocking (Depends-on): Remove 'open'.
11373         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11374         gl_cv_have_open_O_NONBLOCK.
11375         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11376         O_NONBLOCK support.
11377         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11378
11379 2011-04-17  Bruno Haible  <bruno@clisp.org>
11380
11381         pipe2: Simplify code.
11382         * lib/pipe2.c (pipe2): Reduce code duplication.
11383
11384 2011-04-17  Bruno Haible  <bruno@clisp.org>
11385
11386         nonblocking: Add comment.
11387         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11388
11389 2011-04-17  Bruno Haible  <bruno@clisp.org>
11390
11391         nonblocking: Add tests for sockets.
11392         * tests/test-nonblocking-socket.sh: New file.
11393         * tests/test-nonblocking-socket-main.c: New file.
11394         * tests/test-nonblocking-socket-child.c: New file.
11395         * tests/test-nonblocking-socket.h: New file.
11396         * tests/socket-server.h: New file.
11397         * tests/socket-client.h: New file.
11398         * modules/nonblocking-socket-tests: New file.
11399         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11400
11401 2011-04-17  Bruno Haible  <bruno@clisp.org>
11402
11403         nonblocking: Add tests for pipes.
11404         * tests/test-nonblocking-pipe.sh: New file.
11405         * tests/test-nonblocking-pipe-main.c: New file.
11406         * tests/test-nonblocking-pipe-child.c: New file.
11407         * tests/test-nonblocking-pipe.h: New file.
11408         * tests/test-nonblocking-writer.h: New file.
11409         * tests/test-nonblocking-reader.h: New file.
11410         * tests/test-nonblocking-misc.h: New file.
11411         * modules/nonblocking-pipe-tests: New file.
11412         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11413
11414 2011-04-16  Bruno Haible  <bruno@clisp.org>
11415
11416         gettext: Clarify the needed programmer actions.
11417         * modules/gettext (Notice): New field.
11418         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11419
11420 2011-04-16  Bruno Haible  <bruno@clisp.org>
11421
11422         strchrnul: Tweak last commit.
11423         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11424         bug.
11425         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11426         as in _GL_FUNCDECL_SYS.
11427         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11428         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11429
11430 2011-04-15  Eric Blake  <eblake@redhat.com>
11431
11432         strchrnul: work around cygwin bug
11433         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11434         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11435         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11436         * modules/string (Makefile.am): Substitute it.
11437         * lib/string.in.h (strchrnul): Use it.
11438
11439 2011-04-15  Bruno Haible  <bruno@clisp.org>
11440
11441         Don't require lib/stdio-write.c when only module 'stdio' is used.
11442         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11443         invocation.
11444         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11445
11446 2011-04-14  Bruno Haible  <bruno@clisp.org>
11447
11448         Support non-blocking pipe I/O in read() on native Windows.
11449         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11450         (read): New declaration.
11451         * lib/read.c: New file.
11452         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11453         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11454         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11455         vscanf): New declarations.
11456         * lib/stdio-read.c: New file.
11457         * m4/read.m4: New file.
11458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11459         REPLACE_READ.
11460         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11461         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11462         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11463         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11464         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11465         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11466         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11467         * modules/read: New file.
11468         * modules/nonblocking (Files): Add lib/stdio-read.c.
11469         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11470         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11471         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11472         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11473         * modules/pread (Depends-on): Add read.
11474         * modules/safe-read (Depends-on): Likewise.
11475         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11476         gets, scanf, vfscanf, vscanf): Verify signatures.
11477         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11478         problem with non-blocking pipes.
11479         * doc/posix-functions/fgetc.texi: Likewise.
11480         * doc/posix-functions/fgets.texi: Likewise.
11481         * doc/posix-functions/fread.texi: Likewise.
11482         * doc/posix-functions/fscanf.texi: Likewise.
11483         * doc/posix-functions/getc.texi: Likewise.
11484         * doc/posix-functions/getchar.texi: Likewise.
11485         * doc/posix-functions/gets.texi: Likewise.
11486         * doc/posix-functions/scanf.texi: Likewise.
11487         * doc/posix-functions/vfscanf.texi: Likewise.
11488         * doc/posix-functions/vscanf.texi: Likewise.
11489
11490 2011-04-14  Bruno Haible  <bruno@clisp.org>
11491
11492         Support non-blocking pipe I/O in write() on native Windows.
11493         * lib/write.c (rpl_write): Split a write request that failed merely
11494         because the byte count was larger than the pipe buffer's size.
11495         * doc/posix-functions/write.texi: Mention the problem with large byte
11496         counts.
11497
11498 2011-04-14  Bruno Haible  <bruno@clisp.org>
11499
11500         wchar: Ensure that wchar_t gets defined on uClibc.
11501         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11502         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11503
11504 2011-04-13  Bruno Haible  <bruno@clisp.org>
11505
11506         safe-write, full-read: Avoid unnecessary compilation units.
11507         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11508         (Depends-on): Remove safe-read. Add ssize_t.
11509         * modules/full-read (Files): Add lib/full-write.c.
11510         (Depends-on): Add full-write.
11511
11512 2011-04-13  Bruno Haible  <bruno@clisp.org>
11513
11514         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11515         * modules/pwrite (Depends-on): Add 'write'.
11516
11517 2011-04-13  Bruno Haible  <bruno@clisp.org>
11518
11519         Support non-blocking pipe I/O in write() on native Windows.
11520         * lib/unistd.in.h (write): Enable replacement also if
11521         GNULIB_UNISTD_H_NONBLOCKING is 1.
11522         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11523         (rpl_write): When failing to write on a non-blocking pipe, change
11524         errno from ENOSPC to EAGAIN.
11525         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11526         putchar, puts, vfprintf, vprintf): Enable replacement also if
11527         GNULIB_STDIO_H_NONBLOCKING is 1.
11528         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11529         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11530         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11531         CALL_WITH_SIGPIPE_EMULATION.
11532         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11533         * m4/nonblocking.m4: New file.
11534         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11535         for non-blocking I/O support.
11536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11537         GNULIB_UNISTD_H_NONBLOCKING.
11538         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11539         required for non-blocking I/O support.
11540         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11541         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11542         lib/stdio-write.c, m4/asm-underscore.m4.
11543         (Depends-on): Add stdio, unistd.
11544         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11545         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11546         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11547         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11548         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11549         problem with non-blocking pipes.
11550         * doc/posix-functions/fputc.texi: Likewise.
11551         * doc/posix-functions/fputs.texi: Likewise.
11552         * doc/posix-functions/fwrite.texi: Likewise.
11553         * doc/posix-functions/printf.texi: Likewise.
11554         * doc/posix-functions/putc.texi: Likewise.
11555         * doc/posix-functions/putchar.texi: Likewise.
11556         * doc/posix-functions/puts.texi: Likewise.
11557         * doc/posix-functions/vfprintf.texi: Likewise.
11558         * doc/posix-functions/vprintf.texi: Likewise.
11559         * doc/posix-functions/write.texi: Likewise.
11560
11561 2011-04-10  Jim Meyering  <meyering@redhat.com>
11562
11563         maint.mk: prohibit doubled words
11564         Detect them also when they're separated by a newline.
11565         There are 3 ways to customize it:
11566           - disable the test on a per file basis, as usual with rules using
11567             $(VC_LIST_EXCEPT)
11568           - replace the default doubled-word-selecting regexp (affects all files)
11569           - ignore a particular file-vs-doubled-word match
11570         I nearly used that last one to ignore the "is is" match in
11571         coreutils' NEWS file, since the text was "ls -is is ..."
11572         To do that, I would have added this line to cfg.mk:
11573           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11574         but it would have ignored any "is is" match in NEWS.
11575         Low probability, but still...
11576         Instead, I changed the text, slightly:
11577           -  ls -is is now consistent with ls -lis in ignoring values returned
11578           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11579         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11580         (prohibit_doubled_word_): Define.
11581         (sc_prohibit_doubled_word): New rule.
11582         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11583
11584 2011-04-10  Jim Meyering  <meyering@redhat.com>
11585
11586         maint: fix doubled-word typo in comment
11587         * m4/gethostname.m4: s/is is/it is/
11588         * m4/getdomainname.m4: Likewise.
11589
11590 2011-04-10  Jim Meyering  <meyering@redhat.com>
11591
11592         maint: remove doubled word: s/it it/it/
11593         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11594
11595 2011-04-10  Jim Meyering  <meyering@redhat.com>
11596
11597         maint.mk: remove useless semicolon and backslash
11598         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11599         semicolon and backslash.
11600
11601 2011-04-10  Bruno Haible  <bruno@clisp.org>
11602
11603         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11604         * modules/stdint-tests (Depends-on): Add wchar.
11605
11606 2011-04-10  Jim Meyering  <meyering@redhat.com>
11607
11608         maint: remove doubled words in comments, e.g., s/a a/a/
11609         * lib/strptime.c (day_of_the_week): s/the the/the/
11610         * tests/test-chown.h (test_chown): s/a a/a/
11611
11612         test-chown.h: correct a cast
11613         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11614         when the destination is a stat.st_gid.
11615
11616 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11617
11618         getaddrinfo: Fix test for sa_len member.
11619         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11620         include <sys/types.h> before <sys/socket.h>.
11621
11622 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11623
11624         maint: change "can not" to "cannot"
11625         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11626         boundaries.
11627
11628 2011-04-09  Jim Meyering  <meyering@redhat.com>
11629
11630         maint: change "a a" to "a"
11631         * tests/test-lchown.h (test_lchown): s/a a/a/
11632
11633         maint.mk: prohibit \<the the\>
11634         * top/maint.mk (sc_prohibit_the_the): New rule.
11635
11636         maint: fix "the the" in comment
11637         * lib/count-one-bits.h: s/the the/the/
11638
11639         maint: change "can not" to "cannot"
11640         But do not change the occurrences in maintain.texi or in
11641         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11642         * doc/gnulib-tool.texi: s/can not/cannot/
11643         * doc/posix-functions/accept.texi (accept): Likewise.
11644         * doc/posix-functions/socket.texi (socket): Likewise.
11645         * lib/mbrtowc.c: Likewise.
11646
11647         maint.mk: prohibit use of "can not"
11648         * top/maint.mk (sc_prohibit_can_not): New rule.
11649         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11650
11651 2011-04-09  Bruno Haible  <bruno@clisp.org>
11652
11653         careadlinkat: Guard against misuse of careadlinkatcwd.
11654         * lib/careadlinkat.c: Include <stdlib.h>.
11655         (careadlinkatcwd): Check that the fd argument is as expected.
11656
11657 2011-04-09  Bruno Haible  <bruno@clisp.org>
11658
11659         careadlinkat: Use common coding style.
11660         * lib/careadlinkat.c: Move gnulib includes after system includes.
11661
11662 2011-04-09  Bruno Haible  <bruno@clisp.org>
11663
11664         careadlinkat: Clarify specification.
11665         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11666         (careadlinkatcwd): Add comment.
11667         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11668
11669 2011-04-09  Bruno Haible  <bruno@clisp.org>
11670
11671         areadlinkat: Avoid link error on many platforms.
11672         * modules/areadlinkat (Depends-on): Add areadlink.
11673
11674 2011-04-09  Bruno Haible  <bruno@clisp.org>
11675
11676         allocator, careadlinkat: Fix double-inclusion guard.
11677         * lib/allocator.h: Fix double-inclusion guard.
11678         * lib/careadlinkat.h: Likewise.
11679
11680 2011-04-09  Bruno Haible  <bruno@clisp.org>
11681
11682         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11683         * lib/relocwrapper.c: Update dependencies hierarchy.
11684         * build-aux/install-reloc: Update list of files to be compiled.
11685         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11686         lib/allocator.[hc].
11687
11688 2011-04-08  Eric Blake  <eblake@redhat.com>
11689
11690         strftime: silence gnulib-tool warning
11691         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11692
11693 2011-04-08  Bruno Haible  <bruno@clisp.org>
11694
11695         verify: Fix syntax error with GCC 4.6 in C++ mode.
11696         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11697         (HAVE_STATIC_ASSERT): New macro.
11698         (verify_true, verify): Use 'static_assert' if it is supported and
11699         '_Static_assert' is not supported.
11700
11701 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11702
11703         allocator: New module.
11704         * modules/allocator, lib/allocator.c: New files.
11705         * lib/allocator.h (stdlib_allocator): New decl.
11706         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11707         Remove.  Do not include <stdlib.h>.
11708         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11709         * modules/careadlinkat (Files): Remove lib/allocator.h.
11710         (Depends-on): Add allocator.
11711
11712         stdlib: let modules use system malloc, realloc
11713         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11714         if !_GL_USE_STDLIB_ALLOC.
11715         (malloc, realloc): Limit this change to a smaller scope.
11716
11717         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11718         (malloc, realloc): Don't #undef; no longer needed.
11719         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11720         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11721         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11722         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11723         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11724         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11725         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11726         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11727
11728         careadlinkat: rename members to avoid problem
11729         * lib/allocator.h (struct allocator): Rename members from
11730         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11731         and realloc are #define'd.  Reported by Eric Blake in
11732         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11733         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11734
11735 2011-04-08  Eric Blake  <eblake@redhat.com>
11736
11737         nonblocking: reduce dependency
11738         * tests/test-nonblocking.c: Only test sockets when in use.
11739         * modules/nonblocking-tests (Depends-on): Drop socket.
11740         (Makefile.am): Link even if sockets are not present.
11741         * modules/pipe2-tests (Makefile.am): Likewise.
11742         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11743
11744         pipe2: fix O_NONBLOCK support on mingw
11745         * modules/pipe2 (Depends-on): Add nonblocking.
11746         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11747         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11748         * tests/test-nonblocking.c (main): Likewise.
11749         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11750
11751         fcntl-h: fix O_ACCMODE on cygwin
11752         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11753         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11754
11755         pipe-filter: drop O_NONBLOCK workarounds
11756         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11757         * modules/pipe-filter-ii (Depends-on): Likewise.
11758         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11759
11760         nonblocking: provide O_NONBLOCK for mingw
11761         * modules/nonblocking (Depends-on): Add open.
11762         (configure.ac): Set new witness macro.
11763         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11764         * modules/fcntl-h (Makefile.am): Substitute it.
11765         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11766         nonblocking module is in use.
11767         * lib/nonblocking.c: Adjust portability test.
11768         * lib/open.c (open): Don't let native open see gnulib flag.
11769         * tests/test-fcntl-h.c (main): Enhance test.
11770         * tests/test-open.h (test_open): Likewise.
11771         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11772
11773         careadlinkat: fix compilation error on mingw
11774         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11775         within struct allocator.
11776
11777 2011-04-06  Eric Blake  <eblake@redhat.com>
11778
11779         binary-io: relicense under LGPLv2+
11780         * modules/binary-io (License): Relax to LGPLv2+.
11781         Requested for libvirt, and required by pipe2.
11782
11783 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11784
11785         verify: use _Static_assert if available
11786         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11787         (verify_true, verify): Use it if available.  This generates better
11788         diagnostics with GCC 4.6.0 and later.
11789
11790 2011-04-05  Bruno Haible  <bruno@clisp.org>
11791
11792         Remove leftover generated .h files after config.status changed.
11793
11794         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11795         GL_GENERATE_ALLOCA_H.
11796         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11797         GL_GENERATE_ALLOCA_H evaluates to false.
11798
11799         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11800         GL_GENERATE_ARGZ_H.
11801         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11802         evaluates to false.
11803
11804         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11805         GL_GENERATE_BYTESWAP_H.
11806         * modules/byteswap (Makefile.am): Remove byteswap.h if
11807         GL_GENERATE_BYTESWAP_H evaluates to false.
11808
11809         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11810         GL_GENERATE_ERRNO_H.
11811         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11812         evaluates to false.
11813
11814         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11815         GL_GENERATE_FLOAT_H.
11816         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11817         evaluates to false.
11818
11819         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11820         GL_GENERATE_FNMATCH_H.
11821         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11822         GL_GENERATE_FNMATCH_H evaluates to false.
11823
11824         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11825         GL_GENERATE_GLOB_H.
11826         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11827         evaluates to false.
11828
11829         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11830         automake conditional GL_GENERATE_ICONV_H.
11831         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11832         evaluates to false.
11833
11834         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11835         GL_GENERATE_NETINET_IN_H.
11836         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11837         GL_GENERATE_NETINET_IN_H evaluates to false.
11838
11839         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11840         conditional GL_GENERATE_PTHREAD_H.
11841         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11842         * modules/pthread (Makefile.am): Remove pthread.h if
11843         GL_GENERATE_PTHREAD_H evaluates to false.
11844
11845         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11846         GL_GENERATE_SCHED_H.
11847         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11848         evaluates to false.
11849
11850         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11851         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11852         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11853         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11854
11855         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11856         GL_GENERATE_STDARG_H.
11857         * modules/stdarg (Makefile.am): Remove stdarg.h if
11858         GL_GENERATE_STDARG_H evaluates to false.
11859
11860         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11861         GL_GENERATE_STDBOOL_H.
11862         * modules/stdbool (Makefile.am): Remove stdbool.h if
11863         GL_GENERATE_STDBOOL_H evaluates to false.
11864
11865         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11866         conditional GL_GENERATE_STDDEF_H.
11867         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11868         * modules/stddef (Makefile.am): Remove stddef.h if
11869         GL_GENERATE_STDDEF_H evaluates to false.
11870
11871         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11872         GL_GENERATE_STDINT_H.
11873         * modules/stdint (Makefile.am): Remove stdint.h if
11874         GL_GENERATE_STDINT_H evaluates to false.
11875
11876         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11877         GL_GENERATE_SYSEXITS_H.
11878         * modules/sysexits (Makefile.am): Remove sysexits.h if
11879         GL_GENERATE_SYSEXITS_H evaluates to false.
11880
11881         Reported by Karl Berry and Ralf Wildenhues.
11882
11883 2011-04-05  Bruno Haible  <bruno@clisp.org>
11884
11885         Ensure to rebuild generated .h files when config.status has changed.
11886         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11887         config.status.
11888         * modules/ctype (Makefile.am): Likewise.
11889         * modules/dirent (Makefile.am): Likewise.
11890         * modules/errno (Makefile.am): Likewise.
11891         * modules/fcntl-h (Makefile.am): Likewise.
11892         * modules/float (Makefile.am): Likewise.
11893         * modules/getopt-posix (Makefile.am): Likewise.
11894         * modules/glob (Makefile.am): Likewise.
11895         * modules/iconv-h (Makefile.am): Likewise.
11896         * modules/inttypes (Makefile.am): Likewise.
11897         * modules/langinfo (Makefile.am): Likewise.
11898         * modules/locale (Makefile.am): Likewise.
11899         * modules/math (Makefile.am): Likewise.
11900         * modules/netdb (Makefile.am): Likewise.
11901         * modules/netinet_in (Makefile.am): Likewise.
11902         * modules/poll-h (Makefile.am): Likewise.
11903         * modules/pthread (Makefile.am): Likewise.
11904         * modules/pty (Makefile.am): Likewise.
11905         * modules/sched (Makefile.am): Likewise.
11906         * modules/search (Makefile.am): Likewise.
11907         * modules/selinux-h (Makefile.am): Likewise.
11908         * modules/signal (Makefile.am): Likewise.
11909         * modules/spawn (Makefile.am): Likewise.
11910         * modules/stdarg (Makefile.am): Likewise.
11911         * modules/stdbool (Makefile.am): Likewise.
11912         * modules/stddef (Makefile.am): Likewise.
11913         * modules/stdint (Makefile.am): Likewise.
11914         * modules/stdio (Makefile.am): Likewise.
11915         * modules/stdlib (Makefile.am): Likewise.
11916         * modules/string (Makefile.am): Likewise.
11917         * modules/strings (Makefile.am): Likewise.
11918         * modules/sys_file (Makefile.am): Likewise.
11919         * modules/sys_ioctl (Makefile.am): Likewise.
11920         * modules/sys_select (Makefile.am): Likewise.
11921         * modules/sys_socket (Makefile.am): Likewise.
11922         * modules/sys_stat (Makefile.am): Likewise.
11923         * modules/sys_time (Makefile.am): Likewise.
11924         * modules/sys_times (Makefile.am): Likewise.
11925         * modules/sys_utsname (Makefile.am): Likewise.
11926         * modules/sys_wait (Makefile.am): Likewise.
11927         * modules/sysexits (Makefile.am): Likewise.
11928         * modules/termios (Makefile.am): Likewise.
11929         * modules/time (Makefile.am): Likewise.
11930         * modules/unistd (Makefile.am): Likewise.
11931         * modules/wchar (Makefile.am): Likewise.
11932         * modules/wctype-h (Makefile.am): Likewise.
11933         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
11934
11935 2011-04-05  Bruno Haible  <bruno@clisp.org>
11936
11937         pipe2: Relicense under LGPLv2+.
11938         * modules/pipe2 (License): Change to LGPLv2+.
11939         Requested by Eric Blake, for libvirt.
11940
11941 2011-04-05  Bruce Korb  <bkorb@gnu.org>
11942
11943         bootstrap: compute gnulib_extra_files after updating build_aux
11944         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
11945         change build_aux or also supply gnulib_extra_files.  Handle correctly.
11946
11947 2011-04-05  Eric Blake  <eblake@redhat.com>
11948
11949         bootstrap: preserve git whitelist item sorting
11950         * build-aux/bootstrap (sort_patterns): New function.
11951         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
11952
11953 2011-04-05  Simon Josefsson  <simon@josefsson.org>
11954
11955         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
11956         sc_space_tab check.
11957
11958 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
11959
11960         areadlink, areadlinkat: rewrite in terms of careadlinkat
11961         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
11962         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
11963         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
11964         (malloc, realloc): Remove #undefs.
11965         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
11966         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
11967         readlink, ssize_t, stdint, unistd.
11968         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
11969         areadlink, stdint.
11970
11971         careadlinkat: new module
11972         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
11973         * modules/careadlinkat: New files, written by me with
11974         a review and feedback from Ben Pfaff in
11975         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
11976
11977 2011-04-01  Bruno Haible  <bruno@clisp.org>
11978
11979         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
11980         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
11981         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
11982         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
11983         Reported by Bruce Korb <bruce.korb@gmail.com>.
11984
11985 2011-04-01  Bruno Haible  <bruno@clisp.org>
11986
11987         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
11988         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
11989         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
11990         * modules/wcpcpy (Depends-on): Add extensions.
11991         * modules/wcpncpy (Depends-on): Likewise.
11992         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
11993         systems.
11994         * doc/posix-functions/wcpncpy.texi: Likewise.
11995         * doc/posix-functions/wcwidth.texi: Likewise.
11996
11997 2011-03-31  Eric Blake  <eblake@redhat.com>
11998
11999         nonblocking: fix mingw test failures
12000         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12001         non-blocking flag on regular file.
12002         (get_nonblocking_flag): Set errno on invalid fd.
12003         * tests/test-nonblocking.c (main): Avoid test failure on
12004         directories if fchdir is not active.
12005         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12006
12007 2011-03-31  Bruno Haible  <bruno@clisp.org>
12008
12009         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12010         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12011         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12012         Reported by Simon Josefsson <simon@josefsson.org>.
12013
12014 2011-03-31  Bruno Haible  <bruno@clisp.org>
12015         and Eric Blake  <eblake@redhat.com>
12016
12017         nonblocking: new module
12018         * modules/nonblocking: New module.
12019         * modules/nonblocking-tests: Likewise.
12020         * lib/nonblocking.h: New file.
12021         * lib/nonblocking.c: Likewise.
12022         * tests/test-nonblocking.c: New test.
12023         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12024
12025 2011-03-30  Bruno Haible  <bruno@clisp.org>
12026
12027         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12028         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12029         instead of 'printf' format for GCC >= 4.4.
12030         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12031         (fprintf, printf, vfprintf, vprintf): Declare with
12032         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12033         the system's vfprintf() function.
12034         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12035
12036 2011-03-30  Eric Blake  <eblake@redhat.com>
12037
12038         passfd: fix scoping bug
12039         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12040         before sendmsg/recvmsg.
12041
12042         passfd: standardize coding conventions
12043         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12044         can be learned at compile time.
12045         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12046         ifdefs.
12047         (sendfd, recvfd): Follow gnulib code conventions.
12048
12049         passfd: fix incorrect sendmsg arguments
12050         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12051         incorrect msg_controllen value.
12052         * modules/passfd-tests (Depends-on): Check for alarm.
12053         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12054         Reported by Bastien ROUCARIES.
12055
12056 2011-03-30  Bruno Haible  <bruno@clisp.org>
12057
12058         c-strcasestr: Relicense under LGPLv2+.
12059         * modules/c-strcasestr (License): Change to LGPLv2+.
12060         Requested by Eric Blake, for libvirt.
12061
12062 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12063
12064         * users.txt: Add libidn2.  Fix libtasn1 link.
12065
12066 2011-03-30  Jim Meyering  <meyering@redhat.com>
12067
12068         tests: readlink* ("",... fails with EINVAL on newer kernels
12069         readlink and readlinkat have typically failed with ENOENT for
12070         the invalid, empty file name,  "".  However, with the advent
12071         of linux-2.6.39, they fail with EINVAL.
12072         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12073         when operating on the empty file name.
12074         * tests/test-readlink.h (test_readlink): Likewise.
12075
12076 2011-03-29  Bruno Haible  <bruno@clisp.org>
12077
12078         Relicense some modules under LGPLv2+, for libidn2.
12079         * modules/array-mergesort (License): Change to LGPLv2+.
12080         * modules/c-strcaseeq (License): Likewise.
12081         * modules/striconveh (License): Likewise.
12082         * modules/striconveha (License): Likewise.
12083         * modules/uniconv/base (License): Likewise.
12084         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12085         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12086         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12087         * modules/unictype/base (License): Likewise.
12088         * modules/unictype/bidiclass-of (License): Likewise.
12089         * modules/unictype/category-M (License): Likewise.
12090         * modules/unictype/category-none (License): Likewise.
12091         * modules/unictype/category-of (License): Likewise.
12092         * modules/unictype/category-test (License): Likewise.
12093         * modules/unictype/category-test-withtable (License): Likewise.
12094         * modules/unictype/combining-class (License): Likewise.
12095         * modules/unictype/joiningtype-of (License): Likewise.
12096         * modules/unictype/scripts (License): Likewise.
12097         * modules/uninorm/base (License): Likewise.
12098         * modules/uninorm/canonical-decomposition (License): Likewise.
12099         * modules/uninorm/composition (License): Likewise.
12100         * modules/uninorm/decompose-internal (License): Likewise.
12101         * modules/uninorm/decomposition-table (License): Likewise.
12102         * modules/uninorm/nfc (License): Likewise.
12103         * modules/uninorm/nfd (License): Likewise.
12104         * modules/uninorm/u32-normalize (License): Likewise.
12105         * modules/unistr/base (License): Likewise.
12106         * modules/unistr/u32-cpy (License): Likewise.
12107         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12108         * modules/unistr/u32-to-u8 (License): Likewise.
12109         * modules/unistr/u32-uctomb (License): Likewise.
12110         * modules/unistr/u8-check (License): Likewise.
12111         * modules/unistr/u8-mblen (License): Likewise.
12112         * modules/unistr/u8-mbtouc (License): Likewise.
12113         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12114         * modules/unistr/u8-mbtoucr (License): Likewise.
12115         * modules/unistr/u8-prev (License): Likewise.
12116         * modules/unistr/u8-strlen (License): Likewise.
12117         * modules/unistr/u8-to-u32 (License): Likewise.
12118         * modules/unistr/u8-uctomb (License): Likewise.
12119         * modules/unitypes (License): Likewise.
12120         Requested by Simon Josefsson.
12121
12122 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12123
12124         lib-symbol-visibility: Add a notice.
12125         * modules/lib-symbol-visibility (Notice): New field.
12126
12127 2011-03-29  Bruno Haible  <bruno@clisp.org>
12128
12129         getaddrinfo: Doc fix.
12130         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12131         section "fixed in Gnulib".
12132
12133 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12134
12135         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12136         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12137
12138 2011-03-26  Bruno Haible  <bruno@clisp.org>
12139
12140         unictype/property-byname: Reduce the number of load-time relocations.
12141         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12142         (UC_PROPERTY_INDEX_*): New enumeration values.
12143         (uc_property_byname): Convert an index from the lookup table to an
12144         uc_property_t.
12145         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12146         values.
12147
12148 2011-03-26  Bruno Haible  <bruno@clisp.org>
12149
12150         unictype/property-byname: Allow omitted word separators and aliases.
12151         * lib/unictype/pr_byname.gperf: Add property names without word
12152         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12153         for 'space'.
12154
12155 2011-03-26  Bruno Haible  <bruno@clisp.org>
12156
12157         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12158         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12159         also hyphens to space.
12160         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12161         without spaces.
12162         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12163
12164 2011-03-26  Bruno Haible  <bruno@clisp.org>
12165
12166         unictype/joiningtype-byname: Recognize long names as well.
12167         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12168         a long name.
12169         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12170         unictype/joiningtype_byname.h.
12171         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12172         * lib/unictype/joiningtype_byname.gperf: New file.
12173         * modules/unictype/joiningtype-byname (Files): Add
12174         lib/unictype/joiningtype_byname.gperf.
12175         (Depends-on): Add gperf.
12176         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12177         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12178         long names.
12179
12180         Tests for module 'unictype/joiningtype-longname'.
12181         * modules/unictype/joiningtype-longname-tests: New file.
12182         * tests/unictype/test-joiningtype_longname.c: New file.
12183
12184         New module 'unictype/joiningtype-longname'.
12185         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12186         * lib/unictype/joiningtype_longname.c: New file.
12187         * modules/unictype/joiningtype-longname: New file.
12188         * modules/unictype/joiningtype-all (Depends-on): Add
12189         unictype/joiningtype-longname.
12190
12191 2011-03-26  Bruno Haible  <bruno@clisp.org>
12192
12193         unictype/bidiclass-byname: Recognize long names as well.
12194         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12195         name.
12196         * lib/unictype/bidi_byname.c: Include <string.h>,
12197         unictype/bidi_byname.h.
12198         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12199         * lib/unictype/bidi_byname.gperf: New file.
12200         * modules/unictype/bidiclass-byname (Files): Add
12201         lib/unictype/bidi_byname.gperf.
12202         (Depends-on): Add gperf.
12203         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12204         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12205         long names.
12206
12207         Tests for module 'unictype/bidiclass-longname'.
12208         * modules/unictype/bidiclass-longname-tests: New file.
12209         * tests/unictype/test-bidi_longname.c: New file.
12210
12211         New module 'unictype/bidiclass-longname'.
12212         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12213         * lib/unictype/bidi_longname.c: New file.
12214         * modules/unictype/bidiclass-longname: New file.
12215         * modules/unictype/bidiclass-all (Depends-on): Add
12216         unictype/bidiclass-longname.
12217
12218 2011-03-26  Bruno Haible  <bruno@clisp.org>
12219
12220         unictype/bidi*: Rename modules.
12221         * modules/unictype/bidiclass-all: Renamed from
12222         modules/unictype/bidicategory-all.
12223         * modules/unictype/bidiclass-name: Renamed from
12224         modules/unictype/bidiclass-name.
12225         (Description): Update.
12226         * modules/unictype/bidiclass-name-tests: Renamed from
12227         modules/unictype/bidicategory-name-tests.
12228         * modules/unictype/bidiclass-byname: Renamed from
12229         modules/unictype/bidicategory-byname.
12230         (Description): Update.
12231         * modules/unictype/bidiclass-byname-tests: Renamed from
12232         modules/unictype/bidicategory-byname-tests.
12233         * modules/unictype/bidiclass-of: Renamed from
12234         modules/unictype/bidicategory-of.
12235         (Description): Update.
12236         * modules/unictype/bidiclass-of-tests: Renamed from
12237         modules/unictype/bidicategory-of-tests.
12238         * modules/unictype/bidiclass-test: Renamed from
12239         modules/unictype/bidicategory-test.
12240         (Description): Update.
12241         * modules/unictype/bidiclass-test-tests: Renamed from
12242         modules/unictype/bidicategory-test-tests.
12243         * modules/unictype/bidicategory-all: New file, a simple redirection.
12244         * modules/unictype/bidicategory-name: Likewise.
12245         * modules/unictype/bidicategory-byname: Likewise.
12246         * modules/unictype/bidicategory-of: Likewise.
12247         * modules/unictype/bidicategory-test: Likewise.
12248         * modules/unictype/property-bidi-* (Dependencies): Update.
12249         * lib/unictype/bidi_*.c: Update comment.
12250
12251 2011-03-26  Bruno Haible  <bruno@clisp.org>
12252
12253         unictype/bidi*: Rename functions, part 2.
12254         * modules/unictype/bidicategory-name (configure.ac): Update required
12255         libunistring version.
12256         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12257
12258 2011-03-25  Bruno Haible  <bruno@clisp.org>
12259
12260         New module 'unictype/combining-class-all'.
12261         * modules/unictype/combining-class-all: New file.
12262
12263         Tests for module 'unictype/combining-class-byname'.
12264         * modules/unictype/combining-class-byname-tests: New file.
12265         * tests/unictype/test-combiningclass_byname.c: New file.
12266
12267         New module 'unictype/combining-class-byname'.
12268         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12269         * lib/unictype/combiningclass_byname.c: New file.
12270         * lib/unictype/combiningclass_byname.gperf: New file.
12271         * modules/unictype/combining-class-byname: New file.
12272
12273         Tests for module 'unictype/combining-class-longname'.
12274         * modules/unictype/combining-class-longname-tests: New file.
12275         * tests/unictype/test-combiningclass_longname.c: New file.
12276
12277         New module 'unictype/combining-class-longname'.
12278         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12279         * lib/unictype/combiningclass_longname.c: New file.
12280         * modules/unictype/combining-class-longname: New file.
12281
12282         Tests for module 'unictype/combining-class-name'.
12283         * modules/unictype/combining-class-name-tests: New file.
12284         * tests/unictype/test-combiningclass_name.c: New file.
12285
12286         New module 'unictype/combining-class-name'.
12287         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12288         * lib/unictype/combiningclass_name.c: New file.
12289         * modules/unictype/combining-class-name: New file.
12290
12291 2011-03-25  Bruno Haible  <bruno@clisp.org>
12292
12293         unictype/combining-class: Rename source files.
12294         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12295         of unictype/combining.h.
12296         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12297         Update.
12298         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12299         * modules/unictype/combining-class (Description): Fix.
12300         (Files, Makefile.am): Update.
12301         * tests/unictype/test-combiningclass.c: Renamed from
12302         tests/unictype/test-combining.c.
12303         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12304
12305 2011-03-25  Bruno Haible  <bruno@clisp.org>
12306
12307         unictype: Update list of canonical combining classes.
12308         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12309
12310 2011-03-25  Bruno Haible  <bruno@clisp.org>
12311
12312         unictype/category-byname: Recognize long names as well.
12313         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12314         a long name.
12315         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12316         unictype/categ_byname.h.
12317         (UC_CATEGORY_INDEX_*): New enumeration values.
12318         (uc_general_category_byname): Use uc_general_category_lookup and
12319         convert from index to value.
12320         * lib/unictype/categ_byname.gperf: New file.
12321         * modules/unictype/category-byname (Files): Add
12322         lib/unictype/categ_byname.gperf.
12323         (Depends-on): Add gperf.
12324         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12325         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12326         long names.
12327
12328         Tests for module 'unictype/category-longname'.
12329         * modules/unictype/category-longname-tests: New file.
12330         * tests/unictype/test-categ_longname.c: New file.
12331
12332         New module 'unictype/category-longname'.
12333         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12334         * lib/unictype/categ_longname.c: New file.
12335         * modules/unictype/category-longname: New file.
12336         * modules/unictype/category-all (Depends-on): Add it.
12337
12338 2011-03-25  Bruno Haible  <bruno@clisp.org>
12339
12340         Tests for module 'unictype/category-LC'.
12341         * modules/unictype/category-LC-tests: New file.
12342         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12343
12344         New module 'unictype/category-LC'.
12345         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12346         (UC_CATEGORY_LC): New declaration.
12347         (UC_CASED_LETTER): New macro.
12348         * lib/gen-uni-tables.c (is_category_LC): New function.
12349         (output_categories): Also handle category LC.
12350         (UC_CATEGORY_MASK_LC): New enumeration value.
12351         (general_category_byname): Also handle category LC.
12352         * lib/unictype/categ_LC.c: New file.
12353         * lib/unictype/categ_LC.h: New file, automatically generated.
12354         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12355         category LC.
12356         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12357         * modules/unictype/category-LC: New file.
12358         * modules/unictype/category-byname (Depends-on): Add
12359         unictype/category-LC.
12360         * modules/unictype/category-all (Depends-on): Likewise.
12361
12362 2011-03-25  Eric Blake  <eblake@redhat.com>
12363
12364         xmalloc: revert yesterday's regression
12365         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12366         realloc's underlying behavior (allowing allocation of zero-size
12367         objects, especially if malloc-gnu is also in use).
12368
12369 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12370
12371         maint.mk: add missing version to VC-tag
12372         * top/maint.mk: git tag was missing actual tag name; add it.
12373
12374         valgrind: do leak checking, and exit with code 1 on error (not 0)
12375         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12376         to VALGRIND.
12377
12378 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12379
12380         posix-modules: say what it does.
12381         * posix-modules: Add a line to the --help output saying what it does.
12382
12383 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12384
12385         xmalloc: Do not leak if underlying realloc is C99 compatible.
12386         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12387         This avoids a leak on C99-based systems.  See
12388         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12389
12390 2011-03-24  Eric Blake  <eblake@redhat.com>
12391
12392         realloc: document portability problem
12393         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12394         passing 0 size to realloc.
12395
12396 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12397
12398         doc: update users.txt
12399         * users.txt: Add cvsps, tmpwatch
12400
12401 2011-03-23  Matt Rice  <ratmice@gmail.com>
12402
12403         doc: update users.txt
12404         * users.txt: Add gdb.
12405
12406 2011-03-23  Jim Meyering  <meyering@redhat.com>
12407
12408         doc: update users.txt
12409         Looking through matches up to the following URL (there are still
12410         several more pages), I found several projects that use gnulib:
12411         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12412         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12413         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12414
12415 2011-03-22  Bruno Haible  <bruno@clisp.org>
12416
12417         unictype/bidi*: Rename functions.
12418         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12419         uc_bidi_class, uc_is_bidi_class): New declarations.
12420         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12421         uc_bidi_category_byname.
12422         (uc_bidi_category_byname): New function.
12423         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12424         u_bidi_category_name.
12425         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12426         (uc_bidi_category_name): New function.
12427         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12428         uc_bidi_category.
12429         (uc_bidi_category): New function.
12430         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12431         uc_is_bidi_category. Invoke uc_bidi_class.
12432         (uc_is_bidi_category): New function.
12433         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12434         instead of uc_bidi_category_byname.
12435         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12436         instead of uc_bidi_category_name.
12437         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12438         uc_bidi_category.
12439         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12440         instead of uc_is_bidi_category.
12441
12442 2011-03-21  Bruno Haible  <bruno@clisp.org>
12443
12444         New module 'unictype/joininggroup-all'.
12445         * modules/unictype/joininggroup-all: New file.
12446
12447         Tests for module 'unictype/joininggroup-of'.
12448         * modules/unictype/joininggroup-of-tests: New file.
12449         * tests/unictype/test-joininggroup_of.c: New file.
12450         * tests/unictype/test-joininggroup_of.h: New file, automatically
12451         generated by gen-uni-tables.
12452
12453         New module 'unictype/joininggroup-of'.
12454         * modules/unictype/joininggroup-of: New file.
12455         * lib/unictype/joininggroup_of.c: New file.
12456         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12457         gen-uni-tables.
12458
12459         Tests for module 'unictype/joininggroup-byname'.
12460         * modules/unictype/joininggroup-byname-tests: New file.
12461         * tests/unictype/test-joininggroup_byname.c: New file.
12462
12463         New module 'unictype/joininggroup-byname'.
12464         * modules/unictype/joininggroup-byname: New file.
12465         * lib/unictype/joininggroup_byname.c: New file.
12466         * lib/unictype/joininggroup_byname.gperf: New file.
12467
12468         Tests for module 'unictype/joininggroup-name'.
12469         * modules/unictype/joininggroup-name-tests: New file.
12470         * tests/unictype/test-joininggroup_name.c: New file.
12471
12472         New module 'unictype/joininggroup-name'.
12473         * modules/unictype/joininggroup-name: New file.
12474         * lib/unictype/joininggroup_name.c: New file.
12475         * lib/unictype/joininggroup_name.h: New file.
12476
12477         New module 'unictype/joiningtype-all'.
12478         * modules/unictype/joiningtype-all: New file.
12479
12480         Tests for module 'unictype/joiningtype-of'.
12481         * modules/unictype/joiningtype-of-tests: New file.
12482         * tests/unictype/test-joiningtype_of.c: New file.
12483         * tests/unictype/test-joiningtype_of.h: New file, automatically
12484         generated by gen-uni-tables.
12485
12486         New module 'unictype/joiningtype-of'.
12487         * modules/unictype/joiningtype-of: New file.
12488         * lib/unictype/joiningtype_of.c: New file.
12489         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12490         gen-uni-tables.
12491
12492         Tests for module 'unictype/joiningtype-byname'.
12493         * modules/unictype/joiningtype-byname-tests: New file.
12494         * tests/unictype/test-joiningtype_byname.c: New file.
12495
12496         New module 'unictype/joiningtype-byname'.
12497         * modules/unictype/joiningtype-byname: New file.
12498         * lib/unictype/joiningtype_byname.c: New file.
12499
12500         Tests for module 'unictype/joiningtype-name'.
12501         * modules/unictype/joiningtype-name-tests: New file.
12502         * tests/unictype/test-joiningtype_name.c: New file.
12503
12504         New module 'unictype/joiningtype-name'.
12505         * modules/unictype/joiningtype-name: New file.
12506         * lib/unictype/joiningtype_name.c: New file.
12507
12508         unictype: Add support for Arabic shaping properties.
12509         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12510         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12511         declarations.
12512         (UC_JOINING_GROUP_*): New enumeration values.
12513         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12514         declarations.
12515         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12516         (unicode_joining_type): New variable.
12517         (UC_JOINING_GROUP_*): New enumeration values.
12518         (unicode_joining_group): New variable.
12519         (fill_arabicshaping, joining_type_as_c_identifier,
12520         output_joining_type_test, output_joining_type,
12521         joining_group_as_c_identifier, output_joining_group_test,
12522         output_joining_group): New functions.
12523         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12524         fill_arabicshaping and output_joining_type_test, output_joining_type,
12525         output_joining_group_test, output_joining_group.
12526         Reported by Simon Josefsson.
12527
12528 2011-03-21  Jim Meyering  <meyering@redhat.com>
12529
12530         strftime: fix a bug in yesterday's change
12531         * lib/strftime.c (add): Accommodate width's initial value of -1.
12532         Otherwise, nstrftime would copy uninitialized data into
12533         the result buffer.
12534
12535 2011-03-21  Jim Meyering  <meyering@redhat.com>
12536
12537         tests: add strftime-tests module
12538         * tests/test-strftime.c: New file.
12539         * modules/strftime-tests: New module.
12540
12541 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12542
12543         strftime: don't assume a byte count fits in 'int'
12544         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12545         found this problem by static analysis, using gcc -Wstrict-overflow
12546         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12547         on an integer overflow having undefined behavior, but it turns out
12548         that the argument is a size, which might not fit in 'int' anyway,
12549
12550 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12551
12552         stdio: don't require ignore_value around fwrite
12553
12554         This patch works around libc bug 11959
12555         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12556         Without this patch, applications must often write
12557         ignore_value (fwrite (...)) even though the ignore_value is
12558         not helpful here.  It's common to write many objects, using
12559         fwrite/printf/etc., and then use ferror to detect output error.
12560
12561         I considered making this patch optional, but decided against it,
12562         because libc is obviously being inconsistent here: there is no
12563         reason libc should insist that user code must inspect fwrite
12564         return's value without also insisting that it inspect printf's,
12565         putchar's, etc.  If user code wants to have a strict style where
12566         all these functions' values are checked (so that ferror need not
12567         be checked), we could add support for that style in a new gnulib
12568         module, but in the meantime it's better to be consistent and to
12569         support common usage.
12570
12571         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12572         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12573         that we are compiling in checking mode, and if not C++, and
12574         if not already wrapping fwrite for some other reason.
12575         (fwrite): #define to rpl_fwrite if the latter is defined.
12576
12577 2011-03-20  Bruno Haible  <bruno@clisp.org>
12578
12579         verror: Fix compilation error introduced on 2011-02-13.
12580         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12581         instead of __attribute__.
12582         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12583
12584 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12585             Bruno Haible  <bruno@clisp.org>
12586
12587         socklen: do not depend on sys_socket
12588         While trying to modify Emacs to use gnulib's socklen module,
12589         I discovered a circular dependency: socklen depends on sys_socket
12590         and vice versa.  Emacs can use socklen, but it does not need
12591         sys_socket because it has its own substitute for sys/socket.h.
12592         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12593         gl_TYPE_SOCKLEN_T.
12594         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12595         gl_PREREQ_SYS_H_SOCKET.
12596         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12597         gl_PREREQ_SYS_H_SOCKET.
12598         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12599         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12600         * modules/socklen (Depends-on): Do not depend on sys_socket.
12601         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12602
12603 2011-03-20  Jim Meyering  <meyering@redhat.com>
12604
12605         maint.mk: sort file names *after* new transformation
12606         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12607         prefix would have led to an unwarranted failure in GNU parted.
12608         Sort after that transformation.
12609
12610 2011-03-19  Jim Meyering  <meyering@redhat.com>
12611
12612         maint.mk: fix po-file syntax-check rule
12613         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12614         Patch by Bruno Haible.
12615
12616 2011-03-19  Bruno Haible  <bruno@clisp.org>
12617
12618         socklen: Update comment.
12619         * m4/socklen.m4: Update comment about platforms.
12620
12621 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12622             Bruno Haible  <bruno@clisp.org>
12623
12624         inet_ntop, inet_pton: Simplify.
12625         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12626         documented to provide socklen_t and we already depend on sys_socket.
12627         * modules/inet_pton (Depends-on): Likewise.
12628         * lib/arpa_inet.in.h: Adjust comment.
12629
12630 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12631             Bruno Haible  <bruno@clisp.org>
12632
12633         netdb: Simplify.
12634         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12635         documented to provide socklen_t and we already depend on sys_socket.
12636         * lib/netdb.in.h: Adjust comment.
12637
12638 2011-03-19  Bruno Haible  <bruno@clisp.org>
12639
12640         sys_socket, netdb: Document problem with socklen_t.
12641         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12642         platforms.
12643         * doc/posix-headers/netdb.texi: Likewise.
12644
12645 2011-03-18  Eric Blake  <eblake@redhat.com>
12646
12647         maint.mk: let po check work in VPATH build
12648         * top/maint.mk (po_file): Allow cfg.mk override.
12649         (sc_po_check): Allow VPATH use.
12650         Reported by Jiri Denemark.
12651
12652 2011-03-16  Jim Meyering  <meyering@redhat.com>
12653
12654         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12655         Before, you would have had to create one .x-sc_ file per rule in order
12656         to exempt offending files.  Now, you may instead use a Make variable --
12657         usually defined in cfg.mk -- whose name identifies the affected rule.
12658         * top/maint.mk (_sc_excl): Define.
12659         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12660         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12661
12662 2011-03-13  Bruno Haible  <bruno@clisp.org>
12663
12664         ignore-value tests: Avoid warnings.
12665         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12666         empty for gcc < 3.4.
12667
12668 2011-03-13  Bruno Haible  <bruno@clisp.org>
12669
12670         passfd: Fix link error on Solaris.
12671         * modules/passfd (Description): Correct.
12672         (Depends-on): Add socketlib.
12673         (Link): New section.
12674         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12675
12676 2011-03-13  Bruno Haible  <bruno@clisp.org>
12677
12678         passfd: Fix link error on AIX 5.2.
12679         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12680
12681 2011-03-13  Bruno Haible  <bruno@clisp.org>
12682
12683         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12684         * lib/sys_socket.in.h: Include <stddef.h>.
12685         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12686         CMSG_FIRSTHDR. Remove unused variable.
12687
12688 2011-03-13  Bruno Haible  <bruno@clisp.org>
12689
12690         passfd: Fix compilation error on OpenBSD.
12691         * lib/passfd.c: Include <sys/uio.h>.
12692
12693 2011-03-13  Bruno Haible  <bruno@clisp.org>
12694
12695         passfd test: Fix warnings.
12696         * tests/test-passfd.c: Include <sys/wait.h>.
12697         (main): Fix typo.
12698
12699 2011-03-13  Bruno Haible  <bruno@clisp.org>
12700
12701         passfd module, part 4, tweaks.
12702         * tests/test-passfd.c: Reorder includes.
12703         (main): Fix perror and printf calls.
12704
12705 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12706
12707         passfd module, part 4.
12708         * modules/passfd-tests: New file.
12709         * tests/test-passfd.c: New file.
12710
12711 2011-03-13  Jim Meyering  <meyering@redhat.com>
12712
12713         Makefile: rely on GNU make; derive syntax-check rule names
12714         Rather than requiring that each sc_ rule be listed as a dependent
12715         of "check", use features of GNU make to derive the list.
12716         * Makefile (syntax-check-rules): Define.
12717         (check): Depend on the new variable, not the hard-coded list.
12718
12719 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12720             Bruno Haible  <bruno@clisp.org>
12721
12722         passfd module, part 3.
12723         * lib/passfd.h (recvfd): Add a flags argument.
12724         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12725         (recvfd): Add a flags argument.
12726         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12727         exists.
12728         * modules/passfd (Depends-on): Add cloexec.
12729         Suggested by Eric Blake.
12730
12731 2011-03-13  Bruno Haible  <bruno@clisp.org>
12732
12733         passfd module, part 2, tweaks.
12734         * modules/passfd (Files): Reorder.
12735         (Depends-on): Remove errno.
12736         (Include): Remove <sys/socket.h>, <sys/un.h>.
12737         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12738         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12739         specification header. Include <sys/socket.h> always. Don't include
12740         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12741         (sendfd): Clarify that it sets errno when it fails.
12742         (recvfd): Fix specification.
12743
12744 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12745
12746         passfd module, part 2.
12747         * modules/passfd: New file.
12748         * lib/passfd.h: New file.
12749         * lib/passfd.c: New file.
12750
12751 2011-03-12  Bruno Haible  <bruno@clisp.org>
12752
12753         wcswidth, mbswidth: Avoid integer overflow.
12754         * lib/wcswidth.c: Include <limits.h>.
12755         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12756         * lib/mbswidth.c: Include <limits.h>.
12757         (mbsnwidth): Avoid 'int' overflow.
12758         Reported by Jim Meyering.
12759
12760 2011-03-12  Bruno Haible  <bruno@clisp.org>
12761
12762         futimens, utimensat: Avoid endless recursion on Solaris 10.
12763         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12764         Solaris.
12765         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12766         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12767
12768 2011-03-11  Jim Meyering  <meyering@redhat.com>
12769
12770         maint.mk: relax a regexp to accommodate other formatting styles
12771         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12772         between "ngettext" and the following "(".
12773
12774 2011-03-11  Pádraig Brady <P@draigBrady.com>
12775
12776         maint.mk: suppress a false positive warning
12777         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12778         diagnostics are marked with ngettext.
12779
12780 2011-03-10  Eric Blake  <eblake@redhat.com>
12781
12782         wchar: add explicit dependencies, for Tru64
12783         * modules/mbmemcasecoll (Depends-on): Add wchar.
12784         * modules/mbtowc (Depends-on): Likewise.
12785         * modules/vasnprintf (Depends-on): Likewise.
12786         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12787         * modules/wctomb (Depends-on): Likewise.
12788         Reported by Peter O'Gorman.
12789
12790 2011-03-08  Bruno Haible  <bruno@clisp.org>
12791
12792         passfd module, part 1, tweaks.
12793         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12794         Improve indentation. Improve AC_MSG_CHECKING messages.
12795         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12796         gl_SOCKET_FAMILIES.
12797
12798 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12799
12800         passfd module, part 1.
12801         * m4/afunix.m4: New file.
12802         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12803         sockets.
12804
12805 2011-03-08  Bruno Haible  <bruno@clisp.org>
12806
12807         regex-quote: New API.
12808         * lib/regex-quote.h: Include <stdbool.h>.
12809         (struct regex_quote_spec): New type.
12810         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12811         New declarations.
12812         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12813         'const struct regex_quote_spec *' argument.
12814         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12815         (pcre_special): New constant.
12816         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12817         New functions.
12818         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12819         'const struct regex_quote_spec *' argument.
12820         * modules/regex-quote (Depends-on): Add stdbool.
12821         * tests/test-regex-quote.c (check): Update for new API. Add test for
12822         anchored results.
12823         * NEWS: Mention the API change.
12824         Reported by Reuben Thomas and Eric Blake.
12825
12826 2011-03-06  Bruno Haible  <bruno@clisp.org>
12827
12828         regex-quote: Fix creation of POSIX extended regular expressions.
12829         * lib/regex-quote.c (ere_special): Add grouping and alternation
12830         operators.
12831
12832 2011-03-05  Bruno Haible  <bruno@clisp.org>
12833
12834         doc: Improve doc regarding autopoint vs. gnulib.
12835         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12836         disable autopoint while running autoreconf.
12837         Suggested by Ralf Wildenhues.
12838
12839 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12840
12841         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12842         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12843
12844 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12845
12846         parse-duration: remove xalloc.h dependency
12847         * lib/parse-duration.c (parse_period): handle NULL return from
12848         strdup instead of calling xstrdup().
12849         * modules/parse-duration: remove "xalloc" dependency
12850
12851 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12852
12853         bootstrap: honor m4_base when running aclocal
12854         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12855
12856 2011-03-02  Jim Meyering  <meyering@redhat.com>
12857
12858         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12859         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12860         on request from Matt Booth.
12861
12862 2011-03-01  Eric Blake  <eblake@redhat.com>
12863
12864         test-link: work on Hurd
12865         * tests/test-link.h (test_link): Hurd rejects linking directories
12866         with EISDIR instead of the POSIX-mandated EPERM.
12867
12868 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12869
12870         stdio: simplify by moving files to printf-posix, sigpipe
12871         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12872         since this symbol is needed only if printf is replaced.
12873         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12874         Require gl_ASM_SYMBOL_PREFIX.
12875         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12876         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12877         (Depends-on): Add 'raise'.
12878         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12879         * modules/stdio (Files): Remove lib/stdio-write.c,
12880         m4/asm-underscore.m4.
12881         (Depends-on): Remove 'raise'.
12882
12883         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12884         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12885         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12886         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12887
12888 2011-02-28  Bruno Haible  <bruno@clisp.org>
12889
12890         localcharset: Assume ANSI C behaviour of free().
12891         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12892         calling free().
12893         Suggested by Simon Josefsson <simon@josefsson.org>.
12894
12895 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12896             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12897             Bruno Haible  <bruno@clisp.org>  (tiny change)
12898
12899         On Cygwin, use /proc file system instead of win32 API.
12900         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12901         Win32 file names.
12902         (DllMain): Simplify by removing Cygwin specific code.
12903         (find_shared_library_fullname): Use Linux specific implementation also
12904         for Cygwin.
12905         (get_shared_library_fullname): Update accordingly.
12906         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12907         Win32 file names.
12908         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12909         Cygwin specific code.
12910
12911 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12912             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12913
12914         Fix OpenMP flag detection for various Fortran compilers.
12915         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12916         OpenMP-conditional compilation construct, to force compile
12917         failure with missing OpenMP flag.
12918         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12919
12920 2011-02-25  Eric Blake  <eblake@redhat.com>
12921
12922         strstr: expand test coverage
12923         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12924         compilation.
12925         * tests/test-memmem.c (main): Duplicate tests.
12926         * tests/test-strcasestr.c (main): Likewise.
12927         * tests/test-c-strcasestr.c (main): Likewise.
12928
12929 2011-02-25  Jim Meyering  <meyering@redhat.com>
12930
12931         maint.mk: detect missing-NL-at-EOF, too
12932         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
12933         it also detects when a file lacks a newline at EOF.
12934         (require_exactly_one_NL_at_EOF_): Renamed from
12935         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
12936         since people may well have .x-sc_... file names tied to the
12937         existing name.  Suggested by Eric Blake.
12938
12939 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12940
12941         dirname: move m4/dos.m4 functionality into lib/dosname.h
12942
12943         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
12944         extracts symbols from it, puts them into config.h; but it's much
12945         easier to use the symbols directly.  filename.h already does this,
12946         but it disagrees with dos.m4 in some respects.  This patch
12947         introduces a different include file dosname.h that packages up
12948         dos.m4, and then later we can work on merging filename.h and
12949         dosname.h.  Applications that need only the easy-to-configure
12950         symbols should consider including dosname.h rather than dirname.h.
12951         * NEWS: Mention incompatible changes.
12952         * m4/dos.m4: Remove.
12953         * lib/dosname.h, modules/dosname: New files.
12954         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
12955         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
12956         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
12957         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
12958         Include dosname.h, not dirname.h.
12959         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
12960         Include dosname.h, for definitions of symbols like ISSLASH
12961         that used to be in config.h.
12962         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
12963         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12964         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12965         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12966         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
12967         * modules/rmdir (Files): Likewise.
12968         * modules/stat (Files): Likewise.
12969         * modules/unlink (Files): Likewise.
12970         * modules/dirname-lgpl (Depends-on): Add dosname.
12971         * modules/lstat (Depends-on): Likewise.
12972         * modules/openat (Depends-on): Likewise.
12973         * modules/rmdir (Depends-on): Likewise.
12974         * modules/savewd (Depends-on): Likewise.
12975         * modules/stat (Depends-on): Likewise.
12976         * modules/unlink (Depends-on): Likewise.
12977         * modules/openat (Depends-on): Remove dirname-lgpl.
12978         * modules/savewd (Depends-on): Likewise.
12979         * tests/test-dirname.c: Do not use removed symbols like
12980         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
12981         the remaining symbols, e.g., ISSLASH ('\\').
12982
12983 2011-02-25  Eric Blake  <eblake@redhat.com>
12984
12985         strstr: revert patches that introduced bug and pessimization
12986         * lib/str-two-way.h: Add another reference.
12987         (two_way_short_needle, two_way_long_needle): Revert changes from
12988         2011-02-24; they pessimize search speed.
12989         (critical_factorization): Partially revert changes from
12990         2010-06-22; they violate the requirement that the left half of the
12991         needle be smaller than the period of the needle.
12992
12993 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12994
12995         filenamecat: remove unnecessary dependency on dirname-lgpl
12996         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
12997         is no direct dependency, just an indirect one via filenamecat-lgpl.
12998
12999         remove: remove unnecessary use of m4/dos.m4
13000         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13001         * modules/remove (FILES): Remove m4/dos.m4.
13002
13003         * lib/openat-proc.c: Don't include dirname.h; not needed.
13004
13005         backupfile: remove unnecessary use of m4/dos.m4
13006         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13007         of its symbols are used by the backupfile code.  backupfile.c does
13008         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13009         for the rare case of programs that want all their backup file
13010         names to live within 8+3 limits, and dos.m4 doesn't address that.
13011         * modules/backupfile (Files): Remove m4/dos.m4.
13012
13013 2011-02-24  Jim Meyering  <meyering@redhat.com>
13014
13015         strstr: fix a bug whereby strstr would mistakenly return NULL
13016         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13017         in period calculation.
13018         (two_way_long_needle): Likewise.
13019         The original problem was reported by Mike Stump in
13020         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13021         Ralf Wildenhues provided the short needle and haystack.
13022         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13023         Add a more involved test to trigger the bug in two_way_long_needle.
13024
13025 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13026
13027         gnulib-tool: remove use of bold display in help screen
13028         * gnulib-tool (func_usage): Do not use bold display anymore in the
13029         help screen.  That was just meant to be a temporary emphasis for a
13030         backward-incompatible change.
13031
13032 2011-02-23  Bruno Haible  <bruno@clisp.org>
13033
13034         Fix misindentation of preprocessor directives.
13035         * lib/argp-namefrob.h: Reindent preprocessor directives.
13036         * lib/getopt_int.h (struct _getopt_data): Likewise.
13037         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13038         * lib/vasnprintf.c (decode_long_double): Likewise.
13039         * tests/test-argmatch.c: Insert blank lines, for clarity.
13040         * tests/test-exclude.c: Likewise.
13041
13042 2011-02-22  Bruno Haible  <bruno@clisp.org>
13043
13044         ioctl: Fix for MacOS X in 64-bit mode.
13045         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13046         value.
13047         Suggested by Eric Blake.
13048         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13049
13050 2011-02-22  Jim Meyering  <meyering@redhat.com>
13051
13052         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13053         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13054         in lib/.
13055
13056 2011-02-22  Eric Blake  <eblake@redhat.com>
13057
13058         maint: avoid any CDPATH issue
13059         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13060
13061         maint: adjust cpp indentation for my modules, as well
13062         * Makefile (sc_cpp_indent_check): Add my name.
13063         * lib/fbufmode.c: Filter through cppi.
13064         * lib/fpurge.c: Likewise.
13065         * lib/freadable.c: Likewise.
13066         * lib/freading.c: Likewise.
13067         * lib/fwritable.c: Likewise.
13068         * lib/fwriting.c: Likewise.
13069         * lib/sigaction.c: Likewise.
13070
13071 2011-02-22  Jim Meyering  <meyering@redhat.com>
13072
13073         maint: adjust cpp indentation to reflect nesting depth
13074         I.e., in a block of code that begins with an unnested "#if",
13075         put one space between the "#" in column 1 and following token.
13076         For example,
13077         -#include <sys/vfs.h>
13078         +# include <sys/vfs.h>
13079         Do this only in .c files that are part of a module I maintain.
13080         * lib/linkat.c: Filter through cppi.
13081         * lib/nanosleep.c: Likewise.
13082         * lib/openat.c: Likewise.
13083         * lib/openat-die.c: Likewise.
13084         * lib/dup3.c: Likewise.
13085         * lib/fchownat.c: Likewise.
13086         * lib/flock.c: Likewise.
13087         * lib/fsync.c: Likewise.
13088         * lib/fts.c: Likewise.
13089         * lib/getpass.c: Likewise.
13090         * lib/gettimeofday.c: Likewise.
13091         * lib/userspec.c: Likewise.
13092         * Makefile (sc_cpp_indent_check): New rule, to check this.
13093
13094 2011-02-22  Bruno Haible  <bruno@clisp.org>
13095
13096         New module 'wctomb'.
13097         * lib/stdlib.in.h (wctomb): New declaration.
13098         * lib/wctomb.c: New file.
13099         * lib/wctomb-impl.h: New file.
13100         * m4/wctomb.m4: New file.
13101         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13102         REPLACE_WCTOMB.
13103         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13104         REPLACE_WCTOMB.
13105         * modules/wctomb: New file.
13106         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13107         * doc/posix-functions/wctomb.texi: Mention the new module.
13108         * modules/wctob (Depends-on): Add wctomb.
13109
13110 2011-02-22  Bruno Haible  <bruno@clisp.org>
13111
13112         New module 'mbtowc'.
13113         * lib/stdlib.in.h (mbtowc): New declaration.
13114         * lib/mbtowc.c: New file.
13115         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13116         * m4/mbtowc.m4: New file.
13117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13118         REPLACE_MBTOWC.
13119         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13120         REPLACE_MBTOWC.
13121         * modules/mbtowc: New file.
13122         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13123         * doc/posix-functions/mbtowc.texi: Mention the new module.
13124         * modules/btowc (Depends-on): Add mbtowc.
13125
13126 2011-02-22  Bruno Haible  <bruno@clisp.org>
13127
13128         wcrtomb: Add more tests for native Windows platforms.
13129         * tests/test-wcrtomb-w32-1.sh: New file.
13130         * tests/test-wcrtomb-w32-2.sh: New file.
13131         * tests/test-wcrtomb-w32-3.sh: New file.
13132         * tests/test-wcrtomb-w32-4.sh: New file.
13133         * tests/test-wcrtomb-w32-5.sh: New file.
13134         * tests/test-wcrtomb-w32.c: New file.
13135         * modules/wcrtomb-tests (Files): Add them.
13136         (Makefile.am): Arrange to run these tests.
13137         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13138         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13139
13140 2011-02-20  Bruno Haible  <bruno@clisp.org>
13141
13142         wcrtomb: Enhance test.
13143         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13144
13145 2011-02-20  Bruno Haible  <bruno@clisp.org>
13146
13147         mbrtowc: Tiny optimization.
13148         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13149
13150 2011-02-20  Jim Meyering  <meyering@redhat.com>
13151
13152         test-exclude.c: remove unmatched #endif
13153         * tests/test-exclude.c: Remove stray #endif, left over from
13154         the change of a week ago.
13155
13156 2011-02-19  Jim Meyering  <meyering@redhat.com>
13157
13158         git-version-gen: skip "-dirty" check when appropriate
13159         * build-aux/git-version-gen: Don't run any git commands when the
13160         version string comes from .tarball-version.  Prior to this, we
13161         would run git update-index --refresh even from a just-unpacked
13162         tarball directory, and that could affect a .git/ directory in a
13163         parent of the build directory.  Reported by Mike Frysinger.
13164
13165 2011-02-19  Bruno Haible  <bruno@clisp.org>
13166
13167         unictype/property-byname: Reduce the size of the 'data' segment.
13168         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13169
13170 2011-02-19  Bruno Haible  <bruno@clisp.org>
13171
13172         unictype/scripts: Reduce the size of the 'data' segment.
13173         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13174         '%pic'.
13175         * lib/unictype/scripts_byname.gperf: Regenerated.
13176
13177 2011-02-19  Bruno Haible  <bruno@clisp.org>
13178
13179         stdint: Update documentation.
13180         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13181
13182 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13183
13184         stdint: omit redundant check for wchar.h
13185         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13186         always tests whether wchar.h exists, so remove the now-redundant test.
13187
13188 2011-02-18  Bruno Haible  <bruno@clisp.org>
13189
13190         stdint: Cut dependency to module 'wchar'.
13191         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13192         include the necessary prerequisites.
13193         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13194         * modules/stdint (Depends-on): Remove wchar.
13195         (Makefile.am): Substitute HAVE_WCHAR_H.
13196         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13197
13198 2011-02-18  Eric Blake  <eblake@redhat.com>
13199
13200         longlong: skip, rather than fail, on cross-compilation
13201         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13202         when cross-compiling; regression from 2011-02-16.
13203
13204 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13205
13206         * NEWS: Mention 2011-02-08 change to stdlib.
13207
13208 2011-02-17  Bruno Haible  <bruno@clisp.org>
13209
13210         getloadavg: Add comments about platforms.
13211         * m4/getloadavg.m4: Add comment.
13212         * lib/getloadavg.c: Likewise.
13213
13214 2011-02-17  Bruno Haible  <bruno@clisp.org>
13215
13216         getloadavg: Fix link error on Solaris 2.6.
13217         * modules/getloadavg (Link): New section.
13218         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13219         linking test-getloadavg.
13220         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13221         getloadavg.
13222
13223 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13224
13225         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13226         It was 'int', but this doesn't match the IRIX 6.5 manual.
13227         Suggested by Bruno Haible in
13228         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13229
13230 2011-02-17  Bruno Haible  <bruno@clisp.org>
13231
13232         havelib: Fix comments.
13233         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13234         change.
13235
13236 2011-02-17  Bruno Haible  <bruno@clisp.org>
13237
13238         havelib: Update config.rpath.
13239         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13240
13241 2011-02-17  Bruno Haible  <bruno@clisp.org>
13242
13243         getloadavg test: Add some plausibility checks.
13244         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13245         is improbable.
13246
13247 2011-02-16  Eric Blake  <eblake@redhat.com>
13248
13249         maintainer-makefile: make syntax-check a no-op from tarballs
13250         * top/maint.mk (no-vc-detected): New rule.
13251         (local-checks-available): Use it to avoid hanging if someone tries
13252         'make syntax-check' from a tarball.  Also append to any non-syntax
13253         checks already defined in cfg.mk.
13254
13255 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13256
13257         longlong: tune, particularly for common case of c99
13258
13259         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13260         or running anything if c99, or if unsigned long long int does not
13261         work.  In either case, we know the answer without further tests.
13262         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13263         it at most once, and use its results for both long long int and
13264         unsigned long long int.  This is more likely to be efficient in
13265         the common case where the program wants to check for both long
13266         long int and unsigned long long int.
13267         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13268         since the answer is already known.
13269
13270 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13271
13272         getloadavg: set errno
13273         * lib/getloadavg.c: Set errno when returning -1.  If no other
13274         error number looks appropriate, set it to ENOSYS if the getloadavg
13275         looks like it can't possibly ever work, ENOTSUP otherwise.
13276         Suggested by Bruno Haible in
13277         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13278
13279         getloadavg: trim unused parts and speed up 'configure'
13280         * NEWS: Document this.
13281         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13282         always compiled if getloadavg is absent.
13283         Move test code to ...
13284         * tests/test-getloadavg.c: New file, containing previous
13285         contents of test from lib/getloadavg.c.  It also contains
13286         suggestions by Bruno Haible in
13287         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13288         * modules/getloadavg-tests: New file.
13289         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13290         Do tests in the same order as they're needed for getloadavg.c.
13291         Omit setgid-related tests that generate symbols KMEM_GROUP,
13292         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13293         Do only the tests that are needed to see whether the system has
13294         getloadavg, moving the other tests into ...
13295         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13296         NLIST_NAME_UNION; nobody should be using it.  Do not define
13297         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13298         relevant, as the user of this module shouldn't care how getloadavg
13299         is implemented.
13300
13301         getloadavg: omit unused var
13302         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13303
13304 2011-02-15  Jim Meyering  <meyering@redhat.com>
13305
13306         doc: update users.txt
13307         * users.txt: Update iwhd's URL.
13308
13309 2011-02-13  Bruno Haible  <bruno@clisp.org>
13310
13311         Consistent macro naming for macros that use GCC __attribute__.
13312         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13313         _ATTRIBUTE_NONNULL_.
13314         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13315         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13316         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13317         ATTRIBUTE_DEPRECATED.
13318         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13319         ATTRIBUTE_NORETURN.
13320         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13321         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13322         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13323         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13324         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13325         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13326         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13327         ATTRIBUTE_SENTINEL.
13328         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13329         ATTRIBUTE_RETURN_CHECK.
13330         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13331         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13332         ATTRIBUTE_NORETURN.
13333         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13334         Reported by Paul Eggert.
13335
13336 2011-02-13  Bruno Haible  <bruno@clisp.org>
13337
13338         Don't interfere with a program's definition of __attribute__.
13339         * lib/argp.h (__attribute__): Remove definition.
13340         (_GL_ATTRIBUTE_FORMAT): New macro.
13341         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13342         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13343         (_GL_ATTRIBUTE_FORMAT): New macro.
13344         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13345         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13346         GCC 3 or newer.
13347         * lib/error.h (__attribute__): Remove definition.
13348         (_GL_ATTRIBUTE_FORMAT): New macro.
13349         (error, error_at_line): Use it.
13350         * lib/hash.h (__attribute__): Remove definition.
13351         (ATTRIBUTE_WUR): Update definition. Define always.
13352         * lib/openat.h (__attribute__): Remove definition.
13353         (ATTRIBUTE_NORETURN): Update definition. Define always.
13354         * lib/sigpipe-die.h (__attribute__): Remove definition.
13355         (ATTRIBUTE_NORETURN): Update definition. Define always.
13356         * lib/vasnprintf.h (__attribute__): Remove definition.
13357         (_GL_ATTRIBUTE_FORMAT): New macro.
13358         (asnprintf, vasnprintf): Use it.
13359         * lib/xalloc.h (__attribute__): Remove definition.
13360         (ATTRIBUTE_NORETURN): Update definition. Define always.
13361         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13362         * lib/xmemdup0.h (__attribute__): Remove definition.
13363         (ATTRIBUTE_NORETURN): Update definition. Define always.
13364         * lib/xprintf.h (__attribute__): Remove definition.
13365         (_GL_ATTRIBUTE_FORMAT): New macro.
13366         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13367         * lib/xstrtol.h (__attribute__): Remove definition.
13368         (ATTRIBUTE_NORETURN): Update definition. Define always.
13369         * lib/xvasprintf.h (__attribute__): Remove definition.
13370         (_GL_ATTRIBUTE_FORMAT): New macro.
13371         (xasprintf, xvasprintf): Use it.
13372         * tests/test-argmatch.c (__attribute__): Remove definition.
13373         (ATTRIBUTE_NORETURN): Update definition. Define always.
13374         * tests/test-exclude.c (__attribute__): Remove definition.
13375         (ATTRIBUTE_NORETURN): Update definition. Define always.
13376         Reported by Paul Eggert.
13377
13378 2011-02-13  Bruno Haible  <bruno@clisp.org>
13379
13380         mbrtowc: Add more tests for native Windows platforms.
13381         * tests/test-mbrtowc-w32-1.sh: New file.
13382         * tests/test-mbrtowc-w32-2.sh: New file.
13383         * tests/test-mbrtowc-w32-3.sh: New file.
13384         * tests/test-mbrtowc-w32-4.sh: New file.
13385         * tests/test-mbrtowc-w32-5.sh: New file.
13386         * tests/test-mbrtowc-w32.c: New file.
13387         * modules/mbrtowc-tests (Files): Add them.
13388         (Makefile.am): Arrange to run these tests.
13389         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13390         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13391
13392 2011-02-13  Bruno Haible  <bruno@clisp.org>
13393
13394         mbrtowc: Work around native Windows bug.
13395         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13396         guess when no suitable locale for testing was found.
13397         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13398
13399 2011-02-13  Bruno Haible  <bruno@clisp.org>
13400
13401         mbsinit: Work around mingw bug.
13402         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13403         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13404         Windows.
13405         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13406
13407 2011-02-13  Bruno Haible  <bruno@clisp.org>
13408
13409         mbsinit: Don't crash for a NULL argument.
13410         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13411         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13412
13413 2011-02-13  Bruno Haible  <bruno@clisp.org>
13414
13415         Don't interfere with a program's definition of __attribute__.
13416         * lib/stdio.in.h (__attribute__): Remove definition.
13417         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13418         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13419         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13420         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13421         * lib/string.in.h (__attribute__): Remove definition.
13422         Reported by Paul Eggert.
13423
13424 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13425
13426         stdlib: don't get in the way of non-GCC __attribute__
13427         See thread starting at
13428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13429         Revert previous stdlib change, installing the following instead:
13430         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13431         to get in the way of a non-GCC compiler that supports __attribute__.
13432         (_GL_ATTRIBUTE_RETURN): New macro.
13433         (_Exit): Use it instead of __attribute__.
13434
13435 2011-02-12  Bruno Haible  <bruno@clisp.org>
13436
13437         quotearg test: Avoid test failure on mingw.
13438         * tests/test-quotearg.sh: Convert the locale identifier from native
13439         Windows syntax to Unix syntax.
13440
13441 2011-02-12  Bruno Haible  <bruno@clisp.org>
13442
13443         setlocale: Prefer gnulib's override over libintl's override.
13444         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13445         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13446         GNULIB_defined_setlocale is set.
13447
13448 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13449
13450         stdlib: support non-GCC __attribute__
13451
13452         Fix a serious and tricky problem encountered when attempting to
13453         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13454         5.5, but it crashed due to memory corruption on Solaris 10 with
13455         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13456         bits that are otherwise zero.  This tagging is optional inside
13457         Emacs but is preferred and is used when __attribute__ ((__aligned
13458         (8))) works, as it does with both recent-enough GCC and with Sun C
13459         5.11.  However, Sun C 5.11 is not GCC and does not #define
13460         __GNUC__ and __GNUC_MINOR__.
13461
13462         When I added the getloadavg module to Emacs, it brought in
13463         stdlib.in.h, which contained this fragment:
13464
13465            #ifndef __attribute__
13466            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13467            #  define __attribute__(Spec)   /* empty */
13468            # endif
13469            #endif
13470
13471         When files that include <stdlib.h> were compiled with Sun C 5.11,
13472         the above code disabled __attribute__ ((__aligned (8))), which
13473         caused variables to not be properly aligned, which eventually led
13474         to the pointer corruption mentioned above.  (This was a bit hard
13475         to diagnose, unfortunately.)
13476
13477         Several "#define __attribute__(X) /* empty */" code snippets need
13478         to be eradicated from Gnulib to work with non-GCC compilers that
13479         support __attribute__.  The Autoconf way to do this is to test for
13480         each kind of attribute that we want support for, and selectively
13481         enable that in source code.
13482
13483         Fix this problem just for stdlib.h, by adding a test for the
13484         __noreturn__ attribute, and change stdlib.in.h to use that test
13485         when needed.  This technique can be easily generalized to the
13486         other *.in.h files and attributes, and a similar technique can be
13487         used for *.h and *.c files.  This patch is enough to solve the
13488         problem for Emacs + getloadavg, and I thought I'd publish it for
13489         feedback before undertaking further, similar fixes in other
13490         modules.
13491
13492         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13493         because it's not needed for stdlib.h.  It merely substitutes the
13494         value directly into stdlib.h.  We may well need to #define it, or
13495         similar symbols, for other modules, but it's nice to also have an
13496         option to not #define it for applications like Emacs that do not
13497         need it.
13498
13499         * lib/stdlib.in.h (__attribute__): Do not #define.
13500         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13501         be defined only if the _Exit module is also used.
13502         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13504         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13505         platforms.
13506         * modules/_Exit (Files): Add m4/attribute.m4.
13507         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13508         * m4/attribute.m4: New file.
13509
13510 2011-02-12  Bruno Haible  <bruno@clisp.org>
13511
13512         wcsrtombs: Work around bug on native Windows.
13513         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13514         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13515         instead of len.
13516         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13517
13518 2011-02-12  Bruno Haible  <bruno@clisp.org>
13519
13520         mbsrtowcs: Work around bug on native Windows.
13521         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13522         against mingw bug.
13523         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13524
13525 2011-02-12  Bruno Haible  <bruno@clisp.org>
13526
13527         Avoid setlocale bugs in tests.
13528         * modules/btowc (Dependencies): Add setlocale.
13529         * modules/c-strcase (Dependencies): Likewise.
13530         * modules/mbmemcasecmp (Dependencies): Likewise.
13531         * modules/mbmemcasecoll (Dependencies): Likewise.
13532         * modules/mbrtowc (Dependencies): Likewise.
13533         * modules/mbscasecmp (Dependencies): Likewise.
13534         * modules/mbscasestr (Dependencies): Likewise.
13535         * modules/mbschr (Dependencies): Likewise.
13536         * modules/mbscspn (Dependencies): Likewise.
13537         * modules/mbsinit (Dependencies): Likewise.
13538         * modules/mbsncasecmp (Dependencies): Likewise.
13539         * modules/mbsnrtowcs (Dependencies): Likewise.
13540         * modules/mbspbrk (Dependencies): Likewise.
13541         * modules/mbspcasecmp (Dependencies): Likewise.
13542         * modules/mbsrchr (Dependencies): Likewise.
13543         * modules/mbsrtowcs (Dependencies): Likewise.
13544         * modules/mbsspn (Dependencies): Likewise.
13545         * modules/mbsstr (Dependencies): Likewise.
13546         * modules/nl_langinfo (Dependencies): Likewise.
13547         * modules/quotearg (Dependencies): Likewise.
13548         * modules/unicase/locale-language (Dependencies): Likewise.
13549         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13550         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13551         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13552         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13553         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13554         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13555         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13556         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13557         * modules/vasnprintf-posix (Dependencies): Likewise.
13558         * modules/wcrtomb (Dependencies): Likewise.
13559         * modules/wcsnrtombs (Dependencies): Likewise.
13560         * modules/wcsrtombs (Dependencies): Likewise.
13561
13562 2011-02-12  Bruno Haible  <bruno@clisp.org>
13563
13564         setlocale: Workaround native Windows bug.
13565         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13566         succeeds but sets LC_CTYPE to "C", report a failure.
13567         * tests/test-setlocale2.sh: New file.
13568         * tests/test-setlocale2.c: New file.
13569         * modules/setlocale-tests (Files): Add the new files.
13570         (Makefile.am): Enable test-setlocale2.sh test.
13571         * doc/posix-functions/setlocale.texi: Mention workaround.
13572
13573 2011-02-11  Bruno Haible  <bruno@clisp.org>
13574
13575         Tests for module 'setlocale'.
13576         * modules/setlocale-tests: New file.
13577         * tests/test-setlocale1.sh: New file.
13578         * tests/test-setlocale1.c: New file.
13579
13580         New module 'setlocale'.
13581         * lib/locale.in.h (setlocale): New declaration.
13582         * lib/setlocale.c: New file, based on
13583         gettext/gettext-runtime/intl/setlocale.c.
13584         * m4/setlocale.m4: New file.
13585         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13586         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13587         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13588         REPLACE_SETLOCALE.
13589         * modules/setlocale: New file.
13590         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13591         * doc/posix-functions/setlocale.texi: Mention the new module.
13592
13593 2011-02-11  Bruno Haible  <bruno@clisp.org>
13594
13595         Prepare for locale dependent tests on mingw.
13596         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13597         because it has the wrong locale encoding.
13598         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13599         French_France.1252 instead of "fr".
13600         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13601         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13602         because it has the wrong locale encoding.
13603         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13604         native Windows, try Turkish_Turkey.65001.
13605         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13606         Chinese_China.54936.
13607
13608         Prepare for locale dependent tests on mingw.
13609         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13610         differently.
13611         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13612         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13613         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13614         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13615
13616 2011-02-11  Eric Blake  <eblake@redhat.com>
13617
13618         strptime: avoid compiler warnings
13619         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13620         compiler warnings about dead code.
13621         Reported by Daniel P. Berrange.
13622
13623 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13624
13625         doc: update users.txt
13626         * users.txt: Add rcs.
13627
13628 2011-02-10  John W. Eaton  <jwe@gnu.org>
13629
13630         doc: update users.txt
13631         * users.txt: Add octave.
13632
13633 2011-02-10  Jim Meyering  <meyering@redhat.com>
13634
13635         doc: update users.txt
13636         * users.txt: Add iwhd.
13637
13638 2011-02-09  Bruno Haible  <bruno@clisp.org>
13639
13640         gnulib-tool: Make copyright notice adjustment more robust.
13641         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13642         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13643         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13644         License".
13645         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13646
13647 2011-02-06  Bruno Haible  <bruno@clisp.org>
13648
13649         New module 'towctrans'.
13650         * modules/towctrans: New file.
13651         * lib/wctype.in.h (towctrans): New declaration.
13652         * lib/towctrans.c: New file.
13653         * lib/towctrans-impl.h: New file.
13654         * m4/towctrans.m4: New file.
13655         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13656         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13657         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13658         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13659         * doc/posix-functions/towctrans.texi: Mention the new module.
13660
13661 2011-02-06  Bruno Haible  <bruno@clisp.org>
13662
13663         New module 'wctrans'.
13664         * modules/wctrans: New file.
13665         * lib/wctype.in.h (wctrans): New declaration.
13666         * lib/wctrans.c: New file.
13667         * lib/wctrans-impl.h: New file.
13668         * m4/wctrans.m4: New file.
13669         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13670         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13671         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13672         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13673         * doc/posix-functions/wctrans.texi: Mention the new module.
13674
13675 2011-02-06  Bruno Haible  <bruno@clisp.org>
13676
13677         New module 'iswctype'.
13678         * modules/iswctype: New file.
13679         * lib/wctype.in.h (iswctype): New declaration.
13680         * lib/iswctype.c: New file.
13681         * lib/iswctype-impl.h: New file.
13682         * m4/iswctype.m4: New file.
13683         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13684         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13685         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13686         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13687         * doc/posix-functions/iswctype.texi: Mention the new module and the
13688         HP-UX 11.00 problem.
13689
13690 2011-02-06  Bruno Haible  <bruno@clisp.org>
13691
13692         New module 'wctype'.
13693         * modules/wctype: Change to represent the wctype() substitute.
13694         * lib/wctype.in.h (wctype): New declaration.
13695         * lib/wctype.c: New file.
13696         * lib/wctype-impl.h: New file.
13697         * m4/wctype.m4: New file.
13698         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13699         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13700         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13701         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13702         * doc/posix-functions/wctype.texi: Mention the new module and the
13703         HP-UX 11.00 problem.
13704
13705 2011-02-06  Bruno Haible  <bruno@clisp.org>
13706
13707         wctype-h: Ensure wctype_t and wctrans_t are defined.
13708         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13709         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13710         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13711         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13712         HAVE_WCTRANS_T.
13713         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13714
13715 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13716
13717         flock: fix license typo
13718
13719         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13720         omitted.
13721
13722 2011-02-08  Bruno Haible  <bruno@clisp.org>
13723
13724         Split large sed scripts, for HP-UX sed.
13725         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13726         to avoid HP-UX limit of 99 commands, in the near future.
13727         * modules/stdlib (Makefile.am): Likewise.
13728         * modules/unistd (Makefile.am): Likewise.
13729         * modules/wchar (Makefile.am): Likewise.
13730         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13731         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13732         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13733
13734 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13735             Bruno Haible  <bruno@clisp.org>
13736
13737         stdlib: improve random_r modularization
13738         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13739         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13740         you also need the random_r module to get this material right.
13741         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13742         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13743         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13744
13745 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13746
13747         stdlib: don't depend on stdint
13748         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13749         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13750         be independent of whether stdint.h is needed.
13751         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13752         here, instead of ...
13753         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13754         struct random_data should be using the random_r module, not just
13755         the stdlib module (which wouldn't make sense: what package needs
13756         just struct random_data without also needing random_r?).
13757         * modules/stdlib (Depends-on): Remove stdint.
13758
13759         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13760         See the thread rooted at
13761         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13762         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13763         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13764         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13765         __VMS)); previously it was always included (via fcntl--.h).
13766         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13767         hand; this is good enough for load averages.  Also, do not use
13768         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13769         flags directly if available and don't bother otherwise.  (Packages
13770         that need the extra reliability should use the modules that define
13771         these flags on older platforms that lack them.)
13772         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13773         fcntl-safer.
13774
13775 2011-02-08  Jim Meyering  <meyering@redhat.com>
13776
13777         di-set.h, ino-map.h: add multiple-inclusion guard
13778         Technically, the guard is required only for ino-map.h, due to its
13779         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13780         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13781         * lib/ino-map.h: Likewise.
13782
13783 2011-02-06  Bruno Haible  <bruno@clisp.org>
13784
13785         iswblank: Ensure declaration on glibc systems.
13786         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13787         * modules/iswblank (Dependencies): Add 'extensions'.
13788         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13789
13790 2011-02-06  Bruno Haible  <bruno@clisp.org>
13791
13792         New module 'iswblank'.
13793         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13794         * modules/iswblank: New file.
13795         * modules/wctype-h (Files): Remove lib/iswblank.c.
13796         (Makefile.am): Substitute GNULIB_ISWBLANK.
13797         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13798         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13799         (gl_WCTYPE_H_DEFAULTS): New macro.
13800         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13801         * modules/iswblank-tests: New file.
13802         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13803         * tests/test-wctype-h.c (main): Remove iswblank tests.
13804         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13805         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13806         of 'wctype-h'.
13807         * NEWS: Mention the change.
13808         * modules/mbchar (Depends-on): Add iswblank.
13809
13810 2011-02-08  Bruno Haible  <bruno@clisp.org>
13811
13812         di-set tests: Refactor.
13813         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13814         unnecessary includes.
13815         (ASSERT): Remove macro.
13816         (main): Make C90 compliant by avoiding variable declaration after
13817         statement.
13818         * modules/di-set-tests (Files): Add tests/macros.h.
13819
13820 2011-02-08  Bruno Haible  <bruno@clisp.org>
13821
13822         ino-map tests: Refactor.
13823         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13824         unnecessary includes.
13825         (ASSERT): Remove macro.
13826         (main): Make C90 compliant by avoiding variable declaration after
13827         statement.
13828         * modules/ino-map-tests (Files): Add tests/macros.h.
13829
13830 2011-02-08  Jim Meyering  <meyering@redhat.com>
13831
13832         di-set: add "const" to a cast
13833         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13834         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13835
13836 2011-02-06  Bruno Haible  <bruno@clisp.org>
13837
13838         Rename module 'wctype' to 'wctype-h'.
13839         * modules/wctype-h: Renamed from modules/wctype.
13840         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13841         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13842         (Files, Depends-on, Makefile.am): Update.
13843         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13844         (Files, Makefile.am): Update.
13845         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13846         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13847         * doc/posix-headers/wctype.texi: Update.
13848         * doc/posix-functions/iswalnum.texi: Update.
13849         * doc/posix-functions/iswalpha.texi: Update.
13850         * doc/posix-functions/iswblank.texi: Update.
13851         * doc/posix-functions/iswcntrl.texi: Update.
13852         * doc/posix-functions/iswdigit.texi: Update.
13853         * doc/posix-functions/iswgraph.texi: Update.
13854         * doc/posix-functions/iswlower.texi: Update.
13855         * doc/posix-functions/iswprint.texi: Update.
13856         * doc/posix-functions/iswpunct.texi: Update.
13857         * doc/posix-functions/iswspace.texi: Update.
13858         * doc/posix-functions/iswupper.texi: Update.
13859         * doc/posix-functions/iswxdigit.texi: Update.
13860         * doc/posix-functions/towlower.texi: Update.
13861         * doc/posix-functions/towupper.texi: Update.
13862         * NEWS: Mention the change.
13863         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13864         * modules/mbchar (Dependencies): Likewise.
13865         * modules/mbswidth (Dependencies): Likewise.
13866         * modules/quotearg (Dependencies): Likewise.
13867         * modules/regex (Dependencies): Likewise.
13868         * modules/wcscasecmp (Dependencies): Likewise.
13869         * modules/wcsncasecmp (Dependencies): Likewise.
13870         * modules/wcwidth (Dependencies): Likewise.
13871
13872 2011-02-06  Bruno Haible  <bruno@clisp.org>
13873
13874         New module 'wcswidth'.
13875         * modules/wcswidth: New file.
13876         * lib/wchar.in.h (wcswidth): New declaration.
13877         * lib/wcswidth.c: New file.
13878         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13879         * m4/wcswidth.m4: New file.
13880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13882         REPLACE_WCSWIDTH.
13883         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13884         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13885         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13886         * doc/posix-functions/wcswidth.texi: Mention the new module.
13887
13888 2011-02-06  Bruno Haible  <bruno@clisp.org>
13889
13890         New module 'wcstok'.
13891         * modules/wcstok: New file.
13892         * lib/wchar.in.h (wcstok): New declaration.
13893         * lib/wcstok.c: New file.
13894         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13895         * m4/wcstok.m4: New file.
13896         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13897         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13898         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13899         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13900         * doc/posix-functions/wcstok.texi: Mention the new module.
13901
13902 2011-02-06  Bruno Haible  <bruno@clisp.org>
13903
13904         New module 'wcsstr'.
13905         * modules/wcsstr: New file.
13906         * lib/wchar.in.h (wcsstr): New declaration.
13907         * lib/wcsstr.c: New file.
13908         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13909         * m4/wcsstr.m4: New file.
13910         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13911         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13912         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13913         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13914         * doc/posix-functions/wcsstr.texi: Mention the new module.
13915
13916 2011-02-06  Bruno Haible  <bruno@clisp.org>
13917
13918         New module 'wcspbrk'.
13919         * modules/wcspbrk: New file.
13920         * lib/wchar.in.h (wcspbrk): New declaration.
13921         * lib/wcspbrk.c: New file.
13922         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13923         * m4/wcspbrk.m4: New file.
13924         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13925         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13926         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
13927         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
13928         * doc/posix-functions/wcspbrk.texi: Mention the new module.
13929
13930 2011-02-06  Bruno Haible  <bruno@clisp.org>
13931
13932         New module 'wcsspn'.
13933         * modules/wcsspn: New file.
13934         * lib/wchar.in.h (wcsspn): New declaration.
13935         * lib/wcsspn.c: New file.
13936         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
13937         * m4/wcsspn.m4: New file.
13938         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
13939         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
13940         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
13941         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
13942         * doc/posix-functions/wcsspn.texi: Mention the new module.
13943
13944 2011-02-06  Bruno Haible  <bruno@clisp.org>
13945
13946         New module 'wcscspn'.
13947         * modules/wcscspn: New file.
13948         * lib/wchar.in.h (wcscspn): New declaration.
13949         * lib/wcscspn.c: New file.
13950         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
13951         * m4/wcscspn.m4: New file.
13952         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
13953         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
13954         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
13955         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
13956         * doc/posix-functions/wcscspn.texi: Mention the new module.
13957
13958 2011-02-06  Bruno Haible  <bruno@clisp.org>
13959
13960         New module 'wcsrchr'.
13961         * modules/wcsrchr: New file.
13962         * lib/wchar.in.h (wcsrchr): New declaration.
13963         * lib/wcsrchr.c: New file.
13964         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
13965         * m4/wcsrchr.m4: New file.
13966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
13967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
13968         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
13969         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
13970         * doc/posix-functions/wcsrchr.texi: Mention the new module.
13971
13972 2011-02-06  Bruno Haible  <bruno@clisp.org>
13973
13974         New module 'wcschr'.
13975         * modules/wcschr: New file.
13976         * lib/wchar.in.h (wcschr): New declaration.
13977         * lib/wcschr.c: New file.
13978         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
13979         * m4/wcschr.m4: New file.
13980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
13981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
13982         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
13983         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
13984         * doc/posix-functions/wcschr.texi: Mention the new module.
13985
13986 2011-02-06  Bruno Haible  <bruno@clisp.org>
13987
13988         New module 'wcsdup'.
13989         * modules/wcsdup: New file.
13990         * lib/wchar.in.h (wcsdup): New declaration.
13991         * lib/wcsdup.c: New file.
13992         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
13993         * m4/wcsdup.m4: New file.
13994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
13995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
13996         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
13997         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
13998         * doc/posix-functions/wcsdup.texi: Mention the new module.
13999
14000 2011-02-06  Bruno Haible  <bruno@clisp.org>
14001
14002         New module 'wcsxfrm'.
14003         * modules/wcsxfrm: New file.
14004         * lib/wchar.in.h (wcsxfrm): New declaration.
14005         * lib/wcsxfrm.c: New file.
14006         * lib/wcsxfrm-impl.h: New file.
14007         * m4/wcsxfrm.m4: New file.
14008         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14009         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14010         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14011         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14012         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14013
14014 2011-02-06  Bruno Haible  <bruno@clisp.org>
14015
14016         New module 'wcscoll'.
14017         * modules/wcscoll: New file.
14018         * lib/wchar.in.h (wcscoll): New declaration.
14019         * lib/wcscoll.c: New file.
14020         * lib/wcscoll-impl.h: New file.
14021         * m4/wcscoll.m4: New file.
14022         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14023         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14024         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14025         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14026         * doc/posix-functions/wcscoll.texi: Mention the new module.
14027
14028 2011-02-06  Bruno Haible  <bruno@clisp.org>
14029
14030         New module 'wcsncasecmp'.
14031         * modules/wcsncasecmp: New file.
14032         * lib/wchar.in.h (wcsncasecmp): New declaration.
14033         * lib/wcsncasecmp.c: New file.
14034         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14035         * m4/wcsncasecmp.m4: New file.
14036         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14037         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14038         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14039         HAVE_WCSNCASECMP.
14040         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14041         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14042
14043 2011-02-06  Bruno Haible  <bruno@clisp.org>
14044
14045         New module 'wcscasecmp'.
14046         * modules/wcscasecmp: New file.
14047         * lib/wchar.in.h (wcscasecmp): New declaration.
14048         * lib/wcscasecmp.c: New file.
14049         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14050         * m4/wcscasecmp.m4: New file.
14051         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14052         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14053         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14054         HAVE_WCSCASECMP.
14055         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14056         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14057
14058 2011-02-05  Bruno Haible  <bruno@clisp.org>
14059
14060         New module 'wcsncmp'.
14061         * modules/wcsncmp: New file.
14062         * lib/wchar.in.h (wcsncmp): New declaration.
14063         * lib/wcsncmp.c: New file.
14064         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14065         * m4/wcsncmp.m4: New file.
14066         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14067         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14068         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14069         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14070         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14071
14072 2011-02-05  Bruno Haible  <bruno@clisp.org>
14073
14074         New module 'wcscmp'.
14075         * modules/wcscmp: New file.
14076         * lib/wchar.in.h (wcscmp): New declaration.
14077         * lib/wcscmp.c: New file.
14078         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14079         * m4/wcscmp.m4: New file.
14080         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14081         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14082         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14083         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14084         * doc/posix-functions/wcscmp.texi: Mention the new module.
14085
14086 2011-02-05  Bruno Haible  <bruno@clisp.org>
14087
14088         New module 'wcsncat'.
14089         * modules/wcsncat: New file.
14090         * lib/wchar.in.h (wcsncat): New declaration.
14091         * lib/wcsncat.c: New file.
14092         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14093         * m4/wcsncat.m4: New file.
14094         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14095         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14096         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14097         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14098         * doc/posix-functions/wcsncat.texi: Mention the new module.
14099
14100 2011-02-05  Bruno Haible  <bruno@clisp.org>
14101
14102         New module 'wcscat'.
14103         * modules/wcscat: New file.
14104         * lib/wchar.in.h (wcscat): New declaration.
14105         * lib/wcscat.c: New file.
14106         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14107         * m4/wcscat.m4: New file.
14108         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14109         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14110         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14111         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14112         * doc/posix-functions/wcscat.texi: Mention the new module.
14113
14114 2011-02-05  Bruno Haible  <bruno@clisp.org>
14115
14116         New module 'wcpncpy'.
14117         * modules/wcpncpy: New file.
14118         * lib/wchar.in.h (wcpncpy): New declaration.
14119         * lib/wcpncpy.c: New file.
14120         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14121         * m4/wcpncpy.m4: New file.
14122         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14123         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14124         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14125         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14126         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14127
14128 2011-02-05  Bruno Haible  <bruno@clisp.org>
14129
14130         New module 'wcsncpy'.
14131         * modules/wcsncpy: New file.
14132         * lib/wchar.in.h (wcsncpy): New declaration.
14133         * lib/wcsncpy.c: New file.
14134         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14135         * m4/wcsncpy.m4: New file.
14136         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14137         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14138         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14139         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14140         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14141
14142 2011-02-05  Bruno Haible  <bruno@clisp.org>
14143
14144         New module 'wcpcpy'.
14145         * modules/wcpcpy: New file.
14146         * lib/wchar.in.h (wcpcpy): New declaration.
14147         * lib/wcpcpy.c: New file.
14148         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14149         * m4/wcpcpy.m4: New file.
14150         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14151         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14152         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14153         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14154         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14155
14156 2011-02-05  Bruno Haible  <bruno@clisp.org>
14157
14158         New module 'wcscpy'.
14159         * modules/wcscpy: New file.
14160         * lib/wchar.in.h (wcscpy): New declaration.
14161         * lib/wcscpy.c: New file.
14162         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14163         * m4/wcscpy.m4: New file.
14164         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14165         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14166         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14167         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14168         * doc/posix-functions/wcscpy.texi: Mention the new module.
14169
14170 2011-02-05  Bruno Haible  <bruno@clisp.org>
14171
14172         New module 'wcsnlen'.
14173         * modules/wcsnlen: New file.
14174         * lib/wchar.in.h (wcsnlen): New declaration.
14175         * lib/wcsnlen.c: New file.
14176         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14177         * m4/wcsnlen.m4: New file.
14178         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14179         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14180         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14181         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14182         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14183
14184 2011-02-05  Bruno Haible  <bruno@clisp.org>
14185
14186         New module 'wcslen'.
14187         * modules/wcslen: New file.
14188         * lib/wchar.in.h (wcslen): New declaration.
14189         * lib/wcslen.c: New file.
14190         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14191         * m4/wcslen.m4: New file.
14192         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14193         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14194         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14195         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14196         * doc/posix-functions/wcslen.texi: Mention the new module.
14197
14198 2011-02-05  Bruno Haible  <bruno@clisp.org>
14199
14200         New module 'wmemset'.
14201         * modules/wmemset: New file.
14202         * lib/wchar.in.h (wmemset): New declaration.
14203         * lib/wmemset.c: New file.
14204         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14205         * m4/wmemset.m4: New file.
14206         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14207         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14208         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14209         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14210         * doc/posix-functions/wmemset.texi: Mention the new module.
14211
14212 2011-02-05  Bruno Haible  <bruno@clisp.org>
14213
14214         New module 'wmemmove'.
14215         * modules/wmemmove: New file.
14216         * lib/wchar.in.h (wmemmove): New declaration.
14217         * lib/wmemmove.c: New file.
14218         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14219         * m4/wmemmove.m4: New file.
14220         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14221         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14222         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14223         HAVE_WMEMMOVE.
14224         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14225         * doc/posix-functions/wmemmove.texi: Mention the new module.
14226
14227 2011-02-05  Bruno Haible  <bruno@clisp.org>
14228
14229         New module 'wmemcpy'.
14230         * modules/wmemcpy: New file.
14231         * lib/wchar.in.h (wmemcpy): New declaration.
14232         * lib/wmemcpy.c: New file.
14233         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14234         * m4/wmemcpy.m4: New file.
14235         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14236         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14237         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14238         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14239         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14240
14241 2011-02-05  Bruno Haible  <bruno@clisp.org>
14242
14243         New module 'wmemcmp'.
14244         * modules/wmemcmp: New file.
14245         * lib/wchar.in.h (wmemcmp): New declaration.
14246         * lib/wmemcmp.c: New file.
14247         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14248         * m4/wmemcmp.m4: New file.
14249         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14250         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14251         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14252         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14253         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14254
14255 2011-02-07  Jim Meyering  <meyering@redhat.com>
14256
14257         di-set, ino-map: new modules, from coreutils
14258         * lib/di-set.c: New file.
14259         * lib/di-set.h: Likewise.
14260         * lib/ino-map.c: Likewise.
14261         * lib/ino-map.h: Likewise.
14262         * modules/di-set: Likewise.
14263         * modules/di-set-tests: Likewise.
14264         * modules/ino-map: Likewise.
14265         * modules/ino-map-tests: Likewise.
14266         * tests/test-di-set.c: Likewise.
14267         * tests/test-ino-map.c: Likewise.
14268
14269 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14270
14271         getloadavg: merge minor changes from Emacs
14272
14273         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14274         (getloadavg): Use memset, not bzero.
14275
14276         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14277         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14278         clash (bug#86).
14279
14280 2010-11-14  Bruno Haible  <bruno@clisp.org>
14281
14282         Allow multiple gnulib generated replacements to coexist.
14283         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14284         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14285         * lib/langinfo.in.h (nl_item): Likewise.
14286         * lib/math.in.h (_NaN, NAN): Likewise.
14287         * lib/netdb.in.h (struct addrinfo): Likewise.
14288         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14289         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14290         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14291         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14292         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14293         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14294         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14295         pthread_mutexattr_init, pthread_mutexattr_settype,
14296         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14297         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14298         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14299         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14300         * lib/sched.in.h (struct sched_param): Likewise.
14301         * lib/se-selinux.in.h (security_class_t, security_context_t,
14302         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14303         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14304         lsetfilecon, fsetfilecon, security_check_context,
14305         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14306         Likewise.
14307         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14308         Likewise.
14309         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14310         _gl_function_taking_int_returning_void_t, union sigval,
14311         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14312         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14313         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14314         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14315         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14316         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14317         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14318         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14319         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14320         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14321         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14322         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14323         socklen_t, rpl_fd_isset): Likewise.
14324         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14325         * lib/sys_time.in.h (struct timeval): Likewise.
14326         * lib/sys_times.in.h (struct tms): Likewise.
14327         * lib/sys_utsname.in.h (struct utsname):
14328         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14329         * lib/unistd.in.h (getpagesize): Likewise.
14330         * lib/wchar.in.h (mbstate_t): Likewise.
14331         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14332         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14333         towlower, towupper): Likewise.
14334         Reported by Sam Steingold <sds@gnu.org>.
14335
14336 2011-02-05  Eric Blake  <eblake@redhat.com>
14337
14338         unsetenv: work around Haiku issues
14339         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14340         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14341
14342 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14343
14344         libposix: avoid calling error() within libposix
14345         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14346         is defined.
14347
14348 2011-02-05  Eric Blake  <eblake@redhat.com>
14349
14350         strerror_r-posix: port to cygwin
14351         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14352         implementation.
14353         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14354         * tests/test-strerror_r.c (main): Fix test.
14355         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14356         issue.
14357
14358 2011-02-05  Bruno Haible  <bruno@clisp.org>
14359
14360         New module 'wmemchr'.
14361         * modules/wmemchr: New file.
14362         * lib/wchar.in.h (wmemchr): New declaration.
14363         * lib/wmemchr.c: New file.
14364         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14365         * m4/wmemchr.m4: New file.
14366         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14367         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14368         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14369         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14370         * doc/posix-functions/wmemchr.texi: Mention the new module.
14371
14372 2011-02-04  Eric Blake  <eblake@redhat.com>
14373
14374         fdopendir: detect FreeBSD bug
14375         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14376         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14377
14378 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14379
14380         stdbool: do not define HAVE_STDBOOL_H
14381         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14382         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14383         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14384         imported from the latest Autoconf git.  It was motivated by Emacs,
14385         which uses gnulib but does not need HAVE_STDBOOL_H.
14386
14387 2011-02-04  Bruno Haible  <bruno@clisp.org>
14388
14389         wcsnrtombs: Prepare for new module wwcsnrtombs.
14390         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14391         * lib/wcsnrtombs.c: Include it.
14392         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14393
14394         wcsrtombs: Prepare for new module wwcsrtombs.
14395         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14396         * lib/wcsrtombs.c: Include it.
14397         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14398
14399         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14400         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14401         * lib/mbsnrtowcs.c: Include it.
14402         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14403
14404         mbsrtowcs: Prepare for new module mbsrtowwcs.
14405         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14406         * lib/mbsrtowcs.c: Include it.
14407         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14408
14409 2011-02-04  Bruno Haible  <bruno@clisp.org>
14410
14411         vasnprintf: Reduce use of malloc for small format strings.
14412         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14413         (arguments): Add room for the first 7 arguments.
14414         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14415         (char_directives, u8_directives, u16_directives, u32_directives): Add
14416         room for the first 7 directives.
14417         * lib/printf-parse.c: Include <string.h>.
14418         (PRINTF_PARSE): Change memory handling code so that it uses the first
14419         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14420         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14421         Reported by Pádraig Brady <P@draigbrady.com>.
14422
14423 2011-01-31  Eric Blake  <eblake@redhat.com>
14424
14425         dup2: work around Haiku bug
14426         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14427         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14428         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14429         * tests/test-dup2.c (main): Enhance test.
14430
14431 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14432
14433         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14434         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14435         declared by eglibc 2.11.2.
14436         * lib/stdio.in.h: Likewise.
14437
14438 2011-01-31  Eric Blake  <eblake@redhat.com>
14439
14440         ignore-value: add missing test dependency
14441         * tests/test-ignore-value.c: Revert previous change; stdio.h
14442         provides off_t.
14443         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14444
14445 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14446
14447         mktime: clarify long_int width checking
14448         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14449         the top level, to make it clearer that the assumption about
14450         long_int width is being checked.  See
14451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14452
14453 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14454
14455         ignore-value: Fix self-test.
14456         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14457
14458 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14459
14460         TYPE_MAXIMUM: avoid theoretically undefined behavior
14461         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14462         negative number, which the C Standard says has undefined behavior.
14463         In practice this is not a problem, but might as well do it by the book.
14464         Reported by Rich Felker and Eric Blake; see
14465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14466         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14467         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14468         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14469         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14470         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14471         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14472
14473         mktime: #undef mktime before #defining it
14474         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14475
14476         mktime: systematically normalize tm_isdst comparisons
14477         * lib/mktime.c (isdst_differ): New function.
14478         (__mktime_internal): Use it systematically for all isdst comparisons.
14479         This completes the fix for libc BZ #6723, and removes the need for
14480         normalizing tm_isdst.  See
14481         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14482         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14483
14484         mktime: fix some integer overflow issues and sidestep the rest
14485
14486         This was prompted by a bug report by Benjamin Lindner for MinGW
14487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14488         His bug is due to signed integer overflow (0 - INT_MIN), and I
14489         I scanned through mktime.c looking for other integer overflow
14490         problems, fixing all the bugs I found.
14491
14492         Although the C Standard says the resulting code is still not safe
14493         in the presence of integer overflow, in practice it should be good
14494         enough for all real-world two's-complement implementations, except
14495         for debugging environments that deliberately trap on integer
14496         overflow (e.g., gcc -ftrapv).
14497
14498         * lib/mktime.c (WRAPV): New macro.
14499         (SHR): Also check that long_int and time_t shift right in the
14500         usual way, before using the fast-but-unportable method.
14501         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14502         used.  The code already assumed two's complement, so there's
14503         no need to test for alternatives.  All uses removed.
14504         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14505         the C standard.  Problem reported by Rich Felker in
14506         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14507         (twos_complement_arithmetic): Also check long_int and time_t.
14508         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14509         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14510         (__mktime_internal): Avoid integer overflow with unary subtraction
14511         in two instances where -1 - X is an adequate replacement for -X,
14512         since the calculations are approximate.
14513
14514 2011-01-29  Eric Blake  <eblake@redhat.com>
14515
14516         mktime: avoid infinite loop
14517         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14518         type; behavior is still undefined but portable to all known targets.
14519         Reported by Rich Felker.
14520
14521 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14522
14523         rename, unlink, same-inode: Relicense.
14524         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14525         * modules/unlink (License): Likewise.
14526         * modules/same-inode (License): Likewise.
14527
14528 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14529
14530         mktime: avoid problems on NetBSD 5 / i386
14531         * lib/mktime.c (long_int): New type.  This works around a problem
14532         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14533         but time_t is 64 bits, and where I expect the existing code is
14534         wrong in some cases.
14535         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14536         (ydhms_diff): Bring back the compile-time check for wide-enough
14537         year and yday.
14538
14539         mktime: fix misspelling in comment
14540         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14541         This merges all recent glibc changes of importance.
14542
14543 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14544
14545         move-if-change: cope with concurrent mv of identical file.
14546         * build-aux/move-if-change (CMPPROG): Accept environment
14547         variable as an override for `cmp'.
14548         (usage): Document CMPPROG.
14549         Adjust comparison to drop stdout.  Cope with failure of mv if
14550         the target file exists and is identical to the source, for
14551         parallel builds.
14552         Report from H.J. Lu against binutils in PR binutils/12283.
14553
14554 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14555
14556         * users.txt: Mention sharutils.
14557
14558 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14559
14560         * users.txt: Mention OATH Toolkit.
14561
14562 2011-01-27  Bruno Haible  <bruno@clisp.org>
14563
14564         Prepare for supporting FreeBSD 10.
14565         * build-aux/config.libpath: Remove handling of freebsd1*.
14566
14567 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14568
14569         Prepare for supporting FreeBSD 10.
14570         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14571         match FreeBSD 10.0.
14572
14573 2011-01-27  Bruno Haible  <bruno@clisp.org>
14574
14575         vma-iter, get-rusage-as: Add OpenBSD support.
14576         * modules/vma-iter (configure.ac): Test for mquery.
14577         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14578         * lib/vma-iter.c: Include <sys/mman.h>.
14579         (vma_iterate): Add an implementation based on mquery().
14580         * lib/resource-ext.h (get_rusage_as): Update comments.
14581         * lib/get-rusage-as.c: Likewise.
14582         * lib/get-rusage-data.c: Likewise.
14583
14584 2011-01-26  Karl Berry  <karl@gnu.org>
14585
14586         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14587         variables to make it easier to override the makeinfo program used.
14588
14589 2011-01-26  Eric Blake  <eblake@redhat.com>
14590
14591         fcntl: work around Haiku F_DUPFD bugs
14592         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14593         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14594         cloexec bit on duplication.
14595         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14596
14597 2011-01-26  Bruno Haible  <bruno@clisp.org>
14598
14599         Enable memory leak tests on AIX.
14600         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14601         * tests/test-fprintf-posix3.c (main): Likewise.
14602
14603 2011-01-26  Bruno Haible  <bruno@clisp.org>
14604
14605         Tests for module 'get-rusage-data'.
14606         * modules/get-rusage-data-tests: New file.
14607         * tests/test-get-rusage-data.c: New file.
14608
14609         New module 'get-rusage-data'.
14610         * lib/resource-ext.h (get_rusage_data): New declaration.
14611         * lib/get-rusage-data.c: New file.
14612         * modules/get-rusage-data: New file.
14613
14614 2011-01-25  Bruno Haible  <bruno@clisp.org>
14615
14616         get-rusage-as: Allow for easier testing.
14617         * lib/resource-ext.h (get_rusage_as): Add comment.
14618         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14619         (main): New function for interactive testing.
14620
14621 2011-01-25  Bruno Haible  <bruno@clisp.org>
14622
14623         vma-iter: Treat Haiku like BeOS.
14624         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14625         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14626
14627 2011-01-25  Eric Blake  <eblake@redhat.com>
14628
14629         c-stack: fix regression on cygwin when libsigsegv is present
14630         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14631
14632 2011-01-24  Bruno Haible  <bruno@clisp.org>
14633
14634         vma-iter: Avoid empty intervals.
14635         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14636         on an empty interval.
14637
14638 2011-01-24  Jim Meyering  <meyering@redhat.com>
14639
14640         u64: remove unnecessary #include
14641         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14642
14643 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14644
14645         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14646         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14647
14648 2011-01-23  Bruno Haible  <bruno@clisp.org>
14649
14650         New module 'vma-iter'.
14651         * lib/vma-iter.h: New file.
14652         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14653         * modules/vma-iter: New file.
14654         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14655         for get_rusage_as_via_iterator.
14656         (vma_iterate_callback): New function.
14657         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14658         * modules/get-rusage-as (Depends-on): Add vma-iter.
14659
14660 2011-01-23  Bruno Haible  <bruno@clisp.org>
14661
14662         uninorm: Tweak includes.
14663         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14664         Reported by Jim Meyering.
14665
14666 2011-01-23  Bruno Haible  <bruno@clisp.org>
14667
14668         get-rusage-as: Improve on NetBSD.
14669         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14670         /proc, like on FreeBSD.
14671
14672 2011-01-23  Jim Meyering  <meyering@redhat.com>
14673
14674         xreadlink.h: remove unnecessary #include
14675         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14676
14677         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14678         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14679
14680 2011-01-23  Bruno Haible  <bruno@clisp.org>
14681
14682         get-rusage-as: Fix bug.
14683         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14684         original limit when aborting the first loop.
14685
14686 2011-01-23  Bruno Haible  <bruno@clisp.org>
14687
14688         wctype: Ensure valid C syntax.
14689         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14690         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14691
14692 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14693
14694         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14695         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14696         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14697         as they are needed only for configure's test case.
14698         This removes two unnecessary symbols from config.h.
14699
14700         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14701         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14702         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14703         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14704         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14705         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14706         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14707         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14708         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14709         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14710         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14711         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14712         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14713         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14714         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14715         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14716         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14717         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14718
14719 2011-01-21  Eric Blake  <eblake@redhat.com>
14720
14721         maintainer-makefile: work with older git for submodule check
14722         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14723         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14724         Reported by Matthias Bolte.
14725
14726         bootstrap: minor portability fixes
14727         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14728         (usage): Omit leading capital and trailing . on help phrases, per
14729         GNU Coding Standards.
14730         (check_versions, top level): Prefix messages with script name.
14731
14732 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14733
14734         bootstrap: support --no-git option
14735         * build-aux/bootstrap: Add --no-git option, to be used when
14736         --gnulib-srcdir points to the exact desired checkout.
14737
14738 2011-01-21  Eric Blake  <eblake@redhat.com>
14739
14740         strerror_r-posix: work with glibc 2.13
14741         * lib/strerror_r.c (strerror_r): Fix return type.
14742
14743 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14744             Bruno Haible  <bruno@clisp.org>
14745
14746         uN_strstr: New unit tests.
14747         * modules/unistr/u8-strstr-tests: New file.
14748         * modules/unistr/u16-strstr-tests: New file.
14749         * modules/unistr/u32-strstr-tests: New file.
14750         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14751         * tests/unistr/test-u8-strstr.c: New file.
14752         * tests/unistr/test-u16-strstr.c: New file.
14753         * tests/unistr/test-u32-strstr.c: New file.
14754
14755 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14756             Bruno Haible  <bruno@clisp.org>
14757
14758         Make uN_strstr functions O(n) worst-case.
14759         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14760         16-bit and 32-bit unit cases, use the unibyte algorithm from
14761         lib/mbsstr.c.
14762         * lib/unistr/u8-strstr.c: Include <string.h>.
14763         (UNIT_IS_UINT8_T): New macro.
14764         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14765         (U_STRLEN, U_STRNLEN): New macros.
14766         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14767         (U_STRLEN, U_STRNLEN): New macros.
14768         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14769         (configure.ac): Update required libunistring version.
14770         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14771         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14772         malloca.
14773         (configure.ac): Update required libunistring version.
14774         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14775         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14776         malloca.
14777         (configure.ac): Update required libunistring version.
14778
14779 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14780             Bruno Haible  <bruno@clisp.org>
14781
14782         Prepare for faster uN_strstr functions.
14783         * lib/str-kmp.h: Support definable UNITs.
14784         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14785         needle_len argument.
14786         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14787         * lib/mbscasestr.c (mbscasestr): Likewise.
14788
14789 2011-01-21  Pádraig Brady <P@draigBrady.com>
14790
14791         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14792         * tests/test-malloca.c (main): Unset the environment variable
14793         to greatly speed up the test.
14794         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14795         * modules/malloca-tests: Depend on unsetenv.
14796
14797 2011-01-21  Pádraig Brady <P@draigBrady.com>
14798
14799         ignore-value: remove stdint dependency
14800         * lib/ignore-value.h: Remove <stdint.h>
14801         * modules/ignore-value: Remove stdint dependency.
14802
14803 2011-01-21  Jim Meyering  <meyering@redhat.com>
14804
14805         maint.mk: adjust variable name to be consistent with other gl_ vars
14806         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14807         to be lower case.
14808
14809 2011-01-20  Jim Meyering  <meyering@redhat.com>
14810
14811         maint.mk: make "check" depend on public-submodule-commit by default
14812         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14813
14814 2011-01-20  Bruno Haible  <bruno@clisp.org>
14815
14816         mbfile, mbiter: Complete change from 2008-12-21.
14817         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14818         * m4/mbiter.m4 (gl_MBITER): Likewise.
14819
14820 2011-01-20  Jim Meyering  <meyering@redhat.com>
14821
14822         init.sh: insert space between each function name and "()"
14823         * tests/init.sh: Make it a little easier to see that a function's
14824         name is "warn_", and not "warn" when looking at the first part of
14825         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14826
14827 2011-01-20  Jim Meyering  <meyering@redhat.com>
14828
14829         mountlist: clean up code formatting
14830         * lib/mountlist.c (read_file_system_list): Split a long line,
14831         correct bracing style, use NULL in place of "(struct statfs *)0",
14832         don't parenthesize return value, add spaces around "=" and after
14833         ";-in-for-stmt".
14834
14835 2011-01-14  Markus Duft <mduft@gentoo.org>
14836
14837         mountlist: add support for Interix
14838         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14839         Apply statvfs to all entries of /dev/fs.
14840         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14841         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14842
14843 2011-01-20  Jim Meyering  <meyering@redhat.com>
14844
14845         maint.mk: improve the public-submodule-commit rule
14846         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14847         to suppress printing of its commands... unless V=1.
14848         Add git submodule's --quiet option to suppress printing of e.g.,
14849         "Entering gnulib" output.
14850         "cd" into $(srcdir) before running git submodule.
14851
14852 2011-01-20  Bruno Haible  <bruno@clisp.org>
14853
14854         include_next: Fix bug introduced on 2011-01-18.
14855         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14856         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14857         ac_cv_header_... variable if the second argument is not 'check'.
14858         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14859         gl_NEXT_HEADERS_INTERNAL.
14860
14861 2011-01-20  Bruno Haible  <bruno@clisp.org>
14862
14863         Allow the user to avoid the GNULIB_TEST_* macros.
14864         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14865         Suggested by Paul Eggert.
14866
14867 2011-01-14  Jim Meyering  <meyering@redhat.com>
14868
14869         bootstrap: avoid failure when there is no .gitmodules file
14870         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14871         has been assigned to, even when its value is the empty string.
14872         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14873         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14874         Reported by John W. Eaton <jwe@gnu.org>.
14875
14876 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14877
14878         assume <ctype.h>, ..., <time.h> exist
14879         For years gnulib has been assuming the existence of the headers
14880         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14881         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14882         them, since they don't appear to be needed.
14883         * README (Portability guidelines): Document this.
14884         * lib/flock.c: Assume <fcntl.h> exists.
14885         * lib/regex_internal.h: Assume <locale.h> exists.
14886         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14887         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14888         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14889         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14890         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14891         * m4/regex.m4 (gl_REGEX): Likewise.
14892         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14893         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14894         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14895         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14896         * tests/test-argp.c: Likewise.
14897         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14898
14899         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14900         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14901         AA_APPLE_UNIVERSAL_BUILD.  See
14902         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14903         * NEWS: Document this.
14904
14905 2011-01-19  Eric Blake  <eblake@redhat.com>
14906
14907         c-stack: assume stack overflow if SA_SIGINFO unsupported
14908         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14909         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14910         sigaction will work.
14911         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14912         behavior match Linux.
14913         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14914
14915         stdbool-tests: accomodate Haiku
14916         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14917
14918         binary-io: fix O_TEXT on Haiku
14919         * modules/binary-io (Depends-on): Add fcntl-h.
14920         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14921         than blindly undefining O_TEXT.
14922         Reported by Scott McCreary.
14923
14924 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14925
14926         include_next: do not check for standard headers like stddef.h
14927
14928         I found this problem when modifying Emacs to use gnulib.
14929         I noticed that it added HAVE_STDDEF_H to config.h, even though
14930         gnulib always assumes <stddef.h> exists as per README and this
14931         symbol is unnecessary.
14932         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
14933         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
14934         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
14935         faster for headers like stddef.h that are known to exist.
14936         (gl_CHECK_NEXT_HEADERS): Use it.
14937         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
14938         rather than gl_CHECK_NEXT_HEADERS.
14939         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
14940         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
14941
14942 2011-01-18  Eric Blake  <eblake@redhat.com>
14943
14944         ansi-c++-opt: skip C++ dependency style if C++ is unused
14945         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
14946         tests when we know C++ compilation is not desired.
14947         Reported by Scott McCreary.
14948
14949 2011-01-18  Bruno Haible  <bruno@clisp.org>
14950
14951         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
14952         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
14953         (main): Perform test also when getrlimit and setrlimit don't exist or
14954         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
14955         limiting the address space size using setrlimit, compare the address
14956         space size before and after the the test.
14957         * tests/test-dprintf-posix2.c: Likewise.
14958         * tests/test-fprintf-posix3.sh: Update skip messages.
14959         * tests/test-dprintf-posix2.sh: Likewise.
14960         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
14961         * modules/dprintf-posix-tests (Depends-on): Likewise.
14962         Reported by Bruce Korb <bkorb@gnu.org> and
14963         Gary V. Vaughan <gary@gnu.org>.
14964
14965 2011-01-18  Bruno Haible  <bruno@clisp.org>
14966
14967         get-rusage-as: Improvement for Cygwin.
14968         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
14969         areas that are merely reserved.
14970
14971 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14972
14973         strftime: remove dependencies on multibyte modules
14974
14975         strftime depended on mbrlen, mbsinit, and wchar, but these modules
14976         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
14977         only if __osf__ is defined, and I suspect OSF doesn't need these
14978         other modules.  If my guess is wrong, we'll need to come up with a
14979         variant of strftime that doesn't need the multibyte modules.
14980
14981         I discovered this problem when attempting modify Emacs to use the
14982         strftime module.  With the previous gnulib, this caused Emacs to
14983         need 31 new files, ranging from lib/config.charset to
14984         m4/wint_t.m4.  This was overkill and I expect would be offputting
14985         to the Emacs maintainers.  After this change, only 6 new files are
14986         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
14987         stdbool.m4, and tm_gmtoff.m4.
14988
14989         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
14990         Suggested by Bruno Haible in
14991         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
14992         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
14993         and do not check for wchar.h.
14994         * modules/strftime (Files): Remove m4/mbstate_t.m4.
14995         (Depends-on): Remove mbrlen, mbsinit, wchar.
14996
14997 2011-01-18  Bruno Haible  <bruno@clisp.org>
14998
14999         Tests for module 'get-rusage-as'.
15000         * modules/get-rusage-as-tests: New file.
15001         * tests/test-get-rusage-as.c: New file.
15002
15003         New module 'get-rusage-as'.
15004         * modules/get-rusage-as: New file.
15005         * lib/resource-ext.h: New file.
15006         * lib/get-rusage-as.c: New file.
15007
15008 2011-01-17  Eric Blake  <eblake@redhat.com>
15009
15010         sigaction: relax license from LGPLv3+ to LGPLv2+
15011         * modules/sigaction (License): Relax to LGPLv2+.
15012
15013 2011-01-14  Bruno Haible  <bruno@clisp.org>
15014
15015         filemode: Make function declarations usable in C++ mode.
15016         * lib/filemode.h: Enclose function declarations in extern "C" block.
15017         Reported by John W. Eaton <jwe@gnu.org>.
15018
15019 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15020
15021         save-cwd: no longer include "xgetcwd.h"
15022         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15023         This avoids a compilation failure in projects that use save-cwd
15024         without also using the xgetcwd module.
15025
15026 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15027
15028         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15029         This is so that a program like Emacs, which needs only dtoastr,
15030         does not have to bother with distributing and compiling ftoastr
15031         and ldtoastr.
15032         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15033         * modules/dtoastr, modules/ldtoastr: New files.
15034         * modules/ftoastr: Now works just for 'float'.
15035         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15036         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15037         dtoastr.c, ldtoastr.c.
15038
15039 2011-01-11  Jim Meyering  <meyering@redhat.com>
15040
15041         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15042         There is no need to work around the lack of the fchdir function,
15043         since gnulib can now provide a replacement when required.
15044         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15045         * modules/save-cwd (Depends-on): Add fchdir.
15046
15047 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15048
15049         openat, save-cwd: avoid xmalloc
15050
15051         This removes a direct (but undocumented) dependency of openat on
15052         xalloc, along with an indirect dependency via save-cwd.  It also
15053         removes a dependency of save-cwd on xgetcwd, and thereby
15054         indirectly on xalloc.  This change causes the openat substitute
15055         to fall back on save_cwd when memory is tight, and for save_cwd to
15056         fail instead of dying when memory is tight, but that's good enough.
15057         Problem and initial idea for fix reported by Bastien Roucaries in
15058         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15059
15060         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15061         xalloc.h (for xmalloc).
15062         (openat_proc_name): Use malloc, not xmalloc.
15063         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15064         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15065
15066         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15067         This avoids heap allocation for file names whose lengths are in
15068         the range 512..1023, with the upper bound increasing to at most
15069         4031 depending on the platform's PATH_MAX.  (We do not want
15070         pathmax.h here as it might supply a non-constant PATH_MAX.)
15071         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15072         Perhaps they should be moved to malloca.h?
15073         (OPENAT_BUFFER_SIZE): Use them.
15074
15075 2011-01-10  Bruno Haible  <bruno@clisp.org>
15076
15077         doc: Update users.txt.
15078         * users.txt: Add recutils.
15079
15080 2011-01-09  Karl Berry  <karl@gnu.org>
15081
15082         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15083
15084         * doc/configmake.texi: New file.
15085         * doc/gnulib.texi: Include it.
15086         * modules/configmake: Move documentation from here.
15087
15088 2011-01-09  Bruno Haible  <bruno@clisp.org>
15089
15090         Update to Unicode 6.0.0.
15091         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15092         (get_lbp): Update for Unicode 6.0.0.
15093         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15094         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15095         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15096         U+11001, U+11038..U+11046. Remove U+06DE.
15097         (uc_width): Fix bounds of planes.
15098         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15099         lib/uniwidth/width.c.
15100         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15101         trailing whitespace removed.
15102         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15103         without comments, but with the original copyright notice.
15104         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15105         * lib/unicase/ignorable.h: Likewise.
15106         * lib/unicase/tocasefold.h: Likewise.
15107         * lib/unicase/tolower.h: Likewise.
15108         * lib/unicase/totitle.h: Likewise.
15109         * lib/unicase/toupper.h: Likewise.
15110         * lib/unictype/bidi_of.h: Likewise.
15111         * lib/unictype/blocks.h: Likewise.
15112         * lib/unictype/categ_C.h: Likewise.
15113         * lib/unictype/categ_Cn.h: Likewise.
15114         * lib/unictype/categ_L.h: Likewise.
15115         * lib/unictype/categ_Ll.h: Likewise.
15116         * lib/unictype/categ_Lm.h: Likewise.
15117         * lib/unictype/categ_Lo.h: Likewise.
15118         * lib/unictype/categ_Lu.h: Likewise.
15119         * lib/unictype/categ_M.h: Likewise.
15120         * lib/unictype/categ_Mc.h: Likewise.
15121         * lib/unictype/categ_Me.h: Likewise.
15122         * lib/unictype/categ_Mn.h: Likewise.
15123         * lib/unictype/categ_N.h: Likewise.
15124         * lib/unictype/categ_Nd.h: Likewise.
15125         * lib/unictype/categ_No.h: Likewise.
15126         * lib/unictype/categ_P.h: Likewise.
15127         * lib/unictype/categ_Po.h: Likewise.
15128         * lib/unictype/categ_S.h: Likewise.
15129         * lib/unictype/categ_Sc.h: Likewise.
15130         * lib/unictype/categ_Sk.h: Likewise.
15131         * lib/unictype/categ_Sm.h: Likewise.
15132         * lib/unictype/categ_So.h: Likewise.
15133         * lib/unictype/categ_of.h: Likewise.
15134         * lib/unictype/combining.h: Likewise.
15135         * lib/unictype/ctype_alnum.h: Likewise.
15136         * lib/unictype/ctype_alpha.h: Likewise.
15137         * lib/unictype/ctype_graph.h: Likewise.
15138         * lib/unictype/ctype_lower.h: Likewise.
15139         * lib/unictype/ctype_print.h: Likewise.
15140         * lib/unictype/ctype_punct.h: Likewise.
15141         * lib/unictype/ctype_upper.h: Likewise.
15142         * lib/unictype/decdigit.h: Likewise.
15143         * lib/unictype/digit.h: Likewise.
15144         * lib/unictype/numeric.h: Likewise.
15145         * lib/unictype/pr_alphabetic.h: Likewise.
15146         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15147         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15148         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15149         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15150         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15151         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15152         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15153         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15154         * lib/unictype/pr_case_ignorable.h: Likewise.
15155         * lib/unictype/pr_cased.h: Likewise.
15156         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15157         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15158         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15159         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15160         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15161         * lib/unictype/pr_combining.h: Likewise.
15162         * lib/unictype/pr_composite.h: Likewise.
15163         * lib/unictype/pr_currency_symbol.h: Likewise.
15164         * lib/unictype/pr_decimal_digit.h: Likewise.
15165         * lib/unictype/pr_deprecated.h: Likewise.
15166         * lib/unictype/pr_format_control.h: Likewise.
15167         * lib/unictype/pr_grapheme_base.h: Likewise.
15168         * lib/unictype/pr_grapheme_extend.h: Likewise.
15169         * lib/unictype/pr_grapheme_link.h: Likewise.
15170         * lib/unictype/pr_id_continue.h: Likewise.
15171         * lib/unictype/pr_id_start.h: Likewise.
15172         * lib/unictype/pr_ideographic.h: Likewise.
15173         * lib/unictype/pr_lowercase.h: Likewise.
15174         * lib/unictype/pr_math.h: Likewise.
15175         * lib/unictype/pr_numeric.h: Likewise.
15176         * lib/unictype/pr_other_alphabetic.h: Likewise.
15177         * lib/unictype/pr_other_id_continue.h: Likewise.
15178         * lib/unictype/pr_other_math.h: Likewise.
15179         * lib/unictype/pr_punctuation.h: Likewise.
15180         * lib/unictype/pr_sentence_terminal.h: Likewise.
15181         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15182         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15183         * lib/unictype/pr_unified_ideograph.h: Likewise.
15184         * lib/unictype/pr_uppercase.h: Likewise.
15185         * lib/unictype/pr_xid_continue.h: Likewise.
15186         * lib/unictype/pr_xid_start.h: Likewise.
15187         * lib/unictype/scripts.h: Likewise.
15188         * lib/unictype/scripts_byname.gperf: Likewise.
15189         * lib/unictype/sy_java_ident.h: Likewise.
15190         * lib/unigbrk/gbrkprop.h: Likewise.
15191         * lib/unilbrk/lbrkprop1.h: Likewise.
15192         * lib/unilbrk/lbrkprop2.h: Likewise.
15193         * lib/uninorm/decomposition-table2.h: Likewise.
15194         * lib/uniwbrk/wbrkprop.h: Likewise.
15195         * tests/unicase/test-cased.c: Likewise.
15196         * tests/unicase/test-ignorable.c: Likewise.
15197         * tests/unicase/test-uc_tolower.c: Likewise.
15198         * tests/unicase/test-uc_totitle.c: Likewise.
15199         * tests/unicase/test-uc_toupper.c: Likewise.
15200         * tests/unictype/test-categ_C.c: Likewise.
15201         * tests/unictype/test-categ_Cn.c: Likewise.
15202         * tests/unictype/test-categ_L.c: Likewise.
15203         * tests/unictype/test-categ_Ll.c: Likewise.
15204         * tests/unictype/test-categ_Lm.c: Likewise.
15205         * tests/unictype/test-categ_Lo.c: Likewise.
15206         * tests/unictype/test-categ_Lu.c: Likewise.
15207         * tests/unictype/test-categ_M.c: Likewise.
15208         * tests/unictype/test-categ_Mc.c: Likewise.
15209         * tests/unictype/test-categ_Me.c: Likewise.
15210         * tests/unictype/test-categ_Mn.c: Likewise.
15211         * tests/unictype/test-categ_N.c: Likewise.
15212         * tests/unictype/test-categ_Nd.c: Likewise.
15213         * tests/unictype/test-categ_No.c: Likewise.
15214         * tests/unictype/test-categ_P.c: Likewise.
15215         * tests/unictype/test-categ_Po.c: Likewise.
15216         * tests/unictype/test-categ_S.c: Likewise.
15217         * tests/unictype/test-categ_Sc.c: Likewise.
15218         * tests/unictype/test-categ_Sk.c: Likewise.
15219         * tests/unictype/test-categ_Sm.c: Likewise.
15220         * tests/unictype/test-categ_So.c: Likewise.
15221         * tests/unictype/test-ctype_alnum.c: Likewise.
15222         * tests/unictype/test-ctype_alpha.c: Likewise.
15223         * tests/unictype/test-ctype_graph.c: Likewise.
15224         * tests/unictype/test-ctype_lower.c: Likewise.
15225         * tests/unictype/test-ctype_print.c: Likewise.
15226         * tests/unictype/test-ctype_punct.c: Likewise.
15227         * tests/unictype/test-ctype_upper.c: Likewise.
15228         * tests/unictype/test-decdigit.h: Likewise.
15229         * tests/unictype/test-digit.h: Likewise.
15230         * tests/unictype/test-numeric.h: Likewise.
15231         * tests/unictype/test-pr_alphabetic.c: Likewise.
15232         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15233         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15234         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15235         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15236         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15237         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15238         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15239         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15240         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15241         * tests/unictype/test-pr_cased.c: Likewise.
15242         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15243         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15244         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15245         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15246         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15247         * tests/unictype/test-pr_combining.c: Likewise.
15248         * tests/unictype/test-pr_composite.c: Likewise.
15249         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15250         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15251         * tests/unictype/test-pr_deprecated.c: Likewise.
15252         * tests/unictype/test-pr_format_control.c: Likewise.
15253         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15254         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15255         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15256         * tests/unictype/test-pr_id_continue.c: Likewise.
15257         * tests/unictype/test-pr_id_start.c: Likewise.
15258         * tests/unictype/test-pr_ideographic.c: Likewise.
15259         * tests/unictype/test-pr_lowercase.c: Likewise.
15260         * tests/unictype/test-pr_math.c: Likewise.
15261         * tests/unictype/test-pr_numeric.c: Likewise.
15262         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15263         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15264         * tests/unictype/test-pr_other_math.c: Likewise.
15265         * tests/unictype/test-pr_punctuation.c: Likewise.
15266         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15267         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15268         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15269         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15270         * tests/unictype/test-pr_uppercase.c: Likewise.
15271         * tests/unictype/test-pr_xid_continue.c: Likewise.
15272         * tests/unictype/test-pr_xid_start.c: Likewise.
15273         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15274         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15275         changes.
15276         * lib/unictype/categ_Cc.h: Likewise.
15277         * lib/unictype/categ_Cf.h: Likewise.
15278         * lib/unictype/categ_Co.h: Likewise.
15279         * lib/unictype/categ_Cs.h: Likewise.
15280         * lib/unictype/categ_Lt.h: Likewise.
15281         * lib/unictype/categ_Nl.h: Likewise.
15282         * lib/unictype/categ_Pc.h: Likewise.
15283         * lib/unictype/categ_Pd.h: Likewise.
15284         * lib/unictype/categ_Pe.h: Likewise.
15285         * lib/unictype/categ_Pf.h: Likewise.
15286         * lib/unictype/categ_Pi.h: Likewise.
15287         * lib/unictype/categ_Ps.h: Likewise.
15288         * lib/unictype/categ_Z.h: Likewise.
15289         * lib/unictype/categ_Zl.h: Likewise.
15290         * lib/unictype/categ_Zp.h: Likewise.
15291         * lib/unictype/categ_Zs.h: Likewise.
15292         * lib/unictype/ctype_blank.h: Likewise.
15293         * lib/unictype/ctype_cntrl.h: Likewise.
15294         * lib/unictype/ctype_digit.h: Likewise.
15295         * lib/unictype/ctype_space.h: Likewise.
15296         * lib/unictype/ctype_xdigit.h: Likewise.
15297         * lib/unictype/mirror.h: Likewise.
15298         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15299         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15300         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15301         * lib/unictype/pr_bidi_control.h: Likewise.
15302         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15303         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15304         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15305         * lib/unictype/pr_bidi_pdf.h: Likewise.
15306         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15307         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15308         * lib/unictype/pr_dash.h: Likewise.
15309         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15310         * lib/unictype/pr_diacritic.h: Likewise.
15311         * lib/unictype/pr_extender.h: Likewise.
15312         * lib/unictype/pr_hex_digit.h: Likewise.
15313         * lib/unictype/pr_hyphen.h: Likewise.
15314         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15315         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15316         * lib/unictype/pr_ignorable_control.h: Likewise.
15317         * lib/unictype/pr_iso_control.h: Likewise.
15318         * lib/unictype/pr_join_control.h: Likewise.
15319         * lib/unictype/pr_left_of_pair.h: Likewise.
15320         * lib/unictype/pr_line_separator.h: Likewise.
15321         * lib/unictype/pr_logical_order_exception.h: Likewise.
15322         * lib/unictype/pr_non_break.h: Likewise.
15323         * lib/unictype/pr_not_a_character.h: Likewise.
15324         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15325         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15326         * lib/unictype/pr_other_id_start.h: Likewise.
15327         * lib/unictype/pr_other_lowercase.h: Likewise.
15328         * lib/unictype/pr_other_uppercase.h: Likewise.
15329         * lib/unictype/pr_paired_punctuation.h: Likewise.
15330         * lib/unictype/pr_paragraph_separator.h: Likewise.
15331         * lib/unictype/pr_pattern_syntax.h: Likewise.
15332         * lib/unictype/pr_pattern_white_space.h: Likewise.
15333         * lib/unictype/pr_private_use.h: Likewise.
15334         * lib/unictype/pr_quotation_mark.h: Likewise.
15335         * lib/unictype/pr_radical.h: Likewise.
15336         * lib/unictype/pr_soft_dotted.h: Likewise.
15337         * lib/unictype/pr_space.h: Likewise.
15338         * lib/unictype/pr_titlecase.h: Likewise.
15339         * lib/unictype/pr_variation_selector.h: Likewise.
15340         * lib/unictype/pr_white_space.h: Likewise.
15341         * lib/unictype/pr_zero_width.h: Likewise.
15342         * lib/unictype/sy_c_ident.h: Likewise.
15343         * lib/unictype/sy_c_whitespace.h: Likewise.
15344         * lib/unictype/sy_java_whitespace.h: Likewise.
15345         * lib/uninorm/composition-table.gperf: Likewise.
15346         * lib/uninorm/decomposition-table1.h: Likewise.
15347         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15348         LB8.
15349         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15350         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15351         * modules/unictype/*: Bump version number of expected libunistring
15352         version.
15353
15354 2011-01-09  Bruno Haible  <bruno@clisp.org>
15355
15356         Update to Unicode 5.2.0.
15357         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15358         trailing whitespace removed.
15359
15360 2011-01-09  Bruno Haible  <bruno@clisp.org>
15361
15362         New Unicode character properties, from Unicode 5.2.0.
15363         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15364         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15365         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15366         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15367         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15368         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15369         uc_is_property_cased, uc_is_property_case_ignorable,
15370         uc_is_property_changes_when_lowercased,
15371         uc_is_property_changes_when_uppercased,
15372         uc_is_property_changes_when_titlecased,
15373         uc_is_property_changes_when_casefolded,
15374         uc_is_property_changes_when_casemapped): New declarations.
15375         * lib/unictype/pr_byname.gperf: Add the new properties.
15376         * modules/unictype/property-byname (Depends-on): Depend on the new
15377         properties modules.
15378         * modules/unictype/property-all (Depends-on): Likewise.
15379         * MODULES.html.sh (Unicode string functions): Add
15380         unictype/property-case-ignorable, unictype/property-cased,
15381         unictype/property-changes-when-casefolded,
15382         unictype/property-changes-when-casemapped,
15383         unictype/property-changes-when-lowercased,
15384         unictype/property-changes-when-titlecased,
15385         unictype/property-changes-when-uppercased.
15386
15387         New module 'unictype/property-changes-when-casemapped'.
15388         * modules/unictype/property-changes-when-casemapped: New file.
15389         * lib/unictype/pr_changes_when_casemapped.c: New file.
15390         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15391         generated by gen-uni-tables.
15392         * modules/unictype/property-changes-when-casemapped-tests: New file.
15393         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15394         automatically generated by gen-uni-tables.
15395
15396         New module 'unictype/property-changes-when-casefolded'.
15397         * modules/unictype/property-changes-when-casefolded: New file.
15398         * lib/unictype/pr_changes_when_casefolded.c: New file.
15399         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15400         generated by gen-uni-tables.
15401         * modules/unictype/property-changes-when-casefolded-tests: New file.
15402         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15403         automatically generated by gen-uni-tables.
15404
15405         New module 'unictype/property-changes-when-titlecased'.
15406         * modules/unictype/property-changes-when-titlecased: New file.
15407         * lib/unictype/pr_changes_when_titlecased.c: New file.
15408         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15409         generated by gen-uni-tables.
15410         * modules/unictype/property-changes-when-titlecased-tests: New file.
15411         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15412         automatically generated by gen-uni-tables.
15413
15414         New module 'unictype/property-changes-when-uppercased'.
15415         * modules/unictype/property-changes-when-uppercased: New file.
15416         * lib/unictype/pr_changes_when_uppercased.c: New file.
15417         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15418         generated by gen-uni-tables.
15419         * modules/unictype/property-changes-when-uppercased-tests: New file.
15420         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15421         automatically generated by gen-uni-tables.
15422
15423         New module 'unictype/property-changes-when-lowercased'.
15424         * modules/unictype/property-changes-when-lowercased: New file.
15425         * lib/unictype/pr_changes_when_lowercased.c: New file.
15426         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15427         generated by gen-uni-tables.
15428         * modules/unictype/property-changes-when-lowercased-tests: New file.
15429         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15430         automatically generated by gen-uni-tables.
15431
15432         New module 'unictype/property-case-ignorable'.
15433         * modules/unictype/property-case-ignorable: New file.
15434         * lib/unictype/pr_case_ignorable.c: New file.
15435         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15436         by gen-uni-tables.
15437         * modules/unictype/property-case-ignorable-tests: New file.
15438         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15439         generated by gen-uni-tables.
15440
15441         New module 'unictype/property-cased'.
15442         * modules/unictype/property-cased: New file.
15443         * lib/unictype/pr_cased.c: New file.
15444         * lib/unictype/pr_cased.h: New file, automatically generated by
15445         gen-uni-tables.
15446         * modules/unictype/property-cased-tests: New file.
15447         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15448         gen-uni-tables.
15449
15450 2011-01-09  Bruno Haible  <bruno@clisp.org>
15451
15452         Update to Unicode 5.2.0.
15453         * lib/gen-uni-tables.c (output_predicate, output_category,
15454         output_combclass, output_bidi_category, output_decimal_digit_test,
15455         output_decimal_digit, output_digit_test, output_digit,
15456         output_numeric_test, output_numeric, output_mirror, output_scripts,
15457         output_scripts_byname, output_blocks, output_ident_category): Fix
15458         comment header.
15459         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15460         get_wbp.
15461         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15462         items.
15463         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15464         Changes_When_Lowercased, Changes_When_Uppercased,
15465         Changes_When_Titlecased, Changes_When_Casefolded,
15466         Changes_When_Casemapped.
15467         (is_property_alphabetic, is_property_default_ignorable_code_point):
15468         Update for Unicode 5.2.0.
15469         (is_property_cased, is_property_case_ignorable,
15470         is_property_changes_when_lowercased,
15471         is_property_changes_when_uppercased,
15472         is_property_changes_when_titlecased,
15473         is_property_changes_when_casefolded,
15474         is_property_changes_when_casemapped): New functions.
15475         (output_properties): Output also the properties cased, case_ignorable,
15476         changes_when_lowercased, changes_when_uppercased,
15477         changes_when_titlecased, changes_when_casefolded,
15478         changes_when_casemapped.
15479         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15480         Unicode TR#11 revision 17 -> 19.
15481         (LBP_CP): New enumeration value.
15482         (LBP_*): Adjust values accordingly.
15483         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15484         TR#14 revision 22 -> 24.
15485         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15486         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15487         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15488         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15489         is_WBP_MIDLETTER.
15490         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15491         the code1 and code2 of each composition rule.
15492         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15493         * lib/unicase/ignorable.h: Likewise.
15494         * lib/unicase/tocasefold.h: Likewise.
15495         * lib/unicase/tolower.h: Likewise.
15496         * lib/unicase/totitle.h: Likewise.
15497         * lib/unicase/toupper.h: Likewise.
15498         * lib/unictype/bidi_of.h: Likewise.
15499         * lib/unictype/blocks.h: Likewise.
15500         * lib/unictype/categ_C.h: Likewise.
15501         * lib/unictype/categ_Cf.h: Likewise.
15502         * lib/unictype/categ_Cn.h: Likewise.
15503         * lib/unictype/categ_L.h: Likewise.
15504         * lib/unictype/categ_Ll.h: Likewise.
15505         * lib/unictype/categ_Lm.h: Likewise.
15506         * lib/unictype/categ_Lo.h: Likewise.
15507         * lib/unictype/categ_Lu.h: Likewise.
15508         * lib/unictype/categ_M.h: Likewise.
15509         * lib/unictype/categ_Mc.h: Likewise.
15510         * lib/unictype/categ_Mn.h: Likewise.
15511         * lib/unictype/categ_N.h: Likewise.
15512         * lib/unictype/categ_Nd.h: Likewise.
15513         * lib/unictype/categ_Nl.h: Likewise.
15514         * lib/unictype/categ_No.h: Likewise.
15515         * lib/unictype/categ_P.h: Likewise.
15516         * lib/unictype/categ_Pd.h: Likewise.
15517         * lib/unictype/categ_Po.h: Likewise.
15518         * lib/unictype/categ_S.h: Likewise.
15519         * lib/unictype/categ_Sc.h: Likewise.
15520         * lib/unictype/categ_So.h: Likewise.
15521         * lib/unictype/categ_of.h: Likewise.
15522         * lib/unictype/combining.h: Likewise.
15523         * lib/unictype/ctype_alnum.h: Likewise.
15524         * lib/unictype/ctype_alpha.h: Likewise.
15525         * lib/unictype/ctype_graph.h: Likewise.
15526         * lib/unictype/ctype_lower.h: Likewise.
15527         * lib/unictype/ctype_print.h: Likewise.
15528         * lib/unictype/ctype_punct.h: Likewise.
15529         * lib/unictype/ctype_upper.h: Likewise.
15530         * lib/unictype/decdigit.h: Likewise.
15531         * lib/unictype/digit.h: Likewise.
15532         * lib/unictype/numeric.h: Likewise.
15533         * lib/unictype/pr_alphabetic.h: Likewise.
15534         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15535         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15536         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15537         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15538         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15539         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15540         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15541         * lib/unictype/pr_combining.h: Likewise.
15542         * lib/unictype/pr_composite.h: Likewise.
15543         * lib/unictype/pr_currency_symbol.h: Likewise.
15544         * lib/unictype/pr_dash.h: Likewise.
15545         * lib/unictype/pr_decimal_digit.h: Likewise.
15546         * lib/unictype/pr_deprecated.h: Likewise.
15547         * lib/unictype/pr_diacritic.h: Likewise.
15548         * lib/unictype/pr_extender.h: Likewise.
15549         * lib/unictype/pr_grapheme_base.h: Likewise.
15550         * lib/unictype/pr_grapheme_extend.h: Likewise.
15551         * lib/unictype/pr_grapheme_link.h: Likewise.
15552         * lib/unictype/pr_id_continue.h: Likewise.
15553         * lib/unictype/pr_id_start.h: Likewise.
15554         * lib/unictype/pr_ideographic.h: Likewise.
15555         * lib/unictype/pr_ignorable_control.h: Likewise.
15556         * lib/unictype/pr_logical_order_exception.h: Likewise.
15557         * lib/unictype/pr_lowercase.h: Likewise.
15558         * lib/unictype/pr_numeric.h: Likewise.
15559         * lib/unictype/pr_other_alphabetic.h: Likewise.
15560         * lib/unictype/pr_punctuation.h: Likewise.
15561         * lib/unictype/pr_sentence_terminal.h: Likewise.
15562         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15563         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15564         * lib/unictype/pr_unified_ideograph.h: Likewise.
15565         * lib/unictype/pr_uppercase.h: Likewise.
15566         * lib/unictype/pr_xid_continue.h: Likewise.
15567         * lib/unictype/pr_xid_start.h: Likewise.
15568         * lib/unictype/pr_zero_width.h: Likewise.
15569         * lib/unictype/scripts.h: Likewise.
15570         * lib/unictype/scripts_byname.gperf: Likewise.
15571         * lib/unictype/sy_java_ident.h: Likewise.
15572         * lib/unigbrk/gbrkprop.h: Likewise.
15573         * lib/unilbrk/lbrkprop1.h: Likewise.
15574         * lib/unilbrk/lbrkprop2.h: Likewise.
15575         * lib/unilbrk/lbrktables.h: Likewise.
15576         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15577         LBP_CP. Implement rule LB30.
15578         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15579         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15580         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15581         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15582         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15583         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15584         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15585         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15586         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15587         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15588         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15589         bits instead of 16 bits in the code1 and code2 of each composition
15590         rule.
15591         (uc_composition): Update for Unicode 5.2.0.
15592         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15593         * lib/uninorm/decomposition-table2.h: Likewise.
15594         * lib/uniwbrk/wbrkprop.h: Likewise.
15595         * tests/unicase/test-cased.c: Likewise.
15596         * tests/unicase/test-ignorable.c: Likewise.
15597         * tests/unicase/test-uc_tolower.c: Likewise.
15598         * tests/unicase/test-uc_totitle.c: Likewise.
15599         * tests/unicase/test-uc_toupper.c: Likewise.
15600         * tests/unictype/test-categ_C.c: Likewise.
15601         * tests/unictype/test-categ_Cf.c: Likewise.
15602         * tests/unictype/test-categ_Cn.c: Likewise.
15603         * tests/unictype/test-categ_L.c: Likewise.
15604         * tests/unictype/test-categ_Ll.c: Likewise.
15605         * tests/unictype/test-categ_Lm.c: Likewise.
15606         * tests/unictype/test-categ_Lo.c: Likewise.
15607         * tests/unictype/test-categ_Lu.c: Likewise.
15608         * tests/unictype/test-categ_M.c: Likewise.
15609         * tests/unictype/test-categ_Mc.c: Likewise.
15610         * tests/unictype/test-categ_Mn.c: Likewise.
15611         * tests/unictype/test-categ_N.c: Likewise.
15612         * tests/unictype/test-categ_Nd.c: Likewise.
15613         * tests/unictype/test-categ_Nl.c: Likewise.
15614         * tests/unictype/test-categ_No.c: Likewise.
15615         * tests/unictype/test-categ_P.c: Likewise.
15616         * tests/unictype/test-categ_Pd.c: Likewise.
15617         * tests/unictype/test-categ_Po.c: Likewise.
15618         * tests/unictype/test-categ_S.c: Likewise.
15619         * tests/unictype/test-categ_Sc.c: Likewise.
15620         * tests/unictype/test-categ_So.c: Likewise.
15621         * tests/unictype/test-ctype_alnum.c: Likewise.
15622         * tests/unictype/test-ctype_alpha.c: Likewise.
15623         * tests/unictype/test-ctype_graph.c: Likewise.
15624         * tests/unictype/test-ctype_lower.c: Likewise.
15625         * tests/unictype/test-ctype_print.c: Likewise.
15626         * tests/unictype/test-ctype_punct.c: Likewise.
15627         * tests/unictype/test-ctype_upper.c: Likewise.
15628         * tests/unictype/test-decdigit.h: Likewise.
15629         * tests/unictype/test-digit.h: Likewise.
15630         * tests/unictype/test-numeric.h: Likewise.
15631         * tests/unictype/test-pr_alphabetic.c: Likewise.
15632         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15633         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15634         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15635         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15636         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15637         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15638         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15639         * tests/unictype/test-pr_combining.c: Likewise.
15640         * tests/unictype/test-pr_composite.c: Likewise.
15641         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15642         * tests/unictype/test-pr_dash.c: Likewise.
15643         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15644         * tests/unictype/test-pr_deprecated.c: Likewise.
15645         * tests/unictype/test-pr_diacritic.c: Likewise.
15646         * tests/unictype/test-pr_extender.c: Likewise.
15647         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15648         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15649         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15650         * tests/unictype/test-pr_id_continue.c: Likewise.
15651         * tests/unictype/test-pr_id_start.c: Likewise.
15652         * tests/unictype/test-pr_ideographic.c: Likewise.
15653         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15654         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15655         * tests/unictype/test-pr_lowercase.c: Likewise.
15656         * tests/unictype/test-pr_numeric.c: Likewise.
15657         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15658         * tests/unictype/test-pr_punctuation.c: Likewise.
15659         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15660         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15661         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15662         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15663         * tests/unictype/test-pr_uppercase.c: Likewise.
15664         * tests/unictype/test-pr_xid_continue.c: Likewise.
15665         * tests/unictype/test-pr_xid_start.c: Likewise.
15666         * tests/unictype/test-pr_zero_width.c: Likewise.
15667         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15668         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15669         changed behaviour: line breaking is now disallowed between a letter
15670         or '=' and '('.
15671         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15672         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15673         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15674         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15675         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15676         lib/uniwidth/width.c.
15677         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15678         without comments, but with the original copyright notice.
15679         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15680         changes.
15681         * lib/unictype/categ_Cc.h: Likewise.
15682         * lib/unictype/categ_Co.h: Likewise.
15683         * lib/unictype/categ_Cs.h: Likewise.
15684         * lib/unictype/categ_Lt.h: Likewise.
15685         * lib/unictype/categ_Me.h: Likewise.
15686         * lib/unictype/categ_Pc.h: Likewise.
15687         * lib/unictype/categ_Pe.h: Likewise.
15688         * lib/unictype/categ_Pf.h: Likewise.
15689         * lib/unictype/categ_Pi.h: Likewise.
15690         * lib/unictype/categ_Ps.h: Likewise.
15691         * lib/unictype/categ_Sk.h: Likewise.
15692         * lib/unictype/categ_Sm.h: Likewise.
15693         * lib/unictype/categ_Z.h: Likewise.
15694         * lib/unictype/categ_Zl.h: Likewise.
15695         * lib/unictype/categ_Zp.h: Likewise.
15696         * lib/unictype/categ_Zs.h: Likewise.
15697         * lib/unictype/ctype_blank.h: Likewise.
15698         * lib/unictype/ctype_cntrl.h: Likewise.
15699         * lib/unictype/ctype_digit.h: Likewise.
15700         * lib/unictype/ctype_space.h: Likewise.
15701         * lib/unictype/ctype_xdigit.h: Likewise.
15702         * lib/unictype/mirror.h: Likewise.
15703         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15704         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15705         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15706         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15707         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15708         * lib/unictype/pr_bidi_control.h: Likewise.
15709         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15710         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15711         * lib/unictype/pr_bidi_pdf.h: Likewise.
15712         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15713         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15714         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15715         * lib/unictype/pr_format_control.h: Likewise.
15716         * lib/unictype/pr_hex_digit.h: Likewise.
15717         * lib/unictype/pr_hyphen.h: Likewise.
15718         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15719         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15720         * lib/unictype/pr_iso_control.h: Likewise.
15721         * lib/unictype/pr_join_control.h: Likewise.
15722         * lib/unictype/pr_left_of_pair.h: Likewise.
15723         * lib/unictype/pr_line_separator.h: Likewise.
15724         * lib/unictype/pr_math.h: Likewise.
15725         * lib/unictype/pr_non_break.h: Likewise.
15726         * lib/unictype/pr_not_a_character.h: Likewise.
15727         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15728         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15729         * lib/unictype/pr_other_id_continue.h: Likewise.
15730         * lib/unictype/pr_other_id_start.h: Likewise.
15731         * lib/unictype/pr_other_lowercase.h: Likewise.
15732         * lib/unictype/pr_other_math.h: Likewise.
15733         * lib/unictype/pr_other_uppercase.h: Likewise.
15734         * lib/unictype/pr_paired_punctuation.h: Likewise.
15735         * lib/unictype/pr_paragraph_separator.h: Likewise.
15736         * lib/unictype/pr_pattern_syntax.h: Likewise.
15737         * lib/unictype/pr_pattern_white_space.h: Likewise.
15738         * lib/unictype/pr_private_use.h: Likewise.
15739         * lib/unictype/pr_quotation_mark.h: Likewise.
15740         * lib/unictype/pr_radical.h: Likewise.
15741         * lib/unictype/pr_soft_dotted.h: Likewise.
15742         * lib/unictype/pr_space.h: Likewise.
15743         * lib/unictype/pr_titlecase.h: Likewise.
15744         * lib/unictype/pr_variation_selector.h: Likewise.
15745         * lib/unictype/pr_white_space.h: Likewise.
15746         * lib/unictype/sy_c_ident.h: Likewise.
15747         * lib/unictype/sy_c_whitespace.h: Likewise.
15748         * lib/unictype/sy_java_whitespace.h: Likewise.
15749         * modules/uni*/*: Bump version number of expected libunistring version.
15750         Reported by Simon Josefsson.
15751
15752 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15753
15754         useless-if-before-free: fix typo in --help and make the internal,
15755         automatic version date update process work once again.
15756         --help output contained a NUL character instead of the
15757         backslash-zero that was intended.  Also, the "must lie within
15758         the first 8 lines" line is on line 9, and hence not getting
15759         automatically updated.
15760         * build-aux/useless-if-before-free: Fix the former by adding a
15761         backslash, and the latter by condensing the three lines of what-it-does
15762         to a single line, leaving one line of slack for the future.
15763
15764 2011-01-09  Bruno Haible  <bruno@clisp.org>
15765
15766         uniwidth/width: Fix width of U+1D173..U+1D17A.
15767         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15768         symbolic_width, output_width_property_test): New functions.
15769         (main): Invoke output_nonspacing_property, output_width_property_test.
15770         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15771         U+1D173..U+1D17A.
15772         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15773         1.
15774         * modules/uniwidth/*: Bump version number of expected libunistring
15775         version.
15776         * modules/unilbrk/*: Likewise.
15777
15778 2011-01-08  Bruno Haible  <bruno@clisp.org>
15779
15780         uninorm tests: Preserve copyright of Unicode data file.
15781         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15782         Mention modifications.
15783
15784 2011-01-08  Bruno Haible  <bruno@clisp.org>
15785
15786         gen-uni-tables: Prepare for Unicode 5.2.0.
15787         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15788         (debug_output_lbp, output_lbp): Update.
15789
15790 2011-01-08  Bruno Haible  <bruno@clisp.org>
15791
15792         unilbrk: Clarify gen-uni-tables.c code.
15793         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15794         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15795         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15796
15797 2011-01-07  Bruno Haible  <bruno@clisp.org>
15798
15799         strtod: Restore errno when successfully parsing Infinity or NaN.
15800         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15801         restore the original errno.
15802
15803 2011-01-07  Bruno Haible  <bruno@clisp.org>
15804
15805         remove test: Avoid failure on HP-UX 11.
15806         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15807
15808 2011-01-07  Bruno Haible  <bruno@clisp.org>
15809
15810         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15811         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15812         error code.
15813
15814 2011-01-07  Pádraig Brady <P@draigBrady.com>
15815
15816         ignore-value: fixup comments, and add Eric Blake
15817         as an author since he rewrote the macros.
15818         * lib/ignore-value.h (ignore_value):  State that
15819         we now support aggregates.  Also specify exactly
15820         when the GCC warn_unused_result feature was added.
15821
15822 2011-01-06  Eric Blake  <eblake@redhat.com>
15823
15824         ignore-value: support aggregate types
15825         * lib/ignore-value.h (ignore_value): Provide separate gcc
15826         definition.
15827         * modules/ignore-value-tests: New test module.
15828         * tests/test-ignore-value.c: New test.
15829
15830         maint.mk: improve sc_prohibit_strcmp regex
15831         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15832         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15833         definition of STRNEQ.
15834
15835         signal: work around Haiku issue with SIGBUS
15836         * lib/siglist.h: Add comment.
15837         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15838         strsignal's favoring of SIGSEGV.
15839         * tests/test-signal.c (main): Avoid test failure.
15840         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15841         Reported by Scott McCreary.
15842
15843         maint.mk: add pre-release check to ensure submodule commits are public
15844         * top/maint.mk (public-submodule-commit): New rule.
15845         (submodule-checks): New variable.
15846         (alpha beta stable): Depend on the variable.
15847
15848 2011-01-05  Pádraig Brady <P@draigBrady.com>
15849         and Jim Meyering  <meyering@redhat.com>
15850
15851         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15852         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15853         (ATTRIBUTE_DEPRECATED): Define.
15854         (_ignore_case): New function.
15855         (ignore_value): New macro, to replace the old function.
15856         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15857         * modules/ignore-value (Depends-on): Add stdint.
15858
15859 2011-01-04  Eric Blake  <eblake@redhat.com>
15860
15861         doc: regenerate INSTALL
15862         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15863         @firstparagraphindent support, now that autoconf dropped it.
15864         (INSTALL_PRELUDE): Reinstate old macro.
15865         * doc/install.texi: Resync from autoconf.
15866         * doc/INSTALL: Reflect recent autoconf update.
15867         * doc/INSTALL.ISO: Likewise.
15868         * doc/INSTALL.UTF-8: Likewise.
15869         Reported by Karl Berry.
15870
15871 2011-01-04  Bruce Korb  <address@hidden>
15872
15873         git-version-gen: avoid a sub-shell
15874         * build-aux/git-version-gen: Redirect stderr in `...` via
15875         "exec 2>...", rather than via an added sub-shell.
15876
15877 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15878
15879         git-version-gen: use (...) rather than sh -c '...'
15880         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15881         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15882
15883 2011-01-03  Jim Meyering  <meyering@redhat.com>
15884
15885         git-version-gen: convert leading TABs to spaces
15886         * build-aux/git-version-gen: Expand leading TABs.
15887
15888         git-version-gen: handle failed "git rev-list"
15889         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15890         from git and proceeding as if it had succeeded but printed no SHA1
15891         checksums, suppress the diagnostic and handle the failure.
15892         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15893
15894         git-version-gen: include command name in one more diagnostic
15895         * build-aux/git-version-gen: When the required .tarball-version file
15896         was missing or unreadable, you might see the diagnostic from "cat",
15897         but no trace of the name of the invoking script.  Now, you still see
15898         the diagnostic from cat, but also get one from "git-version-gen: ".
15899         Inspired by a patch from Bruce Korb.
15900
15901         update-copyright: adjust test to match changed code
15902         * tests/test-update-copyright.sh: Change test's expected output
15903         to match new actual output.
15904
15905 2011-01-02  Bruno Haible  <bruno@clisp.org>
15906
15907         getlogin_r: Avoid test failure on HP-UX 11.
15908         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15909         ERANGE when the second argument is zero.
15910         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15911         portability problem.
15912
15913 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15914
15915         * build-aux/update-copyright: doc Simon's changes
15916
15917 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15918
15919         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15920         environment variable.
15921
15922 2011-01-02  Bruno Haible  <bruno@clisp.org>
15923
15924         unigbrk: Avoid gcc warnings.
15925         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15926         unused variable.
15927         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
15928         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
15929         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
15930         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
15931         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
15932         Change type of first argument to 'const char *'.
15933         (main): Remove unused variable.
15934         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
15935         type of first argument to 'const char *'.
15936         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
15937         Likewise.
15938         (main): Change type of variable 's'.
15939         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
15940         to 'int'.
15941
15942 2011-01-02  Bruno Haible  <bruno@clisp.org>
15943
15944         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
15945         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
15946         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
15947         bug.
15948         * lib/pwrite.c: Undo 2010-12-31 patch.
15949         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
15950
15951 2011-01-02  Bruno Haible  <bruno@clisp.org>
15952
15953         pread: Fix test whether it works.
15954         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
15955
15956 2011-01-02  Bruno Haible  <bruno@clisp.org>
15957
15958         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
15959         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
15960         ends in "6". Don't require a specific month name. Try also the locale
15961         names found on HP-UX 11 and Solaris 7.
15962
15963 2011-01-02  Bruno Haible  <bruno@clisp.org>
15964
15965         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
15966         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
15967         C linkage.
15968         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
15969
15970 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15971
15972         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
15973         for consistency, since the "cluster" term is not used elsewhere.
15974         * lib/unigbrk.in.h: Update name.
15975         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
15976         * lib/unigbrk/u16-grapheme-next.c: Update name.
15977         * lib/unigbrk/u16-grapheme-prev.c: Update name.
15978         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
15979         * lib/unigbrk/u32-grapheme-next.c: Update name.
15980         * lib/unigbrk/u32-grapheme-prev.c: Update name.
15981         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
15982         * lib/unigbrk/u8-grapheme-next.c: Update name.
15983         * lib/unigbrk/u8-grapheme-prev.c: Update name.
15984         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
15985         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
15986         Suggested by Bruno Haible.
15987
15988 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
15989
15990         Remove module 'u8-grapheme-len' as too redundant with
15991         'u8-grapheme-next'.
15992         * modules/unigbrk/u8-grapheme-len: Delete file.
15993         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
15994         * lib/unigbrk.in.h: Remove prototype for deleted function.
15995         * lib/unigbrk/u8-grapheme-len.c: Delete file.
15996         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
15997
15998         Remove module 'u16-grapheme-len' as too redundant with
15999         'u16-grapheme-next'.
16000         * modules/unigbrk/u16-grapheme-len: Delete file.
16001         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16002         * lib/unigbrk.in.h: Remove prototype for deleted function.
16003         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16004         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16005
16006         Remove module 'u32-grapheme-len' as too redundant with
16007         'u32-grapheme-next'.
16008         * modules/unigbrk/u32-grapheme-len: Delete file.
16009         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16010         * lib/unigbrk.in.h: Remove prototype for deleted function.
16011         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16012         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16013
16014         Suggested by Bruno Haible.
16015
16016 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16017
16018         * unigbrk.in.h: Fix typo: "ben" => "been".
16019         Reported by Bruno Haible.
16020
16021 2011-01-01  Jim Meyering  <meyering@redhat.com>
16022
16023         maint: update almost all copyright ranges to include 2011
16024         Run the new "make update-copyright" rule.
16025
16026 2011-01-01  Jim Meyering  <meyering@redhat.com>
16027
16028         maint: update-copyright: exempt doc/INSTALL*
16029         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16030         since they are generated.  Suggested by Bruno Haible.
16031
16032 2011-01-01  Jim Meyering  <meyering@redhat.com>
16033
16034         maint: refine the update-copyright rule
16035         * Makefile (update-copyright): Also exclude any file that includes
16036         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16037         code that merely generates the comment.
16038
16039 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16040
16041         New module 'u8-grapheme-len'.
16042         * modules/unigbrk/u8-grapheme-len: New file.
16043         * modules/unigbrk/u8-grapheme-len-tests: New file.
16044         * lib/unigbrk.in.h: Add prototype for new function.
16045         * lib/unigbrk/u8-grapheme-len.c: New file.
16046         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16047
16048         New module 'u16-grapheme-len'.
16049         * modules/unigbrk/u16-grapheme-len: New file.
16050         * modules/unigbrk/u16-grapheme-len-tests: New file.
16051         * lib/unigbrk.in.h: Add prototype for new function.
16052         * lib/unigbrk/u16-grapheme-len.c: New file.
16053         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16054
16055         New module 'u32-grapheme-len'.
16056         * modules/unigbrk/u32-grapheme-len: New file.
16057         * modules/unigbrk/u32-grapheme-len-tests: New file.
16058         * lib/unigbrk.in.h: Add prototype for new function.
16059         * lib/unigbrk/u32-grapheme-len.c: New file.
16060         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16061
16062         New module 'u8-grapheme-next'.
16063         * modules/unigbrk/u8-grapheme-next: New file.
16064         * modules/unigbrk/u8-grapheme-next-tests: New file.
16065         * lib/unigbrk.in.h: Add prototype for new function.
16066         * lib/unigbrk/u8-grapheme-next.c: New file.
16067         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16068
16069         New module 'u16-grapheme-next'.
16070         * modules/unigbrk/u16-grapheme-next: New file.
16071         * modules/unigbrk/u16-grapheme-next-tests: New file.
16072         * lib/unigbrk.in.h: Add prototype for new function.
16073         * lib/unigbrk/u16-grapheme-next.c: New file.
16074         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16075
16076         New module 'u32-grapheme-next'.
16077         * modules/unigbrk/u32-grapheme-next: New file.
16078         * modules/unigbrk/u32-grapheme-next-tests: New file.
16079         * lib/unigbrk.in.h: Add prototype for new function.
16080         * lib/unigbrk/u32-grapheme-next.c: New file.
16081         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16082
16083         New module 'u8-grapheme-prev'.
16084         * modules/unigbrk/u8-grapheme-prev: New file.
16085         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16086         * lib/unigbrk.in.h: Add prototype for new function.
16087         * lib/unigbrk/u8-grapheme-prev.c: New file.
16088         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16089
16090         New module 'u16-grapheme-prev'.
16091         * modules/unigbrk/u16-grapheme-prev: New file.
16092         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16093         * lib/unigbrk.in.h: Add prototype for new function.
16094         * lib/unigbrk/u16-grapheme-prev.c: New file.
16095         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16096
16097         New module 'u32-grapheme-prev'.
16098         * modules/unigbrk/u32-grapheme-prev: New file.
16099         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16100         * lib/unigbrk.in.h: Add prototype for new function.
16101         * lib/unigbrk/u32-grapheme-prev.c: New file.
16102         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16103
16104         New module 'u8-grapheme-breaks'.
16105         * modules/unigbrk/u8-grapheme-breaks: New file.
16106         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16107         * lib/unigbrk.in.h: Add prototype for new function.
16108         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16109         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16110
16111         New module 'u16-grapheme-breaks'.
16112         * modules/unigbrk/u16-grapheme-breaks: New file.
16113         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16114         * lib/unigbrk.in.h: Add prototype for new function.
16115         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16116         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16117
16118         New module 'u32-grapheme-breaks'.
16119         * modules/unigbrk/u32-grapheme-breaks: New file.
16120         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16121         * lib/unigbrk.in.h: Add prototype for new function.
16122         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16123         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16124
16125         New module 'ulc-grapheme-breaks'.
16126         * modules/unigbrk/ulc-grapheme-breaks: New file.
16127         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16128         * m4/locale-ar.m4: New file.
16129         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16130         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16131         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16132
16133 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16134
16135         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16136         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16137         modified how this file was generated before I initially submitted
16138         the module, but failed to regenerate it.  This meant that several
16139         of the level2 entries were wrong.
16140         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16141         Remove the division-by-2 that is folded into the table now that
16142         gbrkprop.h has been regenerated properly.  Now -1 entries are
16143         handled correctly.
16144
16145         New module 'unigbrk/uc-gbrk-prop-tests'.
16146         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16147         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16148         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16149         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16150
16151 2011-01-01  Bruno Haible  <bruno@clisp.org>
16152
16153         Avoid use of hexadecimal escapes.
16154         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16155         instead of hexadecimal escapes.
16156
16157 2011-01-01  Jim Meyering  <meyering@redhat.com>
16158
16159         maint: new rule to update copyright year ranges
16160         * Makefile (update-copyright): New rule.
16161
16162         maint: indent with TABs in Makefile
16163         * Makefile: Expand leading sequences of spaces to TABs
16164
16165         version-etc: update the copyright year it reports
16166         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16167
16168 2010-12-31  Bruno Haible  <bruno@clisp.org>
16169
16170         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16171         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16172         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16173         zero.
16174
16175 2010-12-31  Bruno Haible  <bruno@clisp.org>
16176
16177         pwrite: Work around HP-UX 11.11 bug.
16178         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16179         works and set REPLACE_PWRITE if not.
16180         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16181         function.
16182         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16183
16184 2010-12-31  Bruno Haible  <bruno@clisp.org>
16185
16186         pread: Work around HP-UX 11 bugs.
16187         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16188         and set REPLACE_PREAD if not.
16189         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16190
16191 2010-12-31  Eric Blake  <eblake@redhat.com>
16192
16193         nl_langinfo: fix YESEXPR on Irix 6.5
16194         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16195         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16196         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16197         it.
16198
16199 2010-12-31  Bruno Haible  <bruno@clisp.org>
16200
16201         iconv: Document HP-UX 11 bug.
16202         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16203
16204 2010-12-31  Bruno Haible  <bruno@clisp.org>
16205
16206         ldexpl: Fix link error on HP-UX 11.
16207         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16208         LDEXPL_LIBM, using $ISNANL_LIBM.
16209
16210 2010-12-31  Eric Blake  <eblake@redhat.com>
16211
16212         ftello: avoid compilation failure with SunStudio c89
16213         * lib/ftello.c (ftello): Use lseek, not llseek.
16214
16215         tests: avoid failing coreutils tests on cygwin
16216         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16217         (create_exe_shims_): Return 0 when skipping.
16218
16219 2010-12-31  Bruno Haible  <bruno@clisp.org>
16220
16221         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16222         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16223
16224 2010-12-31  Bruno Haible  <bruno@clisp.org>
16225
16226         waitpid: Fix link error in C++ mode.
16227         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16228
16229 2010-12-31  Bruno Haible  <bruno@clisp.org>
16230
16231         isnan: Use GCC built-ins when possible.
16232         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16233         __builtin_isnan.
16234         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16235         (isnan): Define using GCC built-ins for GCC >= 4.0.
16236
16237 2010-12-31  Bruno Haible  <bruno@clisp.org>
16238
16239         isnand: Fix mistake.
16240         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16241         __builtin_isnand.
16242
16243 2010-12-31  Bruno Haible  <bruno@clisp.org>
16244
16245         open: Avoid C++ error on HP-UX 11.
16246         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16247
16248 2010-12-31  Bruno Haible  <bruno@clisp.org>
16249
16250         time_r: Add missing declarations on HP-UX 11.
16251         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16252         instead of HAVE_LOCALTIME_R.
16253         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16254         HAVE_LOCALTIME_R always.
16255         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16256         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16257         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16258         HAVE_LOCALTIME_R.
16259         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16260         * doc/posix-functions/localtime_r.texi: Likewise.
16261
16262 2010-12-29  Eric Blake  <eblake@redhat.com>
16263
16264         mountlist: tweak previous commit
16265         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16266         Reported by Paul Eggert.
16267
16268         mountlist: fix local drive detection on cygwin
16269         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16270         that works for cygwin.
16271
16272 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16273
16274         ftoastr, snprintf: ftoastr + snprintf module
16275         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16276         since the snprintf module now should be good enough here.
16277         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16278         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16279         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16280         GNULIB_SNPRINTF only for the test directory, and the latter
16281         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16282         seems to suffice by itself.
16283
16284 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16285
16286         alloca: one step towards thread-safety
16287         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16288         need for a static variable.  All callers changed.  This does not
16289         make the alloca replacement thread-safe, but it's one step.
16290
16291         tests: minor indenting change
16292         * tests/init.sh: Sync from coreutils housekeeping patch
16293         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16294         to keep lines within 80 columns.
16295
16296 2010-12-28  Jim Meyering  <meyering@redhat.com>
16297
16298         regex: don't infloop on persistent failing calloc
16299         * lib/regexec.c (build_trtable): Return failure indication upon
16300         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16301         In glibc, this was fixed for version 2.13:
16302         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16303
16304 2010-12-28  Bruno Haible  <bruno@clisp.org>
16305             Paul Eggert <eggert@cs.ucla.edu>
16306
16307         linkat: Make implementation robust against system behaviour variations.
16308         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16309         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16310         way, and to -2 if it needs a generic runtime test.
16311         * lib/linkat.c (solaris_optimized_link_immediate,
16312         solaris_optimized_link_follow): New functions.
16313         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16314         (check_same_link): Use it.
16315
16316 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16317
16318         New module 'unigbrk/base'.
16319         * modules/unigbrk/base: New file.
16320         * lib/unigbrk.in.h: New file.
16321
16322         New module 'unigbrk/uc-gbrk-prop'.
16323         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16324         * modules/unigbrk/uc-gbrk-prop: New file.
16325         * lib/unigbrk/gbrkprop.h: New file.
16326         * lib/unigbrk/uc-gbrk-prop.c: New file.
16327
16328         New module 'unigbrk/uc-is-grapheme-break'.
16329         * modules/unigbrk/uc-is-grapheme-break: New file.
16330         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16331         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16332         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16333         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16334         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16335
16336         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16337
16338 2010-12-27  Bruno Haible  <bruno@clisp.org>
16339
16340         linkat test: Avoid failure on Solaris 11 2010-11.
16341         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16342
16343 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16344
16345         utimens: work around glibc rounding bug on more platforms
16346         * lib/utimens.c (fdutimens): Work around rounding bug even if
16347         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16348         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16349
16350 2010-12-27  Bruno Haible  <bruno@clisp.org>
16351
16352         select tests: Improve comments.
16353         * tests/test-select.c (do_select): Add comments.
16354
16355 2010-12-27  Bruno Haible  <bruno@clisp.org>
16356
16357         select tests: Safer way of handling timeout.
16358         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16359         at every invocation.
16360
16361 2010-12-27  Bruno Haible  <bruno@clisp.org>
16362
16363         select tests: Use 'bool' where appropriate.
16364         * tests/test-select.c (connect_to_socket): Change argument type to
16365         'bool'.
16366
16367 2010-12-27  Bruno Haible  <bruno@clisp.org>
16368
16369         select tests: Use existing modules.
16370         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16371         (configure.ac): Don't test for unistd.h.
16372         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16373         declared in <unistd.h>.
16374
16375 2010-12-27  Bruno Haible  <bruno@clisp.org>
16376
16377         mbrtowc: Work around a Solaris 7 bug.
16378         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16379         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16380         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16381         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16382         MBRTOWC_NULL_ARG1_BUG.
16383         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16384         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16385         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16386         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16387
16388 2010-12-27  Jim Meyering  <meyering@redhat.com>
16389
16390         read-file.c: tweak syntax
16391         * lib/read-file.c (fread_file): Remove space after "*" in function
16392         definitions.
16393
16394 2010-12-27  Bruno Haible  <bruno@clisp.org>
16395
16396         times test: Avoid gcc warnings on OSF/1.
16397         * tests/test-times.c (main): Cast printf arguments from clock_t to
16398         'long int'.
16399
16400 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16401
16402         utimens: work around glibc rounding bug on older Linux kernels
16403         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16404         on Linux with a glibc whose utimes might not work, then work
16405         around a longstanding glibc bug involving rounding rather than
16406         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16407         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16408
16409 2010-12-26  Bruno Haible  <bruno@clisp.org>
16410
16411         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16412         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16413         _GL_CXXALIAS_SYS.
16414         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16415
16416 2010-12-26  Bruno Haible  <bruno@clisp.org>
16417
16418         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16419         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16420         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16421         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16422         looking for the declaration.
16423         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16424         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16425         problem.
16426         * doc/posix-functions/inet_pton.texi: Likewise.
16427
16428 2010-12-26  Bruno Haible  <bruno@clisp.org>
16429
16430         arpa_inet: Use the common idioms with C++ support.
16431         * lib/arpa_inet.in.h: Include c++defs.h.
16432         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16433         support.
16434         * modules/arpa_inet (Depends-on): Add c++defs.
16435         (Makefile.am): Substitute the contents of c++defs.h.
16436         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16437         * modules/arpa_inet-c++-tests: New file.
16438         * tests/test-arpa_inet-c++.cc: New file.
16439
16440 2010-12-25  Bruno Haible  <bruno@clisp.org>
16441
16442         Fix more C++ link errors on Solaris 8.
16443         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16444         $(LIB_EACCESS).
16445         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16446         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16447         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16448         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16449         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16450
16451 2010-12-25  Bruno Haible  <bruno@clisp.org>
16452
16453         printf-posix: Fix link error when a non-GCC compiler is used.
16454         * lib/stdio.in.h (printf): When not using GCC, override printf
16455         correctly.
16456         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16457
16458 2010-12-25  Bruno Haible  <bruno@clisp.org>
16459
16460         strerror_r-posix: Update doc.
16461         * doc/posix-functions/strerror_r.texi: Update doc about the return
16462         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16463
16464 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16465
16466         utimens: simplify the logic of the previous change
16467         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16468         This should not affect whether the test succeeds or fails.
16469
16470         utimens: configure better on hosts with NFS clock skew
16471         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16472         uses the clock of the local host.  It might use the clock of the
16473         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16474         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16475
16476 2010-12-25  Bruno Haible  <bruno@clisp.org>
16477
16478         ptsname test: Avoid failure on Solaris.
16479         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16480         open a pseudo-terminal; don't use BSD-style ptys.
16481         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16482
16483 2010-12-25  Bruno Haible  <bruno@clisp.org>
16484
16485         ptsname: Avoid ERANGE failure on some systems.
16486         * lib/ptsname.c (buffer): Increase size.
16487
16488 2010-12-25  Bruno Haible  <bruno@clisp.org>
16489
16490         rename, renameat: Avoid test failures at NFS mounted locations.
16491         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16492         so that subsequent mkdir calls succeed.
16493
16494 2010-12-25  Bruno Haible  <bruno@clisp.org>
16495
16496         iswblank: Fix C++ link error on Solaris 8.
16497         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16498         _GL_FUNCDECL_SYS.
16499
16500 2010-12-25  Bruno Haible  <bruno@clisp.org>
16501
16502         unistd: Fix C++ link error on Solaris 8.
16503         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16504
16505 2010-12-25  Bruno Haible  <bruno@clisp.org>
16506
16507         readlink doc: Mention an old glibc bug.
16508         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16509
16510 2010-12-25  Bruno Haible  <bruno@clisp.org>
16511
16512         fcntl-h: Fix for use of C++ on glibc systems.
16513         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16514         also on glibc systems in C++ mode.
16515         Reported by Gary V. Vaughan <gary@gnu.org>.
16516
16517 2010-12-25  Bruno Haible  <bruno@clisp.org>
16518
16519         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16520         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16521
16522 2010-12-25  Bruno Haible  <bruno@clisp.org>
16523
16524         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16525         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16526         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16527         test whether truncl works according to ISO C 99 with IEC 60559.
16528         * m4/truncl-ieee.m4: New file.
16529         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16530         m4/signbit.m4.
16531         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16532
16533 2010-12-25  Bruno Haible  <bruno@clisp.org>
16534
16535         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16536         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16537         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16538         test whether ceill works according to ISO C 99 with IEC 60559.
16539         * m4/ceill-ieee.m4: New file.
16540         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16541         m4/signbit.m4.
16542         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16543
16544 2010-12-25  Bruno Haible  <bruno@clisp.org>
16545
16546         Ensure all prerequisites of <wchar.h> are included.
16547         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16548         before <wchar.h>.
16549         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16550         gl_MBRLEN_NUL_RETVAL): Likewise.
16551         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16552         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16553         AC_FUNC_MBRTOWC): Likewise.
16554         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16555         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16556         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16557         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16558         Likewise.
16559         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16560         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16561         (gl_WCHAR_H): Improve comments.
16562         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16563
16564 2010-12-25  Bruno Haible  <bruno@clisp.org>
16565
16566         strtok_r: Fix C syntax error in autoconf macro.
16567         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16568         characters in test program.
16569
16570 2010-12-24  Bruno Haible  <bruno@clisp.org>
16571
16572         ceil, trunc, round: Fix gcc warnings.
16573         * lib/ceil.c (MIN): Undefine before redefining.
16574         * lib/trunc.c (MIN): Likewise.
16575         * lib/round.c (MIN): Likewise.
16576         Include <math.h> first.
16577
16578 2010-12-24  Bruno Haible  <bruno@clisp.org>
16579
16580         select tests: Avoid failures on OSF/1 5.1.
16581         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16582         failure of closing the last socket; it may fail with ECONNRESET.
16583
16584 2010-12-24  Eric Blake  <eblake@redhat.com>
16585
16586         stdint: avoid HP-UX 10.20 preprocessor bug
16587         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16588         than #if.
16589         * tests/test-floor2.c (main): Likewise.
16590         Reported by Peter O'Gorman.
16591
16592         pipe: make obsoletion transition easier
16593         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16594         * modules/pipe (Files): Include revived file.
16595         (Include): Drop reference, to mirror getdate's behavior.
16596
16597 2010-12-24  Bruno Haible  <bruno@clisp.org>
16598
16599         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16600         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16601         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16602         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16603
16604 2010-12-24  Bruno Haible  <bruno@clisp.org>
16605
16606         gethostname: Ensure declaration on NonStop Kernel.
16607         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16608         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16609
16610 2010-12-24  Bruno Haible  <bruno@clisp.org>
16611
16612         sys_select: Ensure all necessary types on NonStop Kernel.
16613         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16614         include <sys/time.h>.
16615         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16616         NonStop Kernel.
16617         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16618
16619 2010-12-24  Bruno Haible  <bruno@clisp.org>
16620
16621         sys_select: Remove unneeded include.
16622         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16623         have <sys/select.h>.
16624
16625 2010-12-24  Bruno Haible  <bruno@clisp.org>
16626
16627         gethostname: Provide a fallback for HOST_NAME_MAX.
16628         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16629         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16630         instead.
16631         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16632
16633 2010-12-24  Bruno Haible  <bruno@clisp.org>
16634
16635         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16636         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16637         (SA_RESTART): Likewise.
16638         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16639
16640 2010-12-24  Bruno Haible  <bruno@clisp.org>
16641
16642         signal: Define NSIG.
16643         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16644         * tests/test-signal.c (nsig): New variable.
16645         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16646
16647 2010-12-24  Bruno Haible  <bruno@clisp.org>
16648
16649         rename, renameat: Avoid test failures on OSF/1 5.1.
16650         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16651         alternative error codes.
16652         * tests/test-renameat.c (main): Likewise.
16653
16654 2010-12-24  Bruno Haible  <bruno@clisp.org>
16655
16656         *printf: Detect large precisions bug on Solaris 10/SPARC.
16657         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16658         by Paul Eggert.
16659         * tests/test-snprintf-posix.h (test_function): Add this test code here
16660         too.
16661         * tests/test-sprintf-posix.h (test_function): Likewise.
16662         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16663         * tests/test-vasprintf-posix.c (test_function): Likewise.
16664         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16665         around by gnulib.
16666         * doc/posix-functions/printf.texi: Likewise.
16667         * doc/posix-functions/snprintf.texi: Likewise.
16668         * doc/posix-functions/sprintf.texi: Likewise.
16669         * doc/posix-functions/vfprintf.texi: Likewise.
16670         * doc/posix-functions/vprintf.texi: Likewise.
16671         * doc/posix-functions/vsnprintf.texi: Likewise.
16672         * doc/posix-functions/vsprintf.texi: Likewise.
16673         * doc/posix-functions/dprintf.texi: Undo last commit.
16674         * doc/posix-functions/vdprintf.texi: Likewise.
16675
16676 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16677
16678         tests: port test-fdutimensat.c to Solaris 8
16679         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16680         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16681         On Solaris 8, it fails with errno == ENOSYS, because there is no
16682         futimens (so it can't use the fd), and there is no lutimens (so it
16683         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16684
16685         vsnprintf: make more consistent with snprintf; doc fixes
16686
16687         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16688         the byte count return problem was promoted from the snprintf-posix
16689         to the snprintf module.
16690         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16691         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16692         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16693         * tests/test-snprintf.c (main): Check the byte count returned.
16694         * tests/test-vsnprintf.c (main): Likewise.
16695
16696 2010-12-23  Eric Blake  <eblake@redhat.com>
16697
16698         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16699         * modules/sigpipe (License): Relax license.
16700
16701 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16702
16703         doc: document Solaris printf bug with large float precisions
16704         * doc/posix-functions/dprintf.texi (dprintf):
16705         * doc/posix-functions/fprintf.texi (fprintf):
16706         * doc/posix-functions/printf.texi (printf):
16707         * doc/posix-functions/snprintf.texi (snprintf):
16708         * doc/posix-functions/sprintf.texi (sprintf):
16709         * doc/posix-functions/vdprintf.texi (vdprintf):
16710         * doc/posix-functions/vfprintf.texi (vfprintf):
16711         * doc/posix-functions/vprintf.texi (vprintf):
16712         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16713         * doc/posix-functions/vsprintf.texi (vsprintf):
16714         Mention that these functions mishandle large floating point
16715         precisions on Solaris 10.  The same bug is also present in Solaris
16716         8, and I assume earlier.  This causes "cd gnulib-tests; make
16717         check" to fail on Solaris 8 (and I assume, later) when building
16718         the latest coreutils, in test-vasprintf-posix's call to
16719         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16720         the wide flavors (e.g., wprintf) so this patch just updates the
16721         documentation for the narrow ones.
16722
16723         test-posixtm.c: add two tests
16724         * tests/test-posixtm.c: Add two tests, to highlight the
16725         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16726         around this bug; this is merely to document it.
16727
16728 2010-12-22  Bruno Haible  <bruno@clisp.org>
16729
16730         getlogin_r: Work around portability problem on OSF/1.
16731         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16732         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16733         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16734         test for a truncated result.
16735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16736         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16737         * modules/getlogin_r (Depends-on): Add memchr.
16738         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16739
16740 2010-12-22  Bruno Haible  <bruno@clisp.org>
16741
16742         ptsname: Avoid test failure on OSF/1 5.1.
16743         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16744         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16745         (same_slave): New function.
16746         (main): Use it to compare ptsname's result with the expected file name.
16747
16748 2010-12-22  Bruno Haible  <bruno@clisp.org>
16749
16750         Port extended stdio modules to HP NonStop Kernel.
16751         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16752         macros.
16753         * lib/fbufmode.c: Update comments.
16754         * lib/fflush.c: Likewise.
16755         * lib/fpurge.c: Likewise.
16756         * lib/freadable.c: Likewise.
16757         * lib/freadahead.c: Likewise.
16758         * lib/freading.c: Likewise.
16759         * lib/freadptr.c: Likewise.
16760         * lib/freadseek.c: Likewise.
16761         * lib/fseeko.c: Likewise.
16762         * lib/fseterr.c: Likewise.
16763         * lib/fwritable.c: Likewise.
16764         * lib/fwriting.c: Likewise.
16765         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16766
16767 2010-12-22  Bruno Haible  <bruno@clisp.org>
16768
16769         ttyname_r: Work around bug on OSF/1 5.1.
16770         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16771         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16772         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16773         present.
16774         * lib/ttyname_r.c (ttyname_r): Update comments.
16775
16776 2010-12-22  Bruno Haible  <bruno@clisp.org>
16777
16778         round: Implement result sign according to IEEE 754.
16779         * lib/round.c (MIN, MINUS_ZERO): New macros.
16780         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16781         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16782         * tests/test-round-ieee.c (main): Likewise.
16783         * tests/test-roundl-ieee.c (main): Likewise.
16784
16785         trunc: Implement result sign according to IEEE 754.
16786         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16787         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16788         * tests/test-trunc2.c: Include minus-zero.h.
16789         (MINUS_ZERO): New macro.
16790         (trunc_reference): Keep in sync with lib/trunc.c.
16791         * tests/test-truncf2.c: Include minus-zero.h.
16792         (MINUS_ZERO): New macro.
16793         (truncf_reference): Keep in sync with lib/trunc.c.
16794         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16795         * tests/test-trunc-ieee.c (main): Likewise.
16796         * tests/test-truncl-ieee.c (main): Likewise.
16797
16798         ceil: Implement result sign according to IEEE 754.
16799         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16800         (FUNC): Return -0.0 for -1 < x < 0.
16801         * tests/test-ceil2.c: Include minus-zero.h.
16802         (MINUS_ZERO): New macro.
16803         (ceil_reference): Keep in sync with lib/ceil.c.
16804         * tests/test-ceilf2.c: Include minus-zero.h.
16805         (MINUS_ZERO): New macro.
16806         (ceilf_reference): Keep in sync with lib/ceil.c.
16807         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16808         * tests/test-ceil-ieee.c (main): Likewise.
16809         * tests/test-ceill-ieee.c (main): Likewise.
16810
16811         floor: Implement result sign according to IEEE 754.
16812         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16813         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16814         * tests/test-floorf2.c (floorf_reference): Likewise.
16815         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16816         * tests/test-floor-ieee.c (main): Likewise.
16817         * tests/test-floorl-ieee.c (main): Likewise.
16818
16819 2010-12-22  Bruno Haible  <bruno@clisp.org>
16820
16821         getaddrinfo: Update doc.
16822         * doc/posix-functions/gai_strerror.texi: Return type is also different
16823         on AIX and HP-UX.
16824
16825 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16826
16827         getaddrinfo, inet_ntop: Update doc for Solaris.
16828         * doc/posix-functions/gai_strerror.texi: Return type is also an
16829         issue on Solaris 9 and earlier.
16830         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16831         on Solaris 10 and earlier.
16832
16833 2010-12-21  Bruno Haible  <bruno@clisp.org>
16834
16835         New module 'roundl-ieee'.
16836         * modules/roundl-ieee: New file.
16837         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16838         test whether roundl works according to ISO C 99 with IEC 60559.
16839         * m4/roundl-ieee.m4: New file.
16840         * modules/roundl-ieee-tests: New file.
16841         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16842         * tests/test-roundl.c (main): Remove signbit tests.
16843         * modules/roundl-tests (Depends-on): Remove signbit.
16844         * doc/posix-functions/roundl.texi: Mention the new module.
16845
16846 2010-12-21  Bruno Haible  <bruno@clisp.org>
16847
16848         New module 'truncl-ieee'.
16849         * modules/truncl-ieee: New file.
16850         * modules/truncl-ieee-tests: New file.
16851         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16852         * tests/test-truncl.c (main): Remove signbit tests.
16853         * modules/truncl-tests (Depends-on): Remove signbit.
16854         * doc/posix-functions/truncl.texi: Mention the new module.
16855
16856 2010-12-21  Bruno Haible  <bruno@clisp.org>
16857
16858         New module 'ceill-ieee'.
16859         * modules/ceill-ieee: New file.
16860         * modules/ceill-ieee-tests: New file.
16861         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16862         * tests/test-ceill.c (main): Remove signbit tests.
16863         * modules/ceill-tests (Depends-on): Remove signbit.
16864         * doc/posix-functions/ceill.texi: Mention the new module.
16865
16866 2010-12-21  Bruno Haible  <bruno@clisp.org>
16867
16868         New module 'floorl-ieee'.
16869         * modules/floorl-ieee: New file.
16870         * modules/floorl-ieee-tests: New file.
16871         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16872         * tests/test-floorl.c (main): Remove signbit tests.
16873         * modules/floorl-tests (Depends-on): Remove signbit.
16874         * doc/posix-functions/floorl.texi: Mention the new module.
16875
16876 2010-12-21  Bruno Haible  <bruno@clisp.org>
16877
16878         New module 'round-ieee'.
16879         * modules/round-ieee: New file.
16880         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16881         whether round works according to ISO C 99 with IEC 60559.
16882         * m4/round-ieee.m4: New file.
16883         * modules/round-ieee-tests: New file.
16884         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16885         * tests/test-round1.c (main): Remove signbit tests.
16886         * modules/round-tests (Depends-on): Remove 'signbit'.
16887         * doc/posix-functions/round.texi: Mention the new module.
16888
16889 2010-12-21  Bruno Haible  <bruno@clisp.org>
16890
16891         New module 'trunc-ieee'.
16892         * modules/trunc-ieee: New file.
16893         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16894         whether trunc works according to ISO C 99 with IEC 60559.
16895         * m4/trunc-ieee.m4: New file.
16896         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16897         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16898         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16899         * modules/trunc-ieee-tests: New file.
16900         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16901         * tests/test-trunc1.c (main): Remove signbit tests.
16902         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16903         * doc/posix-functions/trunc.texi: Mention the new module.
16904
16905 2010-12-21  Bruno Haible  <bruno@clisp.org>
16906
16907         New module 'ceil-ieee'.
16908         * modules/ceil-ieee: New file.
16909         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16910         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16911         ISO C 99 with IEC 60559.
16912         * m4/ceil-ieee.m4: New file.
16913         * modules/ceil (Files): Add lib/ceil.c.
16914         (Depends-on): Add 'float'.
16915         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16916         * lib/math.in.h (ceil): New declaration.
16917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16918         REPLACE_CEIL.
16919         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16920         * modules/ceil-ieee-tests: New file.
16921         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16922         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16923         * doc/posix-functions/ceil.texi: Mention the new module.
16924
16925 2010-12-21  Bruno Haible  <bruno@clisp.org>
16926
16927         New module 'floor-ieee'.
16928         * modules/floor-ieee: New file.
16929         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
16930         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
16931         ISO C 99 with IEC 60559.
16932         * m4/floor-ieee.m4: New file.
16933         * modules/floor (Files): Add lib/floor.c.
16934         (Depends-on): Add 'float'.
16935         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16936         * lib/math.in.h (floor): New declaration.
16937         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
16938         REPLACE_FLOOR.
16939         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
16940         * modules/floor-ieee-tests: New file.
16941         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
16942         * tests/test-math-c++.cc: Check the signature of 'floor'.
16943         * doc/posix-functions/floor.texi: Mention the new module.
16944
16945 2010-12-21  Bruno Haible  <bruno@clisp.org>
16946
16947         New module 'roundf-ieee'.
16948         * modules/roundf-ieee: New file.
16949         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
16950         test whether roundf works according to ISO C 99 with IEC 60559.
16951         * m4/roundf-ieee.m4: New file.
16952         * modules/roundf-ieee-tests: New file.
16953         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
16954         * tests/test-roundf1.c (main): Remove signbit tests.
16955         * modules/roundf-tests (Depends-on): Remove 'signbit'.
16956         * doc/posix-functions/roundf.texi: Mention the new module.
16957
16958 2010-12-21  Bruno Haible  <bruno@clisp.org>
16959
16960         New module 'truncf-ieee'.
16961         * modules/truncf-ieee: New file.
16962         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
16963         test whether truncf works according to ISO C 99 with IEC 60559.
16964         * m4/truncf-ieee.m4: New file.
16965         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
16966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
16967         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
16968         * modules/truncf-ieee-tests: New file.
16969         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
16970         * tests/test-truncf1.c (main): Remove signbit tests.
16971         * modules/truncf-tests (Depends-on): Remove 'signbit'.
16972         * doc/posix-functions/truncf.texi: Mention the new module.
16973
16974 2010-12-21  Bruno Haible  <bruno@clisp.org>
16975
16976         New module 'ceilf-ieee'.
16977         * modules/ceilf-ieee: New file.
16978         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
16979         test whether ceilf works according to ISO C 99 with IEC 60559.
16980         * m4/ceilf-ieee.m4: New file.
16981         * modules/ceilf-ieee-tests: New file.
16982         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
16983         * tests/test-ceilf1.c (main): Remove signbit tests.
16984         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
16985         * doc/posix-functions/ceilf.texi: Mention the new module.
16986
16987 2010-12-21  Bruno Haible  <bruno@clisp.org>
16988
16989         New module 'floorf-ieee'.
16990         * modules/floorf-ieee: New file.
16991         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
16992         test whether floorf works according to ISO C 99 with IEC 60559.
16993         * m4/floorf-ieee.m4: New file.
16994         * modules/floorf-ieee-tests: New file.
16995         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
16996         * tests/test-floorf1.c (main): Remove signbit tests.
16997         * modules/floorf-tests (Depends-on): Remove 'signbit'.
16998         * doc/posix-functions/floorf.texi: Mention the new module.
16999
17000 2010-12-21  Bruno Haible  <bruno@clisp.org>
17001
17002         Support for minus zero in autoconf macros.
17003         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17004         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17005         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17006         * tests/minus-zero.h: Update comments.
17007
17008 2010-12-21  Bruno Haible  <bruno@clisp.org>
17009
17010         Tests for module 'ceil'.
17011         * modules/ceil-tests: New file.
17012         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17013         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17014
17015 2010-12-21  Bruno Haible  <bruno@clisp.org>
17016
17017         Tests for module 'floor'.
17018         * modules/floor-tests: New file.
17019         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17020         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17021
17022 2010-12-21  Bruno Haible  <bruno@clisp.org>
17023
17024         math: Fix indentation.
17025         * lib/math.in.h (floorf): Fix indentation.
17026
17027 2010-12-21  Bruno Haible  <bruno@clisp.org>
17028
17029         Fix cross-compilation guesses on Solaris.
17030         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17031         not match "solaris2.10".
17032         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17033         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17034         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17035
17036 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17037
17038         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17039         This fixes a problem observed with the latest coreutils snapshot
17040         that caused a test to fail on Solaris 8.  src/csplit.c's call
17041         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17042         earlier, instead of returning the number of bytes that would have
17043         been generated; this causes csplit to incorrectly report memory
17044         exhaustion.
17045         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17046         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17047         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17048         comments to match.
17049         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17050         Fix typo in matching older versions of Solaris: "solaris2.10"
17051         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17052         only for guessing while cross-compiling.
17053         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17054
17055 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17056
17057         ftoastr: fix comment again
17058         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17059         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17060         Also, simplify example a bit by using flags = 0.
17061
17062 2010-12-20  Bruno Haible  <bruno@clisp.org>
17063
17064         round*, trunc*: Update documentation regarding glibc.
17065         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17066         * doc/posix-functions/round.texi: Likewise.
17067         * doc/posix-functions/roundl.texi: Likewise.
17068         * doc/posix-functions/truncf.texi: Likewise.
17069         * doc/posix-functions/trunc.texi: Likewise.
17070         * doc/posix-functions/truncl.texi: Likewise.
17071
17072 2010-12-20  Bruno Haible  <bruno@clisp.org>
17073
17074         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17075         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17076         * doc/posix-functions/round.texi: Likewise.
17077         * doc/posix-functions/roundl.texi: Likewise.
17078
17079 2010-12-20  Bruno Haible  <bruno@clisp.org>
17080
17081         ttyname_r: Add missing declaration on HP-UX 11.
17082         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17083         HAVE_TTYNAME_R.
17084         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17085         declared. Set HAVE_TTYNAME_R always.
17086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17087         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17088         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17089         HAVE_TTYNAME_R.
17090         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17091
17092 2010-12-20  Bruno Haible  <bruno@clisp.org>
17093
17094         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17095         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17096         * doc/posix-functions/getlogin_r.texi: Likewise.
17097         * tests/test-getlogin.c: Include <errno.h>.
17098         (main): Avoid test failure on HP-UX 11.11.
17099         * tests/test-getlogin_r.c (main): Likewise.
17100
17101 2010-12-20  Bruno Haible  <bruno@clisp.org>
17102
17103         getlogin_r: Add missing declaration on HP-UX 11.
17104         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17105         declared also when it exists as a function.
17106         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17107
17108 2010-12-20  Bruno Haible  <bruno@clisp.org>
17109
17110         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17111         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17112         through wcrtomb.
17113
17114 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17115
17116         ftoastr: fix comment
17117         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17118         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17119
17120 2010-12-19  Bruno Haible  <bruno@clisp.org>
17121
17122         isnan: Ensure it is a macro.
17123         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17124         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17125         Solaris.
17126
17127 2010-12-19  Bruno Haible  <bruno@clisp.org>
17128
17129         ldexpl test: Fix link error on OSF/1 5.1.
17130         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17131
17132 2010-12-19  Bruno Haible  <bruno@clisp.org>
17133
17134         wctype: Make it work in C++ mode on OSF/1 5.1.
17135         * lib/wctype.in.h (iswblank): Declare but not define here.
17136         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17137         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17138         * modules/wctype (Files): Add lib/iswblank.c.
17139
17140 2010-12-19  Bruno Haible  <bruno@clisp.org>
17141
17142         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17143         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17144         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17145
17146 2010-12-19  Bruno Haible  <bruno@clisp.org>
17147
17148         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17149         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17150         _POSIX_PII_SOCKET.
17151         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17152         * doc/posix-functions/recvfrom.texi: Likewise.
17153         * doc/posix-functions/send.texi: Likewise.
17154         * doc/posix-functions/sendto.texi: Likewise.
17155
17156 2010-12-19  Bruno Haible  <bruno@clisp.org>
17157
17158         tcgetsid: Add missing declaration on OSF/1 5.1.
17159         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17160         HAVE_TCGETSID.
17161         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17162         Don't set HAVE_TCGETSID.
17163         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17164         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17165         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17166         HAVE_TCGETSID.
17167         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17168
17169 2010-12-19  Bruno Haible  <bruno@clisp.org>
17170
17171         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17172         * lib/stdio.in.h: During the include_next statement, let recursive
17173         includes of this file include only the system header file.
17174
17175 2010-12-19  Bruno Haible  <bruno@clisp.org>
17176
17177         iconv_open: Fix regression from 2010-12-04.
17178         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17179         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17180
17181 2010-12-19  Bruno Haible  <bruno@clisp.org>
17182
17183         stdbool test: Avoid a gcc warning.
17184         * tests/test-stdbool.c (main): Fail if e1 is false.
17185         Reported by Jim Meyering.
17186
17187 2010-12-19  Jim Meyering  <meyering@redhat.com>
17188
17189         setenv: restore to working order
17190         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17191         mistakenly removed.
17192         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17193         HAVE_SETENV.
17194         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17195         HAVE_SETENV.
17196
17197 2010-12-19  Bruno Haible  <bruno@clisp.org>
17198
17199         Document some different function declarations on OSF/1 5.1.
17200         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17201         * doc/posix-functions/inet_ntop.texi: Likewise.
17202         * doc/posix-functions/gethostname.texi: Likewise.
17203         * lib/unistd.in.h (gethostname): Update comment.
17204
17205 2010-12-19  Bruno Haible  <bruno@clisp.org>
17206
17207         doc: Mention vasprintf-posix module.
17208         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17209         the 'vasprintf-posix' module.
17210         * doc/glibc-functions/vasprintf.texi: Likewise.
17211
17212 2010-12-19  Bruno Haible  <bruno@clisp.org>
17213
17214         unsetenv: Add missing declaration on OSF/1 5.1.
17215         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17216         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17217         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17218         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17219         not HAVE_UNSETENV.
17220         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17221         HAVE_UNSETENV.
17222         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17223
17224 2010-12-19  Bruno Haible  <bruno@clisp.org>
17225
17226         setenv: Add missing declaration on OSF/1 5.1.
17227         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17228         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17229         declared. Don't set HAVE_SETENV.
17230         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17231         not HAVE_SETENV.
17232         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17233         HAVE_SETENV.
17234         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17235
17236 2010-12-19  Bruno Haible  <bruno@clisp.org>
17237
17238         nl_langinfo tests: Avoid gcc warning.
17239         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17240
17241 2010-12-19  Bruno Haible  <bruno@clisp.org>
17242
17243         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17244         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17245         _GL_CXXALIAS_SYS.
17246
17247 2010-12-19  Bruno Haible  <bruno@clisp.org>
17248
17249         stdbool: Relax test.
17250         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17251         address to 'bool' work in static initializer, for compilers other than
17252         GCC.
17253
17254 2010-12-19  Bruno Haible  <bruno@clisp.org>
17255
17256         ftello: Add missing declaration on OSF/1 5.1.
17257         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17258         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17260         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17261         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17262
17263 2010-12-19  Bruno Haible  <bruno@clisp.org>
17264
17265         fseeko: Add missing declaration on OSF/1 5.1.
17266         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17267         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17269         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17270         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17271
17272 2010-12-19  Bruno Haible  <bruno@clisp.org>
17273
17274         fchdir: Add missing declaration on OSF/1 5.1.
17275         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17276         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17278         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17279         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17280
17281 2010-12-19  Bruno Haible  <bruno@clisp.org>
17282
17283         relocatable-prog-wrapper: Separate from relocatable-prog.
17284         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17285         uninstall-relocwrapper rule here.
17286         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17287         Reported by Ian Beckwith <ianb@erislabs.net>.
17288
17289 2010-12-19  Bruno Haible  <bruno@clisp.org>
17290
17291         unistr/u8-mbsnlen: Add missing dependency.
17292         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17293         Reported by Ian Beckwith <ianb@erislabs.net>.
17294
17295 2010-12-19  Bruno Haible  <bruno@clisp.org>
17296
17297         iconv: Make it possible again to use this module without 'iconv-h'.
17298         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17299         if it is not defined.
17300         Reported by Ian Beckwith <ianb@erislabs.net>.
17301
17302 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17303
17304         acl: port to Solaris 8 when copying from tmpfs to ufs
17305         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17306         error number.  Problem observed on Solaris 8 with latest
17307         coreutils, with "mv A B", where A is on a tmpfs file system and B
17308         is on a ufs file system.  This caused coreutils' mv/part-symlink
17309         test to fail.
17310
17311         tests: set fail=0 at start
17312         * tests/init.sh (setup_): Move fail=0 initialization here ...
17313         (mktempd_): ... from here, so that tests can rely on fail being
17314         set to 0 initially.  This fixes a problem in coreutils; see:
17315         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17316
17317 2010-12-18  Bruno Haible  <bruno@clisp.org>
17318
17319         memmem-simple: Stylistic changes.
17320         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17321         Fix preprocessor directive indentation.
17322
17323 2010-12-15  Pádraig Brady <P@draigBrady.com>
17324
17325         memmem, memmem-simple: reorganize and expand empty needle check
17326         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17327         functional checks to memmem-simple so that one has a fully functional
17328         memmem by using just this module.
17329         Restrict the performance only check to the memmem module.
17330         Also expand the empty needle check to ensure the correct
17331         pointer is returned, not just a non NULL pointer.
17332         * doc/glibc-functions/memmem.texi: Rearrange the portability
17333         documentation to correlate with the rearranged checks.
17334         Clarify exactly how the memmem and memmem-simple modules
17335         relate to each other.
17336
17337 2010-12-15  Pádraig Brady <P@draigBrady.com>
17338             Bruno Haible  <bruno@clisp.org>
17339
17340         Improve cross-compilation guesses for uClibc.
17341         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17342         that uClibc does not have the glibc bug.
17343         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17344         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17345
17346 2010-12-14  Eric Blake  <eblake@redhat.com>
17347
17348         configmake: provide fallbacks for oldest supported autotools
17349         * m4/configmake.m4: New file.
17350         * modules/configmake (Files): Ship it.
17351         (configure.ac): Use it to guarantee fallbacks.
17352
17353 2010-12-13  Pádraig Brady <P@draigBrady.com>
17354
17355         read-file: Improve handling of large files
17356         * lib/read-file.c (fread_file): Minimize realloc()s
17357         for regular files, and better manage sizes around SIZE_MAX.
17358
17359 2010-12-13  Eric Blake  <eblake@redhat.com>
17360
17361         cloexec, fcntl: relax license
17362         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17363         consent from all contributors.
17364         * modules/fcntl (License): Likewise.
17365
17366 2010-12-10  Bruno Haible  <bruno@clisp.org>
17367
17368         Tests for module 'pipe-posix'.
17369         * modules/pipe-posix-tests: New file.
17370         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17371
17372 2010-12-10  Bruno Haible  <bruno@clisp.org>
17373
17374         pipe-posix: Make it work in C++ mode.
17375         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17376         (pipe): Use common idiom, not a macro definition.
17377         * lib/pipe.c: New file.
17378         * m4/pipe.m4: New file.
17379         * modules/pipe-posix (Description): Enhance.
17380         (Files): Add lib/pipe.c, m4/pipe.m4.
17381         (configure.ac): Invoke gl_FUNC_PIPE.
17382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17383         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17384         * tests/test-unistd-c++.cc: Check the signature of pipe.
17385
17386 2010-12-10  Bruno Haible  <bruno@clisp.org>
17387
17388         Rename module 'pipe' to 'spawn-pipe'.
17389         * modules/spawn-pipe: New file, renamed from modules/pipe.
17390         (Files, configure.ac, Makefile.am): Update.
17391         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17392         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17393         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17394         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17395         "spawn-pipe.h" instead of "pipe.h".
17396         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17397         to gl_SPAWN_PIPE.
17398         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17399         (Files, Makefile.am): Update.
17400         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17401         Update.
17402         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17403         Include "spawn-pipe.h" instead of "pipe.h".
17404         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17405         * lib/javacomp.c: Likewise.
17406         * lib/javaversion.c: Likewise.
17407         * lib/pipe-filter-gi.c: Likewise.
17408         * lib/pipe-filter-ii.c: Likewise.
17409         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17410         * modules/javacomp (Depends-on): Likewise.
17411         * modules/javaversion (Depends-on): Likewise.
17412         * modules/pipe-filter-gi (Depends-on): Likewise.
17413         * modules/pipe-filter-ii (Depends-on): Likewise.
17414         * MODULES.html.sh (Executing programs): Update.
17415         * NEWS: Mention the change.
17416
17417 2010-12-10  Eric Blake  <eblake@redhat.com>
17418
17419         pipe-posix: new module
17420         * modules/pipe-posix: New file.
17421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17422         (gl_UNISTD_H): Check for declaration.
17423         * modules/unistd (Makefile.am): Substitute it.
17424         * lib/unistd.in.h (pipe): Provide it for mingw.
17425         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17426         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17427
17428 2010-12-07  Bruno Haible  <bruno@clisp.org>
17429
17430         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17431         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17432         u8_strcmp_gnu.
17433         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17434
17435 2010-12-06  Bruno Haible  <bruno@clisp.org>
17436
17437         Update internal documentation.
17438         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17439
17440 2010-12-04  Bruno Haible  <bruno@clisp.org>
17441
17442         Put more information about failed tests into the test return codes.
17443         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17444         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17445         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17446         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17447         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17448         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17449         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17450         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17451         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17452         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17453         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17454         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17455         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17456         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17457         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17458         returns a bit mask.
17459         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17460         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17461         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17462         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17463         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17464         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17465         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17466         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17467         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17468         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17469         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17470         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17471         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17472         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17473         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17474         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17475         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17476         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17477         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17478         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17479         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17480         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17481         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17482         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17483         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17484         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17485         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17486         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17487         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17488         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17489         gl_PRINTF_PRECISION): Likewise.
17490         * m4/regex.m4 (gl_REGEX): Likewise.
17491         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17492         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17493         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17494         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17495         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17496         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17497         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17498         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17499         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17500         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17501         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17502         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17503         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17504         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17505         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17506         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17507         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17508         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17509         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17510         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17511         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17512         enumerated value.
17513         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17514
17515 2010-12-04  Bruno Haible  <bruno@clisp.org>
17516
17517         Update for Solaris 11 2010-11.
17518         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17519         Express, released in November 2010.
17520
17521 2010-12-04  Bruno Haible  <bruno@clisp.org>
17522
17523         nproc: Relax license.
17524         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17525         and Paul Eggert.
17526         Requested by Ludovic Courtès <ludo@gnu.org>.
17527
17528 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17529
17530         utimecmp: fine-grained src to nearby coarse-grained dest
17531
17532         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17533         and the source is on a file system with higher-resolution time
17534         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17535         not work, and the time stamps are close together, the algorithm to
17536         determine the exact resolution from the read-back mtime was buggy:
17537         it had a "!=" where it should have had an "==".  This bug has been
17538         in the code ever since it was introduced to gnulib.
17539         Problem reported by Dan Jacobson in
17540         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17541
17542 2010-11-30  Bruno Haible  <bruno@clisp.org>
17543
17544         strerror_r-posix: Fix autoconf test.
17545         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17546
17547 2010-11-28  Bruno Haible  <bruno@clisp.org>
17548             Paul Eggert  <eggert@cs.ucla.edu>
17549
17550         Tests for module 'getdomainname'.
17551         * modules/getdomainname-tests: New file.
17552         * tests/test-getdomainname.c: New file, based on
17553         tests/test-gethostname.c.
17554
17555 2010-11-28  Bruno Haible  <bruno@clisp.org>
17556             Paul Eggert  <eggert@cs.ucla.edu>
17557
17558         getdomainname: Use the system function when possible.
17559         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17560         (getdomainname): Replace if needed. Provide the declaration if it is
17561         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17562         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17563         (getdomainname): When the system has getdomainname, call the system
17564         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17565         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17566         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17567         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17568         the function if its second argument is of type 'int' or if it is found
17569         in libnsl.
17570         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17571         <sys/systeminfo.h> and sysinfo().
17572         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17574         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17575         HAVE_GETDOMAINNAME.
17576         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17577         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17578         * doc/glibc-functions/getdomainname.texi: Document the problems with
17579         the getdomainname declaration.
17580
17581 2010-11-28  Bruno Haible  <bruno@clisp.org>
17582
17583         sys_socket: Ensure ss_family field on AIX.
17584         * lib/sys_socket.in.h (ss_family): New macro definition.
17585         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17586         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17587         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17588         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17589         * modules/sys_socket (Makefile.am): Substitute
17590         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17591         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17592
17593 2010-11-27  Bruno Haible  <bruno@clisp.org>
17594
17595         readline: Improve configure output.
17596         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17597         "checking for readline..." result understandable.
17598
17599 2010-11-27  Bruno Haible  <bruno@clisp.org>
17600
17601         *printf-posix: Detect a bug on Solaris 10/x86.
17602         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17603         for floating-point output.
17604         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17605         directive.
17606         * tests/test-snprintf-posix.h (test_function): Likewise.
17607         * tests/test-sprintf-posix.h (test_function): Likewise.
17608         * tests/test-vasprintf-posix.c (test_function): Likewise.
17609         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17610         * doc/posix-functions/printf.texi: Likewise.
17611         * doc/posix-functions/snprintf.texi: Likewise.
17612         * doc/posix-functions/sprintf.texi: Likewise.
17613         * doc/posix-functions/vfprintf.texi: Likewise.
17614         * doc/posix-functions/vprintf.texi: Likewise.
17615         * doc/posix-functions/vsnprintf.texi: Likewise.
17616         * doc/posix-functions/vsprintf.texi: Likewise.
17617         * doc/glibc-functions/obstack_printf.texi: Likewise.
17618         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17619
17620 2010-11-27  Bruno Haible  <bruno@clisp.org>
17621
17622         Fix link error when module libunistring-optional is in use.
17623         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17624         * modules/striconveha-tests (Makefile.am): Likewise.
17625
17626 2010-11-27  Bruno Haible  <bruno@clisp.org>
17627
17628         regex: Mention link dependencies.
17629         * modules/regex (Link): New section.
17630         * modules/rpmatch (Link): Likewise.
17631         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17632
17633 2010-11-27  Bruno Haible  <bruno@clisp.org>
17634
17635         ftoastr: Fix compilation error on Solaris.
17636         * lib/ftoastr.c: Include <config.h>.
17637
17638 2010-11-27  Bruno Haible  <bruno@clisp.org>
17639
17640         getloadavg: Update documentation.
17641         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17642
17643 2010-11-27  Bruno Haible  <bruno@clisp.org>
17644
17645         sys_socket: Fix test whether the functions are declared.
17646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17647         not <sys/select.h>.
17648
17649 2010-11-27  Bruno Haible  <bruno@clisp.org>
17650
17651         getpass: Make sure to get system declaration on some platforms.
17652         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17653         gl_USE_SYSTEM_EXTENSIONS.
17654         * modules/getpass (Depends-on): Add extensions.
17655
17656 2010-11-26  Bruno Haible  <bruno@clisp.org>
17657
17658         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17659         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17660         'iconv' module is present.
17661         (ICONV_CONST): New macro.
17662         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17663         ICONV_CONST.
17664         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17665         set ICONV_CONST.
17666         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17667         here.
17668         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17669         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17670         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17671         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17672         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17673         present.
17674
17675 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17676
17677         ftoastr: comment fix
17678         * lib/ftoastr.c: "little" -> "little or no" in comment
17679
17680 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17681
17682         stdint: port to GCC 4.3 + OSX + Octave
17683         On this platform, stdint.h is buggy and defines int64_t to long
17684         long int.  The replacement defined it to long int, causing
17685         problems with C++ style name mangling.  Instead, trust the system
17686         definition if INT64_MAX is defined, and likewise for the unsigned
17687         variant.   Problem reported by Jarno Rajahalme in
17688         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17689         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17690         and don't mess with int64_t and INT64_MAX in this case.
17691         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17692
17693 2010-11-24  Bruno Haible  <bruno@clisp.org>
17694
17695         doc: Corrections regarding MacOS X 10.4 and 10.5.
17696         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17697         MacOS X.
17698         Reported by Simon Josefsson.
17699
17700 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17701
17702         Uninstall ".bin" files installed by relocwrapper.
17703         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17704         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17705         unless it is already there.
17706
17707 2010-11-21  Bruno Haible  <bruno@clisp.org>
17708
17709         Update for NetBSD 5.0.
17710         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17711         NetBSD; the test fails on NetBSD 5.0.
17712         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17713         about NetBSD.
17714
17715 2010-11-21  Bruno Haible  <bruno@clisp.org>
17716
17717         Update for HP-UX 11.23 and HP-UX 11.31.
17718         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17719         HP-UX.
17720
17721 2010-11-21  Bruno Haible  <bruno@clisp.org>
17722
17723         Update for MacOS X 10.5.
17724         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17725         MacOS X; the test fails on MacOS X 10.5.8.
17726         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17727         about MacOS X.
17728
17729 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17730
17731         bootstrap: add bootstrap_sync option.
17732         See discussion at
17733         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17734         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17735         * build-aux/bootstrap: Accept --bootstrap-sync to update
17736         bootstrap if it is not identical to the local gnulib's
17737         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17738         enable this by default.  Accept --no-bootstrap-sync to disable
17739         it.
17740
17741 2010-11-20  Bruno Haible  <bruno@clisp.org>
17742
17743         Ensure that <features.h> is included before __GLIBC__ is tested.
17744         * lib/printf-parse.h: Include <features.h>.
17745         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17746         Reported by Mike Frysinger <vapier@gentoo.org>.
17747
17748         Ensure that <features.h> is included before __GLIBC__ is tested.
17749         * lib/wchar.in.h: Include <features.h>.
17750         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17751         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17752         Reported by Mike Frysinger <vapier@gentoo.org>.
17753
17754         Ensure that <features.h> is included before __GLIBC__ is tested.
17755         * lib/arpa_inet.in.h: Include <features.h>.
17756         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17757         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17758         Reported by Mike Frysinger <vapier@gentoo.org>.
17759
17760         Ensure that <features.h> is included before __GLIBC__ is tested.
17761         * build-aux/link-warning.h: Include <features.h>.
17762         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17763         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17764         Reported by Mike Frysinger <vapier@gentoo.org>.
17765
17766         Ensure that <features.h> is included before __GLIBC__ is tested.
17767         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17768         Reported by Mike Frysinger <vapier@gentoo.org>.
17769
17770 2010-11-20  Bruno Haible  <bruno@clisp.org>
17771
17772         memmem: Fix autoconf test.
17773         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17774
17775 2010-11-20  Bruno Haible  <bruno@clisp.org>
17776
17777         Port to uClibc.
17778         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17779         * lib/fcntl.in.h: Likewise.
17780         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17781         * lib/mbrtowc.c (mbrtowc): Likewise.
17782         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17783         * lib/strerror_r.c: Likewise.
17784         * lib/unistr/u8-strnlen.c: Likewise.
17785         * lib/vasnprintf.c (decimal_point_char): Likewise.
17786         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17787         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17788         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17789         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17790         * tests/test-sigaction.c (handler, main): Likewise.
17791         * lib/freading.h: Treat uClibc like a non-glibc platform.
17792         * lib/freading.c: Likewise.
17793         * lib/gettext.h: Likewise.
17794         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17795         Likewise.
17796         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17797         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17798         * lib/propername.c (proper_name_utf8): Likewise.
17799         * lib/spawn.in.h: Likewise.
17800         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17801         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17802         mem_cd_iconveh_internal): Likewise.
17803         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17804         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17805         strstr, strcasestr): Likewise.
17806         * lib/unicodeio.c (unicode_to_mb): Likewise.
17807         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17808         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17809         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17810         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17811         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17812         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17813         * lib/unistr/u8-stpncpy.c: Likewise.
17814         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17815         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17816         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17817         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17818         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17819         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17820         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17821         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17822         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17823         Likewise.
17824         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17825         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17826         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17827         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17828         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17829         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17830         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17831         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17832         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17833         * tests/test-striconveha.c (main): Likewise.
17834         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17835         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17836         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17837         * doc/posix-functions/getline.texi: Likewise.
17838         Reported by Mike Frysinger <vapier@gentoo.org>.
17839
17840 2010-11-20  Bruno Haible  <bruno@clisp.org>
17841
17842         nproc: Fix condition.
17843         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17844         HAVE_PTHREAD_AFFINITY_NP.
17845
17846 2010-11-20  Bruno Haible  <bruno@clisp.org>
17847
17848         Fix a comment.
17849         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17850
17851 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17852
17853         ftoastr: don't assume snprintf
17854         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17855         Implement a subset of snprintf here, by using sprintf safely.
17856         * modules/ftoastr (Depends-on): Remove snprintf.
17857
17858 2010-11-19  Jim Meyering  <meyering@redhat.com>
17859
17860         test-rename.h: fix compilation failure
17861         * tests/test-rename.h (test_rename): Add omitted "}".
17862
17863 2010-11-17  Jim Meyering  <meyering@redhat.com>
17864
17865         maint.mk: add a URL discussing the no-@acronym policy
17866         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17867
17868 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17869
17870         ftoastr: depend on snprintf, improve comments
17871         * lib/ftoastr.c: Also mention Loitsch's draft.
17872         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17873         needed in the current implementation, but it might simplify
17874         speeding up the code later.
17875         * modules/ftoastr: Depend on snprintf; this improves portability.
17876         Suggested by Bruno Haible in the same email.
17877
17878         ftoastr: port to hosts lacking strtof and strtold
17879         Problem reported by Bruno Haible in
17880         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17881         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17882         environment and strtold (and presumably strtof) are not available.
17883         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17884         (configure.ac): Require gl_C99_STRTOLD.
17885
17886 2010-11-18  Bruno Haible  <bruno@clisp.org>
17887
17888         c-strtold: Avoid link error on AIX 7.
17889         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17890         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17891         (gl_C_STRTOLD): Test whether strtold_l exists.
17892         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17893
17894 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17895
17896         intprops: new macro INT_BITS_STRLEN_BOUND
17897         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17898         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17899         not exposed.  Also, it uses a slightly tighter bound than before;
17900         though this makes no practical difference, we might as well be as
17901         tight as we easily can.
17902
17903         ftoastr: new module, for lossless conversion of floats to short strings
17904         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17905         * modules/ftoastr: New files.
17906
17907 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17908
17909         bootstrap: port to Solaris sed
17910         * build-aux/bootstrap (get_version): Port to Solaris sed.
17911         See Ralf Wildenhues's note in
17912         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17913
17914 2010-11-14  Jim Meyering  <meyering@redhat.com>
17915
17916         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17917         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17918         and move definition closer to sole use.
17919
17920 2010-11-13  Jim Meyering  <meyering@redhat.com>
17921
17922         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17923         Now we require at least autoconf-2.59, which means the work-around
17924         is no longer needed.
17925         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17926         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17927         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17928         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17929         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17930
17931 2010-11-13  Bruno Haible  <bruno@clisp.org>
17932
17933         rename, renameat: Avoid test failures at NFS mounted locations.
17934         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
17935         functions.
17936         (test_rename): Use assert_nonexistent.
17937         * tests/test-rename.c: Include <dirent.h>.
17938         * tests/test-renameat.c: Likewise.
17939         Reported by Gary V. Vaughan <gary@gnu.org>.
17940
17941         rename, renameat: Document Linux bug with NFS
17942         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
17943         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
17944         * doc/posix-functions/renameat.texi: Likewise.
17945         Suggested by Eric Blake.
17946
17947 2010-11-13  Bruno Haible  <bruno@clisp.org>
17948
17949         rename test: Add comments.
17950         * tests/test-rename.h (test_rename): Add structure and comments.
17951
17952 2010-11-13  Eric Blake  <eblake@redhat.com>
17953
17954         maintainer-makefile: cover a few more files
17955         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
17956         scripts generated within C files, for libvirt.
17957
17958 2010-11-13  Bruno Haible  <bruno@clisp.org>
17959
17960         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
17961         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
17962         character, return the number of bytes that belong together, not always
17963         1.
17964         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
17965         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
17966         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
17967         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
17968         number of bytes of an invalid character.
17969         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
17970         (main): Invoke it.
17971         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
17972         results.
17973         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
17974         malformed byte sequences.
17975         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
17976         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
17977         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
17978         Reported by Ben Pfaff and Paolo Bonzini.
17979
17980 2010-11-13  Bruno Haible  <bruno@clisp.org>
17981
17982         openat: Work around glibc bug with fchownat() and empty file names.
17983         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
17984         (gl_FUNC_FCHOWNAT): Invoke it.
17985         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
17986         * doc/posix-functions/fchownat.texi: Document the glibc bug.
17987         Reported by Gary V. Vaughan <gary@gnu.org>.
17988
17989 2010-11-13  Bruno Haible  <bruno@clisp.org>
17990
17991         openat: Ensure autoconf macro ordering.
17992         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
17993         gl_USE_SYSTEM_EXTENSIONS.
17994         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
17995
17996 2010-11-13  Bruno Haible  <bruno@clisp.org>
17997
17998         Update comments.
17999         * lib/unistr/u8-check.c: Update file name in comments.
18000         * lib/unistr/u8-mblen.c: Likewise.
18001         * lib/unistr/u8-prev.c: Likewise.
18002         * lib/unistr/u8-strmblen.c: Likewise.
18003         * lib/unistr/u8-strmbtouc.c: Likewise.
18004
18005 2010-11-13  Jim Meyering  <meyering@redhat.com>
18006
18007         tests: avoid test failure on Solaris 10 due to lack of PATH export
18008         * tests/test-update-copyright.sh: Don't forget to export PATH.
18009
18010         init.sh: ensure that IFS is defined, just in case...
18011         * tests/init.sh (setup_): Ensure that IFS is defined,
18012         so that saving and restoring it works as expected.  This
18013         appears to be useful at least for an old version of dash
18014         from a long time ago (RH 6).  See here for details:
18015         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18016
18017         maint.mk: tighten "test a == b" check
18018         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18019         test to files that contain something like #!/bin/sh.
18020         Without this, coreutils would get two false positives in
18021         the comments of C source files.
18022
18023 2010-11-12  Eric Blake  <eblake@redhat.com>
18024
18025         bootstrap: fix typo in previous attempt
18026         * build-aux/bootstrap (buildreq): Correct the grouping.
18027         Reported by Paul Eggert.
18028
18029         maintainer-makefile: prohibit test x == x
18030         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18031         Based on a report by Matthias Bolte.
18032
18033         bootstrap: allow FreeBSD gzip
18034         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18035         which has no '.' and goes to stderr.
18036         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18037         Reported by Matthias Bolte.
18038
18039         maintainer-makefile: check for i18n setup
18040         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18041         will likely work.
18042
18043 2010-11-12  Bruno Haible  <bruno@clisp.org>
18044
18045         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18046         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18047         * lib/nanosleep.c (nanosleep): Likewise.
18048
18049 2010-11-11  Bruno Haible  <bruno@clisp.org>
18050
18051         fcntl-h: Fix for use of C++ on glibc systems.
18052         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18053         also on glibc systems in C++ mode.
18054         Reported by Gary V. Vaughan <gary@gnu.org>.
18055
18056 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18057
18058         mknod: avoid false failure with dash
18059         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18060
18061 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18062
18063         unlink: Fix "is it should" typo in diagnostic.
18064         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18065         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18066
18067 2010-11-11  Bruno Haible  <bruno@clisp.org>
18068
18069         Tests for module 'strerror_r-posix'.
18070         * modules/strerror_r-posix-tests: New file.
18071         * tests/test-strerror_r.c: New file.
18072         * tests/test-string-c++.cc: Check the signature of strerror_r.
18073
18074         New module 'strerror_r-posix'.
18075         * lib/string.in.h (strerror_r): New declaration.
18076         * lib/strerror_r.c: New file.
18077         * m4/strerror_r.m4: New file.
18078         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18079         of strerror_r.
18080         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18081         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18082         * modules/strerror_r-posix: New file.
18083         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18084         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18085         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18086         portability problems.
18087
18088 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18089
18090         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18091         line is also considered for output. Quoted function name in shell
18092         command, so temporary files for functions like MyClass::operator()
18093         are removed correctly without errors.
18094
18095 2010-11-09  Bruno Haible  <bruno@clisp.org>
18096
18097         * doc/posix-functions/strerror.texi: List more failing platforms.
18098
18099         * doc/posix-functions/strerror.texi: Add a comment.
18100
18101 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18102
18103         fdopendir: fix bug on MacOS X when low on file descriptors
18104
18105         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18106         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18107         All callers changed.
18108         (fdopendir): Invoke save_cwd at the top level, not after using
18109         multiple dup() calls to use up file descriptors.  Then retry
18110         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18111         less than the maximum number of open file descriptors, because
18112         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18113         on Mac OS X 10.6.4 for tar 1.24
18114         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18115         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18116         and for tar 1.25
18117         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18118
18119 2010-11-07  Bruno Haible  <bruno@clisp.org>
18120
18121         vasnprintf: Support I flag on glibc systems.
18122         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18123         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18124         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18125         snprintf function.
18126         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18127         glibc systems.
18128         * tests/test-vasnprintf-posix3.c: New file.
18129         * modules/vasnprintf-posix-tests (Files): Add it.
18130         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18131
18132 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18133
18134         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18135         * MODULES.html.sh: For compiler warnings, use name
18136         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18137
18138 2010-11-05  Eric Blake  <eblake@redhat.com>
18139
18140         ceil, floor: avoid spurious failure with icc
18141         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18142         [denormals-as-zero] when optimizing without -mieee-fp option.
18143         * tests/test-floorf2.c (floorf_reference): Likewise.
18144         * tests/test-ceilf1.c (dummy): New function.
18145         (main): Use it to outsmart icc's optimization.
18146         * tests/test-floorf1.c (dummy, main): Likewise.
18147
18148         tests: require working signbit
18149         * modules/ceilf-tests (Depends-on): Add signbit.
18150         * modules/ceill-tests (Depends-on): Likewise.
18151         * modules/floorf-tests (Depends-on): Likewise.
18152         * modules/floorl-tests (Depends-on): Likewise.
18153         * modules/round-tests (Depends-on): Likewise.
18154         * modules/roundf-tests (Depends-on): Likewise.
18155         * modules/roundl-tests (Depends-on): Likewise.
18156         * modules/trunc-tests (Depends-on): Likewise.
18157         * modules/truncf-tests (Depends-on): Likewise.
18158         * modules/truncl-tests (Depends-on): Likewise.
18159
18160         strtod: work around icc bug
18161         * lib/strtod.c (minus_zero): Define to working value.
18162         (strtod): Use it to avoid icc bug.
18163
18164         copysign: enhance tests
18165         * modules/copysign-tests (Files): Add minus-zero.h.
18166         * tests/test-copysign.c (main): Also test zeros.
18167
18168 2010-11-04  Eric Blake  <eblake@redhat.com>
18169
18170         ceil, floor, round, trunc: enhance tests of -0
18171         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18172         * tests/test-ceill.c (main): Likewise.
18173         * tests/test-floorf1.c (main): Likewise.
18174         * tests/test-floorl.c (main): Likewise.
18175         * tests/test-round1.c (main): Likewise.
18176         * tests/test-roundf1.c (main): Likewise.
18177         * tests/test-roundl.c (main): Likewise.
18178         * tests/test-trunc1.c (main): Likewise.
18179         * tests/test-truncf1.c (main): Likewise.
18180         * tests/test-truncl.c (main): Likewise.
18181
18182 2010-11-04  Eric Blake  <eblake@redhat.com>
18183
18184         frexp, tests: work around ICC bug with -zero
18185         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18186         works with more compilers.
18187         * tests/minus-zero.h: New file.
18188         * modules/ceilf-tests (Files): Include it.
18189         * modules/ceill-tests (Files): Likewise.
18190         * modules/floorf-tests (Files): Likewise.
18191         * modules/floorl-tests (Files): Likewise.
18192         * modules/frexp-nolibm-tests (Files): Likewise.
18193         * modules/frexp-tests (Files): Likewise.
18194         * modules/frexpl-nolibm-tests (Files): Likewise.
18195         * modules/frexpl-tests (Files): Likewise.
18196         * modules/isnan-tests (Files): Likewise.
18197         * modules/isnand-nolibm-tests (Files): Likewise.
18198         * modules/isnand-tests (Files): Likewise.
18199         * modules/isnanf-nolibm-tests (Files): Likewise.
18200         * modules/isnanf-tests (Files): Likewise.
18201         * modules/isnanl-nolibm-tests (Files): Likewise.
18202         * modules/isnanl-tests (Files): Likewise.
18203         * modules/round-tests (Files): Likewise.
18204         * modules/roundf-tests (Files): Likewise.
18205         * modules/roundl-tests (Files): Likewise.
18206         * modules/ldexpl-tests (Files): Likewise.
18207         * modules/signbit-tests (Files): Likewise.
18208         * modules/snprintf-posix-tests (Files): Likewise.
18209         * modules/sprintf-posix-tests (Files): Likewise.
18210         * modules/strtod-tests (Files): Likewise.
18211         * modules/trunc-tests (Files): Likewise.
18212         * modules/truncf-tests (Files): Likewise.
18213         * modules/truncl-tests (Files): Likewise.
18214         * modules/vsnprintf-posix-tests (Files): Likewise.
18215         * modules/vsprintf-posix-tests (Files): Likewise.
18216         * modules/vasnprintf-posix-tests (Files): Likewise.
18217         * modules/vasprintf-posix-tests (Files): Likewise.
18218         * tests/test-ceilf1.c (main): Use it.
18219         * tests/test-ceill.c (main): Likewise.
18220         * tests/test-floorf1.c (main): Likewise.
18221         * tests/test-floorl.c (main): Likewise.
18222         * tests/test-frexp.c (main): Likewise.
18223         * tests/test-frexpl.c (main): Likewise.
18224         * tests/test-isnan.c (main): Likewise.
18225         * tests/test-isnand.h (main): Likewise.
18226         * tests/test-isnanf.h (main): Likewise.
18227         * tests/test-isnanl.h (main): Likewise.
18228         * tests/test-ldexpl.c (main): Likewise.
18229         * tests/test-round.c (main): Likewise.
18230         * tests/test-roundf.c (main): Likewise.
18231         * tests/test-roundl.c (main): Likewise.
18232         * tests/test-signbit.c (test_signbitf, test_signbitd)
18233         (test_signbitl): Likewise.
18234         * tests/test-snprintf-posix.h (test_function): Likewise.
18235         * tests/test-sprintf-posix.h (test_function): Likewise.
18236         * tests/test-strtod.c (main): Likewise.
18237         * tests/test-trunc1.c (main): Likewise.
18238         * tests/test-truncf1.c (main): Likewise.
18239         * tests/test-truncl.c (main): Likewise.
18240
18241         isnanl: work around icc bug
18242         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18243
18244 2010-11-03  Eric Blake  <eblake@redhat.com>
18245
18246         tests: fix compiler warnings
18247         * tests/test-getopt.h (test_getopt): Fix condition.
18248         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18249         * tests/test-pipe2.c (main): Likewise.
18250         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18251
18252         utimens: fix broken m4 test
18253         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18254
18255 2010-10-28  Bruno Haible  <bruno@clisp.org>
18256
18257         posix_spawn*, getdtablesize: Relax license.
18258         * modules/posix_spawn (License): Change to LGPLv2+.
18259         * modules/posix_spawnp (License): Likewise.
18260         * modules/posix_spawn-internal (License): Likewise.
18261         * modules/posix_spawnattr_init (License): Likewise.
18262         * modules/posix_spawnattr_getflags (License): Likewise.
18263         * modules/posix_spawnattr_setflags (License): Likewise.
18264         * modules/posix_spawnattr_getpgroup (License): Likewise.
18265         * modules/posix_spawnattr_setpgroup (License): Likewise.
18266         * modules/posix_spawnattr_getschedparam (License): Likewise.
18267         * modules/posix_spawnattr_setschedparam (License): Likewise.
18268         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18269         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18270         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18271         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18272         * modules/posix_spawnattr_getsigmask (License): Likewise.
18273         * modules/posix_spawnattr_setsigmask (License): Likewise.
18274         * modules/posix_spawnattr_destroy (License): Likewise.
18275         * modules/posix_spawn_file_actions_init (License): Likewise.
18276         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18277         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18278         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18279         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18280         * modules/getdtablesize (License): Likewise.
18281         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18282
18283 2010-10-26  Bruno Haible  <bruno@clisp.org>
18284
18285         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18286         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18287         Cygwin and mingw.
18288         Suggested by Eric Blake.
18289
18290 2010-10-26  Bruno Haible  <bruno@clisp.org>
18291
18292         stdio: Work around compilation error due to renameat() on Solaris 10.
18293         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18294         * lib/renameat.c: Don't include <unistd.h> here.
18295         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18296         Reported by Paul Eggert and Eric Blake.
18297
18298 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18299
18300         renameat: port to Solaris 10, which declares renameat in unistd.h
18301
18302         * lib/renameat.c: Include unistd.h before stdio.h, because
18303         Solaris 10 declares renameat in unistd.h.  Problem encountered
18304         when building GNU tar 1.24 on Solaris 10.
18305
18306 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18307
18308         fdopendir: fix C89 compilation
18309         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18310         compilers.
18311
18312 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18313
18314         inttostr: simplify by removing unnecessary redundancy
18315         * lib/anytostr.c: Don't include verify.h.
18316         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18317         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18318         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18319         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18320         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18321         Likewise.
18322         * modules/inttostr (Depends-on): Remove 'verify'.
18323
18324 2010-10-23  Bruno Haible  <bruno@clisp.org>
18325
18326         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18327         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18328         Reported by Eric Blake.
18329
18330 2010-10-23  Bruno Haible  <bruno@clisp.org>
18331
18332         Tests: Fix LOCALE_JA on MirBSD 10.
18333         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18334         to an UTF-8 locale.
18335         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18336         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18337         Reported by Eric Blake.
18338
18339 2010-10-21  Bruno Haible  <bruno@clisp.org>
18340
18341         nl_langinfo test: Avoid test failure on NetBSD 5.
18342         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18343         Reported by Eric Blake.
18344
18345 2010-10-21  Eric Blake  <eblake@redhat.com>
18346
18347         c-stack: work around libsigsegv 2.8 bug
18348         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18349         overflow on at least PowerPC64.
18350
18351 2010-10-17  Bruno Haible  <bruno@clisp.org>
18352
18353         userspec: Drop redundant file.
18354         * modules/userspec (Files): Remove lib/inttostr.h.
18355
18356 2010-10-17  Bruno Haible  <bruno@clisp.org>
18357
18358         nl_langinfo tests: Silence some warnings.
18359         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18360         Reported by Jim Meyering.
18361
18362 2010-10-17  Bruno Haible  <bruno@clisp.org>
18363
18364         Make use of GCC's attribute __alloc_size__.
18365         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18366         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18367         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18368         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18369         __alloc_size__.
18370         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18371         Suggested by Jim Meyering.
18372
18373 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18374
18375         bootstrap: anchor .gitignore entries.
18376         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18377         with...
18378         (insert_vc_ignore): ... this new function, which prepends `/' to
18379         all .gitignore entries before passing them to
18380         insert_sorted_if_absent.
18381
18382 2010-10-16  Bruno Haible  <bruno@clisp.org>
18383
18384         nextafter: Fix configure check.
18385         * modules/nextafter (configure.ac): Correct expected prototype.
18386
18387 2010-10-16  Bruno Haible  <bruno@clisp.org>
18388
18389         termios: Update documentation.
18390         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18391
18392 2010-10-16  Bruno Haible  <bruno@clisp.org>
18393
18394         tests: Make them compile with TinyCC.
18395         * tests/test-strstr.c (main): Remove parentheses around array
18396         initializer.
18397
18398 2010-10-15  Eric Blake  <eblake@redhat.com>
18399
18400         ignore-value: make header idempotent
18401         * lib/ignore-value.h: Add double-inclusion guards.
18402         Reported by Stefan Berger.
18403
18404 2010-10-15  Jim Meyering  <meyering@redhat.com>
18405
18406         GNUmakefile: handle "stable" target, not "major"
18407         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18408         lists in maint.mk and announce-gen.  Without this, "make stable"
18409         would fail to ensure that $(VERSION) is up to date.
18410
18411 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18412
18413         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18414         & co.
18415
18416 2010-10-14  Bruno Haible  <bruno@clisp.org>
18417
18418         vasnprintf: Don't set errno to 0.
18419         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18420         block that sets it to 0.
18421         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18422
18423 2010-10-14  Bruno Haible  <bruno@clisp.org>
18424
18425         socketlib: Fix.
18426         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18427         gl_PREREQ_SYS_H_WINSOCK2.
18428         Reported by Ian Beckwith <ianb@erislabs.net>.
18429
18430 2010-10-13  Jim Meyering  <meyering@redhat.com>
18431
18432         test-select-stdin.c: avoid warn_unused_result warnings
18433         * tests/test-select-stdin.c: Include "macros.h".
18434         ASSERT that read and fflush succeed.
18435
18436 2010-10-13  Jim Meyering  <meyering@redhat.com>
18437
18438         git-version-gen: do require git-VC'd files in cwd
18439         * build-aux/git-version-gen: Reject a git version string
18440         if there are no commits associated with the current directory.
18441         This avoids an unlikely false-positive (unrelated dir whose parent
18442         repository also contains a tag matching v*), as pointed out
18443         by Giuseppe Scrivano in
18444         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18445
18446 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18447
18448         argv-iter: omit nonconforming declaration
18449         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18450         enum arg_iter_err declaration, which doesn't conform to C99.
18451         Solaris 10 cc warns about this.
18452
18453 2010-10-13  Eric Blake  <eblake@redhat.com>
18454
18455         termios: fix compilation on mingw
18456         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18457         (gl_TERMIOS_H): Adjust it on mingw.
18458         * modules/termios (Makefile.am): Substitute new key.
18459         * lib/termios.in.h (includes): Make include_next conditional.
18460         * doc/posix-headers/termios.texi (termios.h): Update
18461         documentation.
18462         Reported by Daniel P. Berrange.
18463
18464 2010-10-13  Jim Meyering  <meyering@redhat.com>
18465
18466         git-version-gen: don't require that .git/ be in the current dir
18467         * build-aux/git-version-gen: Adjust this script so that it works
18468         when run from any working directory beneath the top-level .git/-
18469         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18470         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18471
18472         test-select: avoid warn_unused_result warnings
18473         * tests/test-select.c: Include "macros.h".
18474         ASSERT that each call to read, write, and pipe succeeds.
18475         While not technically required, also check each "close".
18476         * modules/select-tests (Files): Add tests/macros.h.
18477
18478         test-symlinkat: remove declaration of unused local
18479         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18480
18481         test-inttostr: avoid shadowing warnings
18482         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18483         and use malloc rather than the stack for the same reason as
18484         mentioned in the comment justifying the other allocation.
18485
18486 2010-10-11  Bruno Haible  <bruno@clisp.org>
18487
18488         stdlib: Allow multiple gnulib generated replacements to coexist.
18489         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18490         Reported by Sam Steingold <sds@gnu.org>.
18491
18492 2010-10-11  Jim Meyering  <meyering@redhat.com>
18493
18494         fix a documentation typo
18495         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18496
18497 2010-10-11  Eric Blake  <eblake@redhat.com>
18498
18499         futimens: work around Solaris 11 bug
18500         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18501         * tests/test-futimens.h (test_futimens): Enhance, rather than
18502         weaken test.
18503         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18504
18505 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18506
18507         Indentation.
18508         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18509         higher-level operators more to the left.
18510
18511 2010-10-11  Jim Meyering  <meyering@redhat.com>
18512
18513         test-futimens: avoid unwarranted test failure on Solaris 5.11
18514         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18515         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18516         because it tries to dereference the NULL name argument.
18517
18518 2010-10-11  Bruno Haible  <bruno@clisp.org>
18519
18520         Indentation.
18521         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18522         indentation.
18523
18524 2010-10-11  Jim Meyering  <meyering@redhat.com>
18525
18526         spawn.in.h: make indentation consistent with parentheses
18527         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18528         Make indentation consistent with parentheses.
18529
18530 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18531
18532         Fix mismatched parens in previous commit
18533         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18534         parens.
18535
18536 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18537
18538         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18539
18540         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18541         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18542         * lib/malloca.c: Include "verify.h".
18543         (verify1): Remove, replacing with a verify call.
18544         * lib/relocwrapper.c (verify1): Likewise.
18545         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18546         Likewise.
18547         * modules/malloca (Depends-on): Add 'verify'.
18548         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18549         * modules/vasnprintf (Depends-on): Add 'verify'.
18550         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18551         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18552         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18553         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18554         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18555         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18556         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18557
18558         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18559
18560         Formerly the style was sometimes 2*X - 1, because the C standard
18561         was wrongly thought to disallow ?: in integral constant expressions.
18562         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18563         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18564         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18565         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18566         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18567         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18568         verify that time_t cannot be floating.
18569
18570 2010-10-08  Eric Blake  <eblake@redhat.com>
18571
18572         time: enforce recent POSIX ruling that time_t is integral
18573         * lib/time.in.h (__time_t_must_be_integral): Detect any
18574         problematic systems, allowing the rest of gnulib to assume POSIX.
18575
18576 2010-10-08  Jim Meyering  <meyering@redhat.com>
18577
18578         fdopendir: fix a bug on systems lacking openat and /proc support
18579         OpenBSD 4.7 is one such system.  The most noticeable effect was
18580         failure of any application making nontrivial use of fts: rm, du,
18581         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18582           ./rm: traversal failed: `a': Bad file descriptor
18583         Debugging that, you see that even though FD 6 was closed just
18584         prior to the opendir call in fd_clone_opendir, its resulting
18585         dir->dd_fd was 8, rather than the expected value of 6:
18586
18587         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18588         93                close (fd);
18589         (gdb) n
18590         94                dir = fd_clone_opendir (dupfd);
18591         (gdb) n
18592         95                saved_errno = errno;
18593         (gdb) p dir->dd_fd
18594         $11 = 8
18595
18596         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18597         The problem is that on OpenBSD, fd_clone_opendir has to resort
18598         to using the old-style save/restore CWD mechanism, due to its
18599         lack of openat/proc support, and *that* would steal the FD (6)
18600         that opendir was supposed to use.
18601
18602         The fix is to squirrel away the desired FD so that save_cwd uses a
18603         different one, and then free the dest FD right before calling opendir.
18604         That guarantees opendir will use the required file descriptor.
18605
18606         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18607
18608 2010-10-08  Bruno Haible  <bruno@clisp.org>
18609
18610         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18611         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18612
18613 2010-10-08  Bruno Haible  <bruno@clisp.org>
18614
18615         nanosleep: Make replacement POSIX compliant.
18616         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18617         is out of range.
18618         Reported by Jim Meyering.
18619
18620 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18621
18622         bootstrap: add hook for altering gnulib.mk, for Bison
18623         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18624         the Bison bootstrapping process can rewrite file names and variables
18625         in this file before later parts of 'bootstrap' use the file.
18626         Bison wants to include lib/gnulib.mk from the top-level makefile,
18627         so it needs the file names in this file to be relative to the top
18628         level, not relative to lib; plus it needs variable names to be
18629         rewritten.
18630         (slurp): Use the new function.
18631
18632         bootstrap: reformat for readability
18633         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18634
18635 2010-10-08  Eric Blake  <eblake@redhat.com>
18636
18637         docs: update cygwin progress
18638         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18639         1.7.7.
18640         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18641         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18642         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18643         * doc/posix-functions/carg.texi (carg): Likewise.
18644         * doc/posix-functions/cargf.texi (cargf): Likewise.
18645         * doc/posix-functions/casin.texi (casin): Likewise.
18646         * doc/posix-functions/casinf.texi (casinf): Likewise.
18647         * doc/posix-functions/casinh.texi (casinh): Likewise.
18648         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18649         * doc/posix-functions/catan.texi (catan): Likewise.
18650         * doc/posix-functions/catanf.texi (catanf): Likewise.
18651         * doc/posix-functions/catanh.texi (catanh): Likewise.
18652         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18653         * doc/posix-functions/ccos.texi (ccos): Likewise.
18654         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18655         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18656         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18657         * doc/posix-functions/cexp.texi (cexp): Likewise.
18658         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18659         * doc/posix-functions/cimag.texi (cimag): Likewise.
18660         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18661         * doc/posix-functions/clog.texi (clog): Likewise.
18662         * doc/posix-functions/clogf.texi (clogf): Likewise.
18663         * doc/posix-functions/conj.texi (conj): Likewise.
18664         * doc/posix-functions/conjf.texi (conjf): Likewise.
18665         * doc/posix-functions/cpow.texi (cpow): Likewise.
18666         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18667         * doc/posix-functions/cproj.texi (cproj): Likewise.
18668         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18669         * doc/posix-functions/creal.texi (creal): Likewise.
18670         * doc/posix-functions/crealf.texi (crealf): Likewise.
18671         * doc/posix-functions/csin.texi (csin): Likewise.
18672         * doc/posix-functions/csinf.texi (csinf): Likewise.
18673         * doc/posix-functions/csinh.texi (csinh): Likewise.
18674         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18675         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18676         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18677         * doc/posix-functions/ctan.texi (ctan): Likewise.
18678         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18679         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18680         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18681         * doc/posix-headers/complex.texi (complex.h): Likewise.
18682
18683 2010-10-07  Jim Meyering  <meyering@redhat.com>
18684
18685         parse-datetime: avoid compilation failure on OpenBSD 4.7
18686         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18687         This works around a compilation failure on OpenBSD 4.7:
18688         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18689
18690 2010-10-07  Eric Blake  <eblake@redhat.com>
18691
18692         docs: update cygwin progress
18693         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18694         1.7.6.
18695         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18696         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18697         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18698         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18699         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18700         Likewise.
18701         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18702         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18703         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18704         Likewise.
18705         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18706         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18707         Likewise.
18708         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18709         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18710         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18711         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18712         Likewise.
18713         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18714         Likewise.
18715         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18716
18717         docs: update parse-datetime history
18718         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18719         documentation of this function's history and alternatives.
18720
18721         cygwin: use more robust version check
18722         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18723         exclude an eventual cygwin 1.9.1.
18724         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18726         (gl_FUNC_STRCASESTR): Likewise.
18727         Reported by Bruno Haible.
18728
18729 2010-10-06  Bruno Haible  <bruno@clisp.org>
18730
18731         string, sys_select: Avoid #including large headers unless necessary.
18732         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18733         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18734         OSF/1, BeOS, Haiku.
18735         Reported by Jim Meyering.
18736
18737 2010-10-05  Eric Blake  <eblake@redhat.com>
18738
18739         memmem, strstr, strcasestr: fix bug with long periodic needle
18740         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18741         periodic needle having false positive.
18742         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18743         and cygwin 1.7.7.
18744         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18745         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18746         (gl_FUNC_STRCASESTR): Likewise.
18747         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18748         * tests/test-memmem.c (main): Expose the bug.
18749         * tests/test-strcasestr.c (main): Likewise.
18750         * tests/test-strstr.c (main): Likewise.
18751         * tests/test-c-strcasestr.c (main): Likewise.
18752         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18753         * doc/posix-functions/strstr.texi (strstr): Likewise.
18754         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18755         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18756
18757 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18758
18759         parse-datetime: do some more renaming
18760         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18761         parse_datetime, not get_date.  Mention the renaming.
18762         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18763         in comments.
18764         * m4/bison.m4: Likewise.
18765
18766 2010-10-05  Eric Blake  <eblake@redhat.com>
18767
18768         parse-datetime: better name than get_date
18769         * NEWS: Reword the deprecation notice.
18770         * modules/get_date: Rename to modules/parse-datetime.
18771         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18772         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18773         * lib/get_date.y: Rename to lib/parse-datetime.y.
18774         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18775         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18776         * doc/getdate.texi: Provide fallback wrapper.
18777         * lib/getdate.h: Move guts, and wrap...
18778         * lib/parse-datetime.h: ...new file.
18779         * lib/parse-datetime.y (get_date): Rename...
18780         (parse_datetime): ...to this.
18781         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18782         (gl_PARSE_DATETIME): ...to this.
18783         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18784         documentation.
18785         * modules/getdate (Files): Provide fallback docs and header.
18786         (Notice, Depends-on): Update references.
18787         * tests/test-parse-datetime.c: Likewise.
18788         * DEPENDENCIES: Likewise.
18789         * MODULES.html.sh (Date and time <time.h>): Likewise.
18790         * doc/parse-datetime.texi (Date input formats)
18791         (Authors of parse_datetime): Likewise.
18792         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18793         (Include): Likewise.
18794         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18795         * gnulib-tool: Likewise.
18796         * m4/bison.m4 (gl_BISON): Likewise.
18797         Suggested by Bruno Haible.
18798
18799 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18800
18801         more ports to Solaris tr, which needs [] around ranges
18802         * gnulib-tool: Solaris tr needs [] around ranges.
18803         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18804         * tests/test-pipe-filter-gi1.c (main): Likewise.
18805         * tests/test-pipe-filter-ii1.c (main): Likewise.
18806
18807 2010-10-05  Eric Blake  <eblake@redhat.com>
18808
18809         bootstrap: fix Solaris regression
18810         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18811         around ranges.
18812         Reported by Pádraig Brady.
18813
18814         bootstrap: work with pkg-config
18815         * build-aux/bootstrap (check_versions): Also transliterate - in
18816         prerequisite name.
18817         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18818         prerequisites that were already found, to avoid confusion.
18819         Reported by Justin Clift.
18820
18821         faccessat: remove unused wrappers
18822         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18823         presence of these wrappers dragged in -lgen on Solaris.
18824         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18825
18826 2010-10-05  Jim Meyering  <meyering@redhat.com>
18827
18828         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18829         * Makefile (sc_pragma_columns): New syntax-check rule.
18830
18831 2010-10-04  Bruno Haible  <bruno@clisp.org>
18832
18833         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18834         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18835         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18836         Reported by Bruce Korb and Eric Blake.
18837
18838 2010-10-04  Bruno Haible  <bruno@clisp.org>
18839
18840         threadlib: Make option --with-libpth-prefix work.
18841         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18842         use $LIBPTH, not just -lpth.
18843
18844 2010-10-04  Bruno Haible  <bruno@clisp.org>
18845
18846         Avoid line length limitation from HP NonStop system header files.
18847         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18848         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18849         * lib/ctype.in.h: Likewise.
18850         * lib/dirent.in.h: Likewise.
18851         * lib/errno.in.h: Likewise.
18852         * lib/fcntl.in.h: Likewise.
18853         * lib/float.in.h: Likewise.
18854         * lib/getopt.in.h: Likewise.
18855         * lib/iconv.in.h: Likewise.
18856         * lib/inttypes.in.h: Likewise.
18857         * lib/langinfo.in.h: Likewise.
18858         * lib/locale.in.h: Likewise.
18859         * lib/math.in.h: Likewise.
18860         * lib/netdb.in.h: Likewise.
18861         * lib/netinet_in.in.h: Likewise.
18862         * lib/poll.in.h: Likewise.
18863         * lib/pthread.in.h: Likewise.
18864         * lib/pty.in.h: Likewise.
18865         * lib/sched.in.h: Likewise.
18866         * lib/se-selinux.in.h: Likewise.
18867         * lib/search.in.h: Likewise.
18868         * lib/signal.in.h: Likewise.
18869         * lib/spawn.in.h: Likewise.
18870         * lib/stdarg.in.h: Likewise.
18871         * lib/stddef.in.h: Likewise.
18872         * lib/stdint.in.h: Likewise.
18873         * lib/stdio.in.h: Likewise.
18874         * lib/stdlib.in.h: Likewise.
18875         * lib/string.in.h: Likewise.
18876         * lib/strings.in.h: Likewise.
18877         * lib/sys_file.in.h: Likewise.
18878         * lib/sys_ioctl.in.h: Likewise.
18879         * lib/sys_select.in.h: Likewise.
18880         * lib/sys_socket.in.h: Likewise.
18881         * lib/sys_stat.in.h: Likewise.
18882         * lib/sys_time.in.h: Likewise.
18883         * lib/sys_times.in.h: Likewise.
18884         * lib/sys_utsname.in.h: Likewise.
18885         * lib/sys_wait.in.h: Likewise.
18886         * lib/sysexits.in.h: Likewise.
18887         * lib/termios.in.h: Likewise.
18888         * lib/time.in.h: Likewise.
18889         * lib/unistd.in.h: Likewise.
18890         * lib/wchar.in.h: Likewise.
18891         * lib/wctype.in.h: Likewise.
18892         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18893         * modules/ctype (Makefile.am): Likewise.
18894         * modules/dirent (Makefile.am): Likewise.
18895         * modules/errno (Makefile.am): Likewise.
18896         * modules/fcntl-h (Makefile.am): Likewise.
18897         * modules/float (Makefile.am): Likewise.
18898         * modules/getopt-posix (Makefile.am): Likewise.
18899         * modules/iconv-h (Makefile.am): Likewise.
18900         * modules/inttypes (Makefile.am): Likewise.
18901         * modules/langinfo (Makefile.am): Likewise.
18902         * modules/locale (Makefile.am): Likewise.
18903         * modules/math (Makefile.am): Likewise.
18904         * modules/netdb (Makefile.am): Likewise.
18905         * modules/netinet_in (Makefile.am): Likewise.
18906         * modules/poll-h (Makefile.am): Likewise.
18907         * modules/pthread (Makefile.am): Likewise.
18908         * modules/pty (Makefile.am): Likewise.
18909         * modules/sched (Makefile.am): Likewise.
18910         * modules/search (Makefile.am): Likewise.
18911         * modules/selinux-h (Makefile.am): Likewise.
18912         * modules/signal (Makefile.am): Likewise.
18913         * modules/spawn (Makefile.am): Likewise.
18914         * modules/stdarg (Makefile.am): Likewise.
18915         * modules/stddef (Makefile.am): Likewise.
18916         * modules/stdint (Makefile.am): Likewise.
18917         * modules/stdio (Makefile.am): Likewise.
18918         * modules/stdlib (Makefile.am): Likewise.
18919         * modules/string (Makefile.am): Likewise.
18920         * modules/strings (Makefile.am): Likewise.
18921         * modules/sys_file (Makefile.am): Likewise.
18922         * modules/sys_ioctl (Makefile.am): Likewise.
18923         * modules/sys_select (Makefile.am): Likewise.
18924         * modules/sys_socket (Makefile.am): Likewise.
18925         * modules/sys_stat (Makefile.am): Likewise.
18926         * modules/sys_time (Makefile.am): Likewise.
18927         * modules/sys_times (Makefile.am): Likewise.
18928         * modules/sys_utsname (Makefile.am): Likewise.
18929         * modules/sys_wait (Makefile.am): Likewise.
18930         * modules/sysexits (Makefile.am): Likewise.
18931         * modules/termios (Makefile.am): Likewise.
18932         * modules/time (Makefile.am): Likewise.
18933         * modules/unistd (Makefile.am): Likewise.
18934         * modules/wchar (Makefile.am): Likewise.
18935         * modules/wctype (Makefile.am): Likewise.
18936
18937 2010-10-04  Bruno Haible  <bruno@clisp.org>
18938
18939         read-file tests: Avoid a test failure on NonStop Kernel.
18940         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
18941         a regular file.
18942         Reported by Joachim Schmitz <schmitz@hp.com>.
18943
18944 2010-10-03  Bruno Haible  <bruno@clisp.org>
18945
18946         gnulib-tool: Fixes for --create-testdir with --libtool.
18947         * gnulib-tool (func_get_automake_snippet): Don't augment
18948         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
18949         an executable.
18950         (func_create_testdir): Handle module 'alloca' like func_import.
18951         Reported by Bruce Korb <bruce.korb@gmail.com>.
18952
18953 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
18954
18955         Avoid some lines longer than 80 characters.
18956         * lib/stdint.in.h: Break long comment lines.
18957         * lib/math.in.h: Likewise.
18958         (_GL_NUM_UINT_WORDS): New macro, for readability.
18959         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
18960         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
18961         * lib/stdlib.in.h: Likewise.
18962         * lib/spawn.in.h: Likewise.
18963         * lib/sys_socket.in.h: Update an URL.
18964         * lib/sys_stat.in.h: Break long line.
18965
18966 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
18967
18968         Improve pmccabe2html.
18969         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
18970         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
18971         when the sources change. Remove the line in the HTML about "Used
18972         ranges" (which implied that there might be other unused ranges),
18973         rename "Resume" to "Summary" (easier to understand for more users).
18974         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
18975         styles, and some unnecessary blank lines.
18976
18977 2010-10-03  Bruno Haible  <bruno@clisp.org>
18978             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
18979
18980         acl: Add support for ACLs on NonStop Kernel.
18981         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
18982         Check whether the function aclsort() exists.
18983         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
18984         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
18985         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18986         (acl_nontrivial [HAVE_ACLSORT]: New function.
18987         (file_has_acl): Implement for NonStop Kernel.
18988         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18989         (qset_acl): Implement for NonStop Kernel.
18990         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
18991         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
18992         (main): Implement for NonStop Kernel.
18993         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
18994         Kernel. Handle this flavor.
18995         * tests/test-set-mode-acl.sh: Likewise.
18996         * tests/test-copy-acl.sh: Likewise.
18997         * tests/test-copy-file.sh: Likewise.
18998
18999 2010-10-03  Bruno Haible  <bruno@clisp.org>
19000
19001         Info about ACLs on NonStop Kernel.
19002         * doc/acl-resources.txt: Add info about NonStop Kernel.
19003         References by Joachim Schmitz <schmitz@hp.com>.
19004
19005 2010-10-02  Bruno Haible  <bruno@clisp.org>
19006
19007         Define missing EDQUOT on NonStop Kernel.
19008         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19009         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19010         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19011         missing.
19012         * doc/posix-headers/errno.texi: Mention the NSK bug.
19013         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19014         Reported by Joachim Schmitz <schmitz@hp.com>.
19015
19016 2010-10-02  Bruno Haible  <bruno@clisp.org>
19017
19018         Update doc for POSIX:2008.
19019         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19020         Update URL of POSIX specification.
19021
19022 2010-10-02  Bruno Haible  <bruno@clisp.org>
19023
19024         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19025         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19026         from gnulib, not from Automake.
19027
19028 2010-10-02  Bruno Haible  <bruno@clisp.org>
19029
19030         New module 'system-posix'.
19031         * modules/system-posix: New file.
19032         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19033         module is present.
19034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19035         GNULIB_SYSTEM_POSIX.
19036         * modules/stdlib (Depends-on): Remove sys_wait.
19037         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19038         * doc/posix-functions/system.texi: Mention the new module.
19039         * doc/posix-headers/stdlib.texi: Likewise.
19040         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19041         define test_sys_wait_macros to a no-op.
19042         Reported by Sam Steingold <sds@gnu.org>.
19043
19044 2010-09-30  Bruno Haible  <bruno@clisp.org>
19045
19046         More renaming from 'getdate' to 'get_date'.
19047         * doc/get_date.texi: Renamed from doc/getdate.texi.
19048         * modules/get_date (Files): Update.
19049         * MODULES.html.sh (Date and time <time.h>): Update.
19050         * DEPENDENCIES: Update.
19051         * gnulib-tool: Update comment.
19052         * m4/bison.m4 (gl_BISON): Likewise.
19053         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19054
19055 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19056
19057         bootstrap: support ACLOCAL_FLAGS during aclocal
19058         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19059         can add additional -I dir for third-party .m4 files.
19060
19061 2010-09-30  Eric Blake  <eblake@redhat.com>
19062
19063         bootstrap: use glibtoolize on MacOS
19064         * build-aux/bootstrap (check_versions): Convert libtool into
19065         libtoolize.
19066         (tool search): Move libtool check earlier, and look for
19067         glibtoolize for MacOS.
19068         (gnulib_tool_options): Auto-add --libtool when appropriate.
19069         Reported by Justin Clift.
19070
19071         poll: fix typo that broke test on MacOS
19072         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19073         Reported by Justin Clift.
19074
19075         getdate: rename to get_date
19076         Note: getdate.h is not renamed, to minimize client impact.
19077         * modules/getdate: Mark obsolete.  Move old contents...
19078         * modules/get_date: ...to new module name.
19079         * modules/getdate-tests: Move...
19080         * modules/get_date-tests: ...here.
19081         * m4/getdate.m4: Move...
19082         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19083         * lib/getdate.y: Move...
19084         * lib/get_date.y: ...here.
19085         * tests/test-getdate.c: Move...
19086         * tests/test-get_date.c: ...here.
19087         * doc/posix-functions/getdate.texi (getdate): Update name.
19088         * NEWS: Mention the change.
19089
19090 2010-09-29  Bruno Haible  <bruno@clisp.org>
19091
19092         Separate the module 'waitpid' from the module 'sys_wait'.
19093         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19094         present.
19095         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19096         gl_MODULE_INDICATOR_FOR_TESTS.
19097         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19098         * modules/sys_wait (Depends-on): Remove waitpid.
19099         (Makefile.am): Substitute GNULIB_WAITPID.
19100         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19101         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19102         signature only if the 'waitpid' module is present.
19103         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19104         * NEWS: Mention the change.
19105         * modules/grantpt (Depends-on): Add waitpid.
19106         * modules/wait-process (Depends-on): Likewise.
19107
19108 2010-09-29  Bruno Haible  <bruno@clisp.org>
19109
19110         More tests for module 'sys_wait'.
19111         * modules/sys_wait-c++-tests: New file.
19112         * tests/test-sys_wait-c++.cc: New file.
19113         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19114         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19115
19116 2010-09-29  Bruno Haible  <bruno@clisp.org>
19117
19118         New module 'waitpid'.
19119         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19120         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19121         Don't include <process.h>.
19122         (waitpid): Declare only, using modern idiom.
19123         * m4/waitpid.m4: New file.
19124         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19125         * modules/waitpid: New file.
19126         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19127         (Makefile.am): Update.
19128         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19129
19130 2010-09-28  Bruno Haible  <bruno@clisp.org>
19131
19132         poll: Assume ANSI C.
19133         * lib/poll.c (poll): Use an ANSI C declaration.
19134
19135 2010-09-28  Bruno Haible  <bruno@clisp.org>
19136
19137         poll-h: Create poll.h on all platforms.
19138         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19139         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19140         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19141         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19142         (gl_REPLACE_POLL_H): Don't set POLL_H.
19143         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19144         * modules/poll-h (Depends-on): Add include_next.
19145         (Makefile.am): Create poll.h unconditionally. Substitute also
19146         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19147
19148 2010-09-28  Bruno Haible  <bruno@clisp.org>
19149
19150         Tests for module 'poll-h'.
19151         * modules/poll-h-c++-tests: New file.
19152         * tests/test-poll-h-c++.cc: New file.
19153
19154         Tests for module 'poll-h'.
19155         * modules/poll-h-tests: New file.
19156         * tests/test-poll-h.c: New file.
19157
19158 2010-09-28  Bruno Haible  <bruno@clisp.org>
19159
19160         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19161         * modules/poll-h (Depends-on): Add 'extensions'.
19162
19163 2010-09-28  Bruno Haible  <bruno@clisp.org>
19164
19165         New module 'poll-h'.
19166         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19167         (poll): Use modern idiom.
19168         * modules/poll-h: New file.
19169         * modules/poll (Files): Remove lib/poll.in.h.
19170         (Depends-on): Add poll-h.
19171         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19172         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19173         * m4/poll_h.m4: New file.
19174         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19175         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19176         and invoke gl_REPLACE_POLL_H.
19177         * lib/poll.c: Use common idiom.
19178         * tests/test-poll.c: Likewise.
19179         * doc/posix-headers/poll.texi: Mention the poll-h module.
19180         Suggested by Eric Blake.
19181
19182 2010-09-26  Bruno Haible  <bruno@clisp.org>
19183
19184         sys_wait: Implement WSTOPSIG.
19185         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19186         Reported by Simon Josefsson.
19187
19188 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19189
19190         stdlib, sys_wait: Avoid compilation error on mingw.
19191         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19192
19193 2010-09-26  Bruno Haible  <bruno@clisp.org>
19194
19195         stdlib tests: Avoid code duplication.
19196         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19197         * modules/sys_wait-tests (Files): Likewise.
19198         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19199         * tests/test-stdlib.c: Include test-sys_wait.h.
19200         (main): Invoke test_sys_wait_macros.
19201         * tests/test-sys_wait.c: Include test-sys_wait.h.
19202         (main): Invoke test_sys_wait_macros.
19203
19204 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19205
19206         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19207         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19208         sure Windows sockets are working before calling getaddrinfo.
19209         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19210         * doc/gnulib.texi (Windows sockets): Fix typo.
19211
19212 2010-09-25  Bruno Haible  <bruno@clisp.org>
19213
19214         Tests for module 'regex-quote'.
19215         * modules/regex-quote-tests: New file.
19216         * tests/test-regex-quote.c: New file.
19217
19218         New module 'regex-quote'.
19219         * lib/regex-quote.h: New file.
19220         * lib/regex-quote.c: New file.
19221         * modules/regex-quote: New file.
19222         Suggested by Reuben Thomas <rrt@sc3d.org>.
19223
19224 2010-09-24  Bruno Haible  <bruno@clisp.org>
19225
19226         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19227         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19228
19229 2010-09-23  Bruno Haible  <bruno@clisp.org>
19230
19231         setenv: Relax license.
19232         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19233         Blake.
19234         Requested by Eric Blake.
19235
19236 2010-09-22  Bruno Haible  <bruno@clisp.org>
19237
19238         termios: Relax license.
19239         * modules/termios (License): Change to LGPLv2+.
19240         Requested by Eric Blake.
19241
19242 2010-09-22  Bruno Haible  <bruno@clisp.org>
19243
19244         threadlib: Allow the package to change the default to 'no'.
19245         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19246         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19247         Reported by Paul Eggert.
19248
19249 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19250             Bruno Haible  <bruno@clisp.org>
19251
19252         Fix endless loop in mbmemcasecoll.
19253         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19254         byte.
19255         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19256
19257 2010-09-22  Bruno Haible  <bruno@clisp.org>
19258
19259         Tests for module 'memcoll'.
19260         * modules/memcoll-tests: New file.
19261         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19262
19263         memcoll, xmemcoll: Clarify size vs. length.
19264         * modules/memcoll.c (memcoll0): Clarify specification.
19265         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19266         passed to collate_error.
19267
19268 2010-09-22  Bruno Haible  <bruno@clisp.org>
19269
19270         Tests for module 'memcasecmp'.
19271         * modules/memcasecmp-tests: New file.
19272         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19273
19274 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19275
19276         * lib/pthread.in.h: Add split double-inclusion guard, and include
19277         system <pthread.h> if there is one.  Use @@-style as in other
19278         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19279         pthread.h doesn't.
19280         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19281         (pthread_mutexattr_settype, pthread_mutex_trylock):
19282         New static inline functions, if there's no system <pthread.h>.
19283         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19284         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19285         Approximate with mutexes if the system lacks spinlocks, as in
19286         MacOS.
19287         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19288         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19289         @@-style.  Check for spinlocks separately.
19290         (gl_PTHREAD_DEFAULTS): New macro.
19291         * modules/pthread: Redo to use a more typical style for in.h files.
19292
19293 2010-09-21  Eric Blake  <eblake@redhat.com>
19294
19295         net_if: enhance tests
19296         * tests/test-net_if.c (main): Move signature checks earlier.
19297         Print failures to stderr.
19298         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19299         Document the bug that we do not yet fix.
19300
19301 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19302
19303         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19304         about gnulib, not GSS.
19305
19306 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19307
19308         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19309         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19310         for Emacs.
19311         * build-aux/pmccabe2html: Make Makefile.am example code more
19312         cut-and-paste friendly.
19313
19314 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19315
19316         * tests/test-net_if.c: New file.
19317         * modules/net_if-tests: New file.
19318
19319 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19320
19321         pthread: add pthread_spin_destroy
19322         * lib/pthread.in.h (pthread_spin_destroy): New function.
19323
19324 2010-09-19  Bruno Haible  <bruno@clisp.org>
19325
19326         gnulib-tool: Fix --help output.
19327         * gnulib-tool (func_usage): Fix help message.
19328         Reported by Reuben Thomas <rrt@sc3d.org>.
19329
19330 2010-09-18  Jim Meyering  <meyering@redhat.com>
19331
19332         maint.mk: avoid unexpanded \n in two diagnostics
19333         * top/maint.mk (sc_prohibit_always_true_header_tests):
19334         Don't use a literal \n in a halt=... assignment.  It would not be
19335         expanded, and the two \n bytes would appear in the diagnostic output
19336         rather than the desired newline.  Use halt=$$(printf ... instead.
19337         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19338
19339 2010-09-18  Bruno Haible  <bruno@clisp.org>
19340
19341         netinet_in: Doc tweak.
19342         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19343         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19344
19345 2010-09-18  Jim Meyering  <meyering@redhat.com>
19346
19347         init.sh: correct an outdated comment
19348         * tests/init.sh (create_exe_shims_):  s/function/alias/
19349
19350         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19351         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19352         a file named "*.exe" is removed between the glob expansion and the
19353         processing of that oddly named file.
19354
19355 2010-09-17  Eric Blake  <eblake@redhat.com>
19356
19357         mirbsd: add some more support
19358         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19359         in BSD family.
19360         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19361         devices as OpenBSD.
19362         * m4/host-os.m4 (mirbsd): Add MirBSD.
19363
19364         tests: fix unportable assumption on sys/wait.h
19365         * tests/test-sys_wait.c (main): Relax test.
19366         * tests/test-stdlib.c (main): Likewise.
19367
19368         init.sh: accomodate directory with no .exes
19369         * tests/init.sh: Accomodate directory containing only scripts.
19370
19371         tests: avoid compiler warning
19372         * tests/test-stdlib.c (main): Use the variable.
19373
19374         fdutimens, fdutimensat: update signature, again
19375         * lib/utimens.h (gl_futimens): Delete, and move signature...
19376         (fdutimens): ...here.
19377         (fdutimensat): Rearrange signature.
19378         (lutimensat): Rename variable for clarity.
19379         * lib/fdutimensat.c (fdutimensat): Update signature.
19380         * lib/utimens.c (fdutimens): Likewise.
19381         (gl_futimens): Delete.
19382         (utimens, lutimens): Update callers.
19383         * lib/futimens.c (futimens): Likewise.
19384         * tests/test-fdutimensat.c: Likewise.
19385         * tests/test-utimens.c: Likewise.
19386         * tests/test-futimens.h: Update comment.
19387         * NEWS: Mention this.
19388         Suggested by Paul Eggert.
19389
19390 2010-09-17  Bruno Haible  <bruno@clisp.org>
19391
19392         Take over the maintenance of some older macros from Autoconf.
19393         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19394         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19395         GNU Autoconf.
19396         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19397         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19398
19399 2010-09-17  Eric Blake  <eblake@redhat.com>
19400
19401         fdutimensat: drop atflag validation
19402         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19403         with valid fd, to close a race scenario where futimens is
19404         unsupported and FILE was replaced by a symlink.
19405         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19406         accordingly.
19407         Suggested by Paul Eggert.
19408
19409 2010-09-16  Bruno Haible  <bruno@clisp.org>
19410
19411         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19412         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19413
19414 2010-09-16  Bruno Haible  <bruno@clisp.org>
19415
19416         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19417         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19418         login_tty exists.
19419         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19420
19421 2010-09-16  Bruno Haible  <bruno@clisp.org>
19422
19423         login_tty: Make the replacement code work on BSD systems.
19424         * lib/login_tty.c: Include <sys/ioctl.h>.
19425         (login_tty): Use ioctl TIOCSCTTY when available.
19426         * modules/login_tty (Depends-on): Add sys_ioctl.
19427         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19428
19429 2010-09-16  Bruno Haible  <bruno@clisp.org>
19430
19431         login_tty: Stricter unit test.
19432         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19433         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19434         and tcgetsid() after login_tty.
19435         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19436
19437 2010-09-16  Bruno Haible  <bruno@clisp.org>
19438
19439         New module 'tcgetsid'.
19440         * lib/tcgetsid.c: New file.
19441         * m4/tcgetsid.m4: New file.
19442         * modules/tcgetsid: New file.
19443         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19444         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19445         GNULIB_TCGETSID, HAVE_TCGETSID.
19446         * lib/termios.in.h: Include <sys/types.h>.
19447         (tcgetsid): New declaration.
19448         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19449         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19450         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19451         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19452
19453 2010-09-16  Bruno Haible  <bruno@clisp.org>
19454
19455         Tests for module 'termios'.
19456         * modules/termios-c++-tests: New file.
19457         * modules/termios-tests: New file.
19458         * tests/test-termios-c++.cc: New file.
19459         * tests/test-termios.c: New file.
19460
19461         New module 'termios'.
19462         * modules/termios: New file.
19463         * lib/termios.in.h: New file.
19464         * m4/termios_h.m4: New file.
19465         * doc/posix-headers/termios.texi: Mention the new module.
19466
19467 2010-09-16  Eric Blake  <eblake@redhat.com>
19468
19469         fdutimensat: add an atflag parameter
19470         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19471         * lib/utimens.h (fdutimensat): Update prototype.
19472         * tests/test-fdutimensat.c: Adjust test to match.
19473         * NEWS: Document the change.
19474         Suggested by Paul Eggert.
19475
19476 2010-09-16  Bruno Haible  <bruno@clisp.org>
19477
19478         Fix typos in comments.
19479         * lib/striconveh.h: Fix typo in comment.
19480         * lib/login_tty.c (login_tty): Likewise.
19481
19482 2010-09-15  Bruno Haible  <bruno@clisp.org>
19483
19484         stdlib: clarify MirBSD WEXITSTATUS bug
19485         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19486         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19487
19488 2010-09-15  Eric Blake  <eblake@redhat.com>
19489
19490         stdlib: work around MirBSD WEXITSTATUS bug
19491         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19492         * modules/stdlib (Depends-on): Add sys_wait.
19493         * tests/test-sys_wait.c (main): Enhance test.
19494         * tests/test-stdlib.c (main): Likewise.
19495         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19496
19497         docs: mention MacOS issue with WEXITSTATUS(constant)
19498         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19499         issue.
19500         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19501
19502         strnlen: add tests
19503         * modules/strnlen-tests: New file.
19504         * tests/test-strnlen.c: Likewise.
19505
19506 2010-09-14  Bruno Haible  <bruno@clisp.org>
19507
19508         unistr/base: Avoid link errors when module 'libunistring' is also used.
19509         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19510         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19511         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19512         Declare also when HAVE_LIBUNISTRING is set.
19513         Reported by Pádraig Brady <P@draigbrady.com>.
19514
19515 2010-09-14  Eric Blake  <eblake@redhat.com>
19516
19517         test-rawmemchr: make more robust
19518         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19519         (Depends-on, configure.ac): Add needed prerequisites to use it.
19520         * modules/memchr-tests (Files, Depends-on, configure.ac):
19521         Likewise, to avoid implicit reliance on memchr module prereqs.
19522         * tests/test-memchr.c (main): Ensure proper masking.
19523         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19524         reads.
19525
19526         memchr: detect glibc Alpha bug
19527         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19528         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19529         Alpha.
19530         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19531         * tests/test-memchr.c (main): Enhance test.
19532         Reported by Nelson H. F. Beebe.
19533
19534 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19535
19536         fts, getcwd, glob: audit for dirfd returning -1
19537         * lib/fts.c (opendir): Remove #define; no longer used.
19538         (opendirat): New arg PDIR_FD.  All callers changed.
19539         (fts_build, _opendir2): Use new opendirat to avoid the need for
19540         dirfd, or for checking whether dirfd returns a negative value.
19541         Don't use opendir; always use openat followed by fdopendir.
19542         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19543         it.
19544         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19545         returns -1 here.
19546         * modules/fts (Depends-on): Remove dirfd.
19547         * modules/getcwd (Depends-on): Likewise.
19548
19549 2010-09-13  Eric Blake  <eblake@redhat.com>
19550
19551         float: fix broken MirBSD header
19552         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19553         * doc/posix-headers/float.texi (float.h): Document it.
19554
19555 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19556
19557         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19558         * lib/fts.c (opendirat): New arg extra_flags.
19559         (__opendir2): Use it to avoid following symlinks when opening
19560         a directory, if symlinks are not supposed to be followed.  See
19561         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19562
19563         fdopendir: preserve argument fd before returning
19564         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19565         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19566         (fdopendir): Use them, arranging for FD to be open to the same
19567         directory that it was when it started.  (It might be temporarily
19568         closed while fdopendir is running, so this not thread- or
19569         signal-safe.)  Be careful to do the right thing even when file
19570         descriptors are scarce and dup fails with errno == EMFILE.  See
19571         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19572
19573 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19574
19575         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19576         * NEWS: Document change.
19577         * m4/regex.m4: Disable test for regoff_t size.
19578
19579 2010-09-13  Jim Meyering  <meyering@redhat.com>
19580
19581         fts: don't operate on an invalid file descriptor after failed dup
19582         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19583         negative file descriptor.
19584
19585 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19586
19587         savedir: add streamsavedir, deprecate fdsavedir
19588         * NEWS: Mention deprecation of fdsavedir.
19589         * lib/savedir.c (streamsavedir): New extern function, whose name
19590         ends in "savedir" to be consistent with the others.  This differs
19591         from savedirstream in that it doesn't close its argument.  The
19592         next version of GNU tar will use this instead of fdsavedir, to
19593         avoid some race conditions and conserve file descriptors.
19594         (savedirstream): Reimplement as a wrapper around streamsavedir.
19595         (fdsavedir): Add a comment deprecating this function.  As far as
19596         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19597         * lib/savedir.h (streamsavedir): New decl.
19598         (fdsavedir): Add a comment deprecating this.
19599
19600 2010-09-10  Bruno Haible  <bruno@clisp.org>
19601
19602         langinfo: Fix last commit.
19603         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19604         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19605         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19606
19607 2010-09-10  Bruno Haible  <bruno@clisp.org>
19608
19609         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19610         * lib/progreloc.c (O_EXEC): Define fallback.
19611
19612 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19613
19614         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19615         * NEWS: Document recent changes to fcntl-h.
19616         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19617         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19618         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19619         Similarly for O_SEARCH; this last was already true, but not documented.
19620         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19621         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19622         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19623         Likewise.
19624         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19625         is zero, not whether it is defined.
19626         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19627         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19628         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19629
19630 2010-09-10  Bruno Haible  <bruno@clisp.org>
19631
19632         langinfo, nl_langinfo: Fix for IRIX 5.3.
19633         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19634         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19635         HAVE_LANGINFO_YESEXPR.
19636         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19637         HAVE_LANGINFO_YESEXPR.
19638         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19639         HAVE_LANGINFO_T_FMT_AMPM is 0.
19640         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19641         HAVE_LANGINFO_YESEXPR is 0.
19642         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19643         NOEXPR.
19644         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19645         * doc/posix-functions/nl_langinfo.texi: Likewise.
19646         Reported by Eric Blake.
19647
19648 2010-09-10  Bruno Haible  <bruno@clisp.org>
19649
19650         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19651         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19652         on FreeBSD 8.0 and OpenBSD 4.6.
19653         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19654         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19655         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19656         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19657         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19658         ac_includes_default.
19659         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19660
19661 2010-09-09  Eric Blake  <eblake@redhat.com>
19662
19663         strsignal: work around NetBSD bug
19664         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19665         * lib/string.in.h (includes): Likewise.
19666         * doc/posix-functions/strsignal.texi (strsignal): Document the
19667         bug.
19668         Reported by Nelson H. F. Beebe.
19669
19670         gnulib-tool: work with NetBSD /bin/sh
19671         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19672         (func_get_description, func_get_comment, func_get_status)
19673         (func_get_notice, func_get_applicability, func_get_filelist)
19674         (func_get_dependencies, func_get_autoconf_early_snippet)
19675         (func_get_autoconf_snippet, func_get_automake_snippet)
19676         (func_get_include_directive, func_get_link_directive)
19677         (func_get_license, func_get_maintainer, func_import): Avoid
19678         shell syntax errors from parsing syntax extensions.
19679
19680 2010-09-09  Bruno Haible  <bruno@clisp.org>
19681
19682         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19683         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19684         a reliable way to determine whether the 'alias' command works.
19685
19686 2010-09-08  Jim Meyering  <meyering@redhat.com>
19687
19688         init.sh: penalize a set-x-impaired shell; don't disqualify it
19689         * tests/init.sh: Too many shells corrupt application stderr when
19690         you set -x, so we can't afford to disqualify them, since at least
19691         on Irix-6.5, that would disqualify all bourne shells.
19692         Instead, use a two-pass approach.
19693         On the first pass, try to find a shell that meets the stricter
19694         condition that set -x does not corrupt stderr.
19695         If no shell meets the stricter condition, retest each candidate
19696         shell, but without that extra condition.  Finally, when
19697         VERBOSE=yes is requested and set -x might cause trouble, simply
19698         issue a warning and refrain from enabling debug output.
19699
19700 2010-09-08  Eric Blake  <eblake@redhat.com>
19701
19702         unsetenv: fix OpenBSD bug
19703         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19704         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19705         documentation.
19706         Reported by Jim Meyering.
19707
19708         strtod: work around IRIX 6.5 bug
19709         * lib/strtod.c (strtod): Reparse number on shorter string if
19710         exponent parse was invalid.
19711         * tests/test-strtod.c (main): Add check for "0x1p 2".
19712         Reported by Tom G. Christensen.
19713
19714         getopt: optimize previous patch
19715         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19716         empty variable.  Speed up awk script.
19717         Reported by Paolo Bonzini.
19718
19719 2010-09-08  Jim Meyering  <meyering@redhat.com>
19720
19721         test.sh: disqualify shells for which set -x corrupts stderr
19722         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19723         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19724         appear in stderr output.  For example, this command:
19725             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19726         prints "P=1" on those two systems:
19727
19728 2010-09-08  Bruno Haible  <bruno@clisp.org>
19729
19730         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19731         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19732         commands, because some shells ignore redirections when there is an
19733         error in the command lookup.
19734         Reported by Eric Blake.
19735
19736 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19737
19738         * lib/regex.h: Fix a mention of `regex_compile' (should be
19739         `re_compile_pattern').
19740         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19741         (re_set_registers): Correct name of parameter in comment.
19742
19743         * doc/regex.texi: Add documentation for missing syntax flags.
19744         Remove commented-out documentation of defunct syntax option
19745         RE_NO_EMPTY_ALTS.
19746         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19747         Add documentation of re_set_registers.
19748         Document trick to re-use a pattern buffer by setting fastmap manually.
19749         Update documentation of struct re_pattern_buffer per public members.
19750         Uncomment documentation of equivalence class operators and
19751         collating symbol operators, since they are now implemented,
19752         Explain leftmost-longest matching in relation to alternatives.
19753         Tidy documentation of substring matching.
19754         Remove POSIX documentation, which is done better in
19755         glibc, and refer the reader there. Keep BSD API documentation, as
19756         that is not readily available elsewhere.
19757
19758 2010-09-07  Eric Blake  <eblake@redhat.com>
19759
19760         getopt: handle POSIXLY_CORRECT set but not exported
19761         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19762         export state of POSIXLY_CORRECT, due to bash set -o posix.
19763         Reported by Dustin J. Mitchell.
19764
19765 2010-09-05  Bruno Haible  <bruno@clisp.org>
19766
19767         gnulib-tool: Highlight the changed options.
19768         * gnulib-tool (func_usage): Display the --import, --add-import,
19769         --remove-import explanations in bold font.
19770
19771 2010-09-06  Karl Berry  <karl@gnu.org>
19772
19773         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19774
19775 2010-09-05  Bruno Haible  <bruno@clisp.org>
19776
19777         uniwidth/width: Update comment.
19778         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19779         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19780
19781 2010-09-05  Bruno Haible  <bruno@clisp.org>
19782
19783         isinf, isnan: Relax license.
19784         * modules/isinf (License): Change from GPL to LGPL, with consent from
19785         Ben Pfaff.
19786         * modules/isnan (License): Likewise.
19787         Requested by Ludovic Courtès.
19788
19789 2010-09-04  Bruno Haible  <bruno@clisp.org>
19790
19791         gnulib-tool: Help migration from --import to --add-import or --update.
19792         * gnulib-tool: Emit a verbose error message when --import is used
19793         without any module name.
19794
19795 2010-09-04  Bruno Haible  <bruno@clisp.org>
19796
19797         Update doc about gnulib-tool.
19798         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19799         'gnulib-tool --update' in more detail.
19800         Reported by Eric Blake.
19801
19802 2010-09-04  Bruno Haible  <bruno@clisp.org>
19803
19804         gnulib-tool: Change --import. New options --add/remove-import.
19805         * gnulib-tool: New options --add-import, --remove-import.
19806         (func_usage): Document them.
19807         (have_associative): Define always.
19808         (func_import): In import mode, don't merge the specified settings with
19809         the cached settings. Implement remove-import mode.
19810         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19811         Explain when to use them versus --import.
19812         (Simple update): Use --add-import instead of --import.
19813         * NEWS: Mention the change.
19814
19815 2010-09-04  Bruno Haible  <bruno@clisp.org>
19816
19817         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19818         separate gnulib.mk.
19819
19820 2010-09-04  Bruno Haible  <bruno@clisp.org>
19821
19822         gnulib-tool: Don't talk about CVS any more.
19823         * gnulib-tool (func_usage, func_import): Write "version control"
19824         instead of CVS.
19825
19826 2010-09-04  Jim Meyering  <meyering@redhat.com>
19827
19828         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19829         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19830         false positives (whose names may be ill-chosen) when searching
19831         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19832         would cause a false-positive.
19833
19834         avoid coreutils "make distcheck" failure
19835         Coreutils tests with an absolute build directory name that contains
19836         a space.  Not quoting this directory name caused a failure.
19837         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19838         * tests/test-vc-list-files-cvs.sh: Likewise.
19839
19840 2010-09-04  Bruno Haible  <bruno@clisp.org>
19841
19842         gnulib-tool: Avoid error when run in a package without Makefile.am.
19843         * gnulib-tool: When collecting the m4dirs in a package that does not
19844         have a Makefile.am, eliminate those directories that contain no
19845         gnulib-cache.m4. Fix expression that counts these directories.
19846
19847 2010-09-04  Bruno Haible  <bruno@clisp.org>
19848
19849         update-copyright test: Improve output when perl is missing or too old.
19850         * tests/test-update-copyright.sh: Move test of Perl version down after
19851         the test whether Perl exists. Provide an explanation relating Perl's
19852         error message to Automake's SKIP: message.
19853
19854 2010-09-04  Bruno Haible  <bruno@clisp.org>
19855
19856         Don't augment PATH in TESTS_ENVIRONMENT.
19857         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19858         set abs_aux_dir instead of augmenting PATH.
19859         * modules/vc-list-files-tests (Makefile.am): Likewise.
19860         * tests/test-update-copyright.sh: Augment PATH here.
19861         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19862         path_prepend_.
19863         * tests/test-vc-list-files-git.sh: Likewise.
19864
19865 2010-09-04  Jim Meyering  <meyering@redhat.com>
19866
19867         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19868         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19869
19870 2010-09-04  Bruno Haible  <bruno@clisp.org>
19871
19872         strdup: Fix compilation error in C++ mode.
19873         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19874         the macro.
19875
19876 2010-09-04  Bruno Haible  <bruno@clisp.org>
19877
19878         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19879         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19880         macro into a function.
19881         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19882
19883 2010-09-04  Bruno Haible  <bruno@clisp.org>
19884
19885         Set PATH_SEPARATOR the same way autoconf does.
19886         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19887         the value of PATH_SEPARATOR the same way autoconf-generated configure
19888         scripts do.
19889         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19890         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19891
19892 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19893
19894         Set PATH_SEPARATOR the same way autoconf does.
19895         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19896         the same way autoconf-generated configure scripts do.
19897         * posix-modules: Likewise.
19898
19899 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19900
19901         hash: fix safe_hasher const typo
19902         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19903         const; otherwise, there is a type error later.
19904
19905 2010-09-02  Jim Meyering  <meyering@redhat.com>
19906
19907         test-update-copyright.sh: require perl 5.8.0
19908         * tests/test-update-copyright.sh: Require 5.8.0,
19909         which Tom G. Christensen has confirmed is adequate,
19910         while 5.6.1 is not.
19911
19912 2010-09-02  Eric Blake  <eblake@redhat.com>
19913
19914         tests: init.sh improvements for re-exec'ing with zsh
19915         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19916         -vx through shell re-exec.
19917         Reported by Tom G. Christensen.
19918
19919         wctype: fix typo in previous commit
19920         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19921         Reported by Ludovic Courtès.
19922
19923 2010-09-02  Jim Meyering  <meyering@redhat.com>
19924
19925         test-update-copyright.sh: skip test if Perl is too old
19926         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
19927         Reported by Tom G. Christensen.
19928
19929 2010-09-02  Bruno Haible  <bruno@clisp.org>
19930
19931         wctype: Avoid compilation error on IRIX 6.5.30.
19932         * lib/wctype.in.h (iswblank): Declare with a replacement if
19933         REPLACE_ISWBLANK is set.
19934         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
19935         declared. Set REPLACE_ISWBLANK.
19936         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
19937         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
19938         * doc/posix-headers/wctype.texi: Likewise.
19939         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19940
19941 2010-09-01  Bruno Haible  <bruno@clisp.org>
19942
19943         New module 'socketlib'.
19944         * modules/socketlib: New file.
19945         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
19946         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
19947         * modules/sockets (Depends-on): Add socketlib.
19948         Suggested by Sam Steingold <sds@gnu.org>.
19949
19950 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
19951
19952         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
19953
19954         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
19955         when one needs search access to a directory but not read access.
19956         On systems where it is available, it works in some cases where
19957         O_RDONLY does not, namely on directories that are searchable but
19958         not readable, and which need only to be searchable.  If O_SEARCH
19959         is not available, fall back to the traditional method of using
19960         O_RDONLY.
19961
19962         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
19963         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
19964         when opening a directory that needs only to be searchable.
19965         * lib/chdir-safer.c (chdir_no_follow): Likewise.
19966         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
19967         * lib/openat-proc.c (openat_proc_name): Likewise.
19968         * lib/openat.c (openat_needs_fchdir): Likewise.
19969         * lib/save-cwd.c (save_cwd): Likewise.
19970         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
19971
19972 2010-08-28  Bruno Haible  <bruno@clisp.org>
19973
19974         New module 'host-cpu-c-abi'.
19975         * modules/host-cpu-c-abi: New file.
19976         * m4/host-cpu-c-abi.m4: New file, based on part of
19977         clisp/src/m4/general.m4.
19978         Requested by Sam Steingold <sds@gnu.org>.
19979
19980 2010-08-31  Eric Blake  <eblake@redhat.com>
19981         and Jim Meyering  <meyering@redhat.com>
19982
19983         hash: factor, and guard against misbehaving hasher function
19984         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
19985         of table->hasher's return value.  Also protect against a hash value
19986         so large that adding it to table->bucket results in a NULL pointer.
19987         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
19988         Use it in place of open-coded check-and-abort.
19989
19990 2010-08-30  Bruno Haible  <bruno@clisp.org>
19991
19992         hash: silence spurious clang warning
19993         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
19994         Reported by Eric Blake.
19995
19996 2010-08-30  Eric Blake  <eblake@redhat.com>
19997
19998         strstr, memmem, strcasestr: avoid leaked shell message
19999         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20000         FreeBSD.
20001         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20002         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20003
20004         tests: silence clang warning
20005         * tests/test-malloca.c (do_allocation): Avoid dead store.
20006
20007 2010-08-29  Bruno Haible  <bruno@clisp.org>
20008
20009         gettext: Fix recent mistake.
20010         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20011
20012 2010-08-29  Bruno Haible  <bruno@clisp.org>
20013
20014         selinux-h: Offer a --without-selinux option.
20015         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20016         --without-selinux was specified, skip all tests and define
20017         HAVE_SELINUX_SELINUX_H to 0.
20018         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20019         set LIB_SELINUX to empty.
20020         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20021         gl_LIBSELINUX. If --without-selinux was specified, replace
20022         selinux/context.h.
20023         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20024
20025 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20026             Bruno Haible  <bruno@clisp.org>
20027
20028         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20029         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20030         of HAVE_REALLOC.
20031         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20032         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20033         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20034         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20035
20036 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20037             Bruno Haible  <bruno@clisp.org>
20038
20039         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20040         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20041         HAVE_CALLOC.
20042         * lib/xmalloc.c: Update accordingly.
20043         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20044         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20045         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20046
20047 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20048             Bruno Haible  <bruno@clisp.org>
20049
20050         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20051         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20052         HAVE_MALLOC.
20053         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20054         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20055         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20056
20057 2010-08-29  Bruno Haible  <bruno@clisp.org>
20058
20059         Update modules list.
20060         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20061         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20062         (String handling <string.h>): Add astrxfrm.
20063         (File system functions): Add readlinkat.
20064
20065 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20066
20067         Tests for module 'realloc-gnu'.
20068         * modules/realloc-gnu-tests: New file.
20069         * tests/test-realloc-gnu.c: New file.
20070
20071         Tests for module 'calloc-gnu'.
20072         * modules/calloc-gnu-tests: New file.
20073         * tests/test-calloc-gnu.c: New file.
20074
20075         Tests for module 'malloc-gnu'.
20076         * modules/malloc-gnu-tests: New file.
20077         * tests/test-malloc-gnu.c: New file.
20078
20079 2010-08-28  Bruno Haible  <bruno@clisp.org>
20080
20081         Rename module 'realloc' -> 'realloc-gnu'.
20082         * modules/realloc-gnu: New file, copied from modules/realloc.
20083         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20084         obsolete.
20085         * modules/mgetgroups (Depends-on): Update.
20086         * doc/posix-functions/realloc.texi: Update.
20087         * NEWS: Mention the change.
20088
20089         Rename module 'calloc' -> 'calloc-gnu'.
20090         * modules/calloc-gnu: New file, copied from modules/calloc.
20091         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20092         obsolete.
20093         * doc/posix-functions/calloc.texi: Update.
20094         * NEWS: Mention the change.
20095
20096         Rename module 'malloc' -> 'malloc-gnu'.
20097         * modules/malloc-gnu: New file, copied from modules/malloc.
20098         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20099         obsolete.
20100         * modules/argp (Depends-on): Update.
20101         * modules/regex (Depends-on): Update.
20102         * doc/posix-functions/malloc.texi: Update.
20103         * NEWS: Mention the change.
20104
20105 2010-08-28  Eric Blake  <eblake@redhat.com>
20106
20107         pread, pwrite: add missing dependency
20108         * modules/pread (Depends-on): Add extensions.
20109         * modules/pwrite (Depends-on): Likewise.
20110
20111 2010-08-28  Bruno Haible  <bruno@clisp.org>
20112
20113         unistr/u*-strchr: Fix tests dependencies.
20114         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20115         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20116         Reported by Ian Beckwith <ianb@erislabs.net>.
20117
20118 2010-08-28  Bruno Haible  <bruno@clisp.org>
20119
20120         read-file: Don't occupy too much unused memory.
20121         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20122
20123 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20124             Eric Blake  <eblake@redhat.com>
20125             Bruno Haible  <bruno@clisp.org>
20126
20127         read-file: Avoid memory reallocations with regular files.
20128         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20129         (fread_file): With regular files, use the remaining length as the
20130         initial buffer size.  Check against overflow.
20131         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20132         sys_stat.
20133
20134 2010-08-28  Bruno Haible  <bruno@clisp.org>
20135
20136         ftello: Relax license.
20137         * modules/ftello (License): Relax to LGPLv2+.
20138         Reported by Eric Blake.
20139
20140 2010-08-28  Bruno Haible  <bruno@clisp.org>
20141
20142         Avoid relocwrapper link errors due to gnulib replacement functions.
20143         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20144         function.
20145         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20146
20147 2010-08-28  Bruno Haible  <bruno@clisp.org>
20148
20149         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20150         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20151         defined.
20152         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20153         Suggested by Eric Blake.
20154
20155 2010-08-28  Bruno Haible  <bruno@clisp.org>
20156
20157         sys_socket, netdb: Ensure socklen_t gets defined.
20158         * modules/sys_socket (Depends-on): Add socklen.
20159         * modules/netdb (Depends-on): Likewise.
20160         * modules/getaddrinfo (Depends-on): Remove socklen.
20161         * modules/getsockopt (Depends-on): Likewise.
20162         * modules/setsockopt (Depends-on): Likewise.
20163         * tests/test-sys_socket.c: Check that socklen_t is defined.
20164         * tests/test-netdb.c: Likewise.
20165         * m4/socklen.m4: Update comments.
20166         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20167
20168 2010-08-27  Eric Blake  <eblake@redhat.com>
20169
20170         login_tty: add missing dependency
20171         * modules/login_tty (Depends-on): Add pty.
20172
20173 2010-08-26  Eric Blake  <eblake@redhat.com>
20174
20175         lib-symbol-versions: fix m4 quoting
20176         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20177         format for AC_LINK_IFELSE.
20178
20179         glob: fix compile test
20180         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20181
20182         btowc: fix missing file
20183         * modules/btowc (Files): Also ship locale-fr.m4.
20184
20185         lseek: fix link test
20186         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20187         AC_LINK_IFELSE.
20188
20189         include_next: silence autoconf 2.68 warning
20190         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20191         AC_COMPILE_IFELSE as special.
20192         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20193         autoconf < 2.68.
20194
20195         acl: fix compilation test
20196         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20197         AC_COMPILE_IFELSE.
20198
20199 2010-08-26  Bruno Haible  <bruno@clisp.org>
20200
20201         Modernize AC_TRY_RUN invocations.
20202         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20203         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20204         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20205         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20206         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20207         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20208         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20209         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20210         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20211         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20212         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20213         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20214         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20215         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20216         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20217         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20218         gl_MBRLEN_NUL_RETVAL): Likewise.
20219         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20220         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20221         Likewise.
20222         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20223         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20224         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20225         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20226         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20227         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20228         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20229         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20230         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20231         Likewise.
20232         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20233         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20234         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20235         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20236         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20237         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20238         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20239         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20240         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20241         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20242
20243 2010-08-26  Bruno Haible  <bruno@clisp.org>
20244
20245         Modernize AC_TRY_LINK invocations.
20246         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20247         AC_TRY_LINK.
20248         * m4/argp.m4 (gl_ARGP): Likewise.
20249         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20250         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20251         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20252         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20253         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20254         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20255         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20256         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20257         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20258         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20259         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20260         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20261         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20262         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20263         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20264         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20265         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20266         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20267         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20268         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20269         Likewise.
20270         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20271         Likewise.
20272         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20273         Likewise.
20274         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20275         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20276         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20277         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20278         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20279         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20280         * m4/servent.m4 (gl_SERVENT): Likewise.
20281         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20282         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20283         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20284         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20285         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20286         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20287         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20288         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20289         * modules/tsearch-tests (configure.ac): Likewise.
20290
20291 2010-08-26  Bruno Haible  <bruno@clisp.org>
20292
20293         Modernize AC_TRY_COMPILE invocations.
20294         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20295         AC_TRY_COMPILE.
20296         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20297         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20298         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20299         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20300         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20301         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20302         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20303         * m4/lock.m4 (gl_LOCK): Likewise.
20304         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20305         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20306         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20307         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20308         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20309         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20310         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20311         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20312         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20313         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20314         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20315         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20316         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20317         extraneous semicolon.
20318
20319 2010-08-26  Jim Meyering  <meyering@redhat.com>
20320
20321         stat-time: relax license LGPL
20322         * modules/stat-time (License): Change from GPL to LGPL,
20323         with consent from all contributors, for use in libguile.
20324         Requested by Ludovic Courtès.
20325
20326 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20327
20328         poll: return immediately on POLLHUP.
20329         * lib/poll.c (poll): Always set timeout before wait_timeout is
20330         computed.
20331
20332 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20333
20334         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20335         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20336         rmdir ("dir/.//"), unlinkat.
20337
20338 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20339
20340         stdbool: avoid spurious failure with modern xlc
20341         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20342
20343 2010-08-24  Bruno Haible  <bruno@clisp.org>
20344
20345         getloadavg: simplify code
20346         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20347         gl_have_func. Update comments.
20348
20349 2010-08-24  Eric Blake  <eblake@redhat.com>
20350
20351         getloadavg: don't define SVR4 on cygwin
20352         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20353         only define SVR4 when -lkvm is required.
20354         Reported by Yaakov Selkowitz.
20355
20356 2010-08-24  Bruno Haible  <bruno@clisp.org>
20357
20358         priv-set: fix comment
20359         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20360
20361 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20362
20363         priv-set: fix comments
20364         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20365         to match code, as suggested by David Bartley in:
20366         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20367
20368 2010-08-23  Eric Blake  <eblake@redhat.com>
20369
20370         stdbool: avoid rejecting clang
20371         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20372         * tests/test-stdbool.c: Enable more tests if using the system
20373         <stdbool.h> instead of the gnulib replacement.
20374         (main): Move xlc bug test to a runtime test for all compilers.
20375         Reported by Anders Kaseorg.
20376
20377         argz: fix shell quoting issue
20378         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20379         Reported by Charles Wilson.
20380
20381 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20382             Erik Faye-Lund <kusmabite@gmail.com>
20383
20384         poll, select: handle ERROR_BROKEN_PIPE.
20385         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20386         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20387         * lib/select.c (win32_compute_revents): Do not mark a pipe
20388         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20389
20390 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20391
20392         fts: allow compilation with C++
20393         * lib/fts_.h: Specify extern "C" linkage with C++.
20394
20395 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20396
20397         Fix gnulib-tool sed script de-commentation for AIX sed.
20398         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20399         sed.
20400
20401 2010-08-17  Eric Blake  <eblake@redhat.com>
20402
20403         test-stddef: test for (some) offsetof bugs
20404         * tests/test-stddef.c: Enhance test to ensure correct type of
20405         offsetof.
20406         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20407         that we are not fixing at this time.
20408
20409 2010-08-15  Bruno Haible  <bruno@clisp.org>
20410
20411         stpncpy: Allow stpncpy to be defined as a macro.
20412         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20413         if it's already correctly declared.
20414         * lib/string.in.h (stpncpy): Undefine before redefining.
20415         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20416
20417 2010-08-14  Bruno Haible  <bruno@clisp.org>
20418
20419         Rename module 'memxfrm' to 'amemxfrm'.
20420         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20421         (amemxfrm): Renamed from memxfrm.
20422         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20423         (amemxfrm): Renamed from memxfrm.
20424         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20425         * NEWS: Mention the change.
20426         * MODULES.html.sh (String handling <string.h>): Update.
20427         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20428         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20429         * lib/unicase/u16-casexfrm.c: Likewise.
20430         * lib/unicase/u32-casexfrm.c: Likewise.
20431         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20432         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20433         * lib/uninorm/u16-normxfrm.c: Likewise.
20434         * lib/uninorm/u32-normxfrm.c: Likewise.
20435         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20436         memxfrm.
20437         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20438         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20439         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20440         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20441         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20442         Suggested by Paul Eggert.
20443
20444 2010-08-14  Bruno Haible  <bruno@clisp.org>
20445
20446         Tests for module 'astrxfrm'.
20447         * modules/astrxfrm-tests: New file.
20448         * tests/test-astrxfrm.c: New file.
20449
20450         New module 'astrxfrm'.
20451         * lib/astrxfrm.h: New file.
20452         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20453         * modules/astrxfrm: New file.
20454
20455 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20456
20457         regex: Tweak doc.
20458         * doc/regex.texi (Overview): Don't mention regex.c.
20459         (GNU Regular Expression Compiling): Likewise.
20460         (Match-end-of-line Operator): Mention 'not_eol'.
20461
20462 2010-08-14  Brian Gough  <bjg@gnu.org>
20463             Bruno Haible  <bruno@clisp.org>
20464
20465         git-merge-changelog: add doc relating to use with bzr and hg.
20466         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20467
20468 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20469
20470         pthread: fix pthread.h creation for srcdir != builddir
20471         * modules/pthread (Makefile.am): Fix the rule to work also in a
20472         non-srcdir build.
20473
20474 2010-08-13  Karl Berry  <karl@gnu.org>
20475
20476         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20477         * doc/posix-*/*: force line break before @url of POSIX
20478         specifications.
20479         Suggested by Werner Lemberg.
20480
20481 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20482
20483         strtod: fix const diagnostic
20484         * lib/strtod.c (strtod): Don't assign const char * to char *,
20485         as this elicits a warning from GCC when warnings are enabled.
20486
20487 2010-08-10  Pádraig Brady <P@draigbrady.com>
20488         and Eric Blake  <eblake@redhat.com>
20489
20490         copy-acl: ignore ENOTSUP on HP-UX
20491         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20492         so that it is available for HP-UX.
20493         * lib/copy-acl.c (qcopy_acl): Use it.
20494         Reported by Patrick M. Callahan.
20495
20496 2010-08-10  Eric Blake  <eblake@redhat.com>
20497
20498         open, chown: relax license
20499         * modules/open (License): Change to LGPLv2+, with consent by all
20500         authors, for use in augeas.
20501         * modules/chown (License): Likewise.
20502         * modules/lchown (Likewise): Likewise.
20503         Requested by Adam Stokes.
20504
20505 2010-08-09  Karl Berry  <karl@gnu.org>
20506
20507         * build-aux/ar-lib: new file, import from Automake.
20508         * config/srclist.txt: autocheck for updates.
20509
20510 2010-08-09  Eric Blake  <eblake@redhat.com>
20511
20512         readlinkat: adjust client modules
20513         * modules/areadlinkat (Depends-on): Use readlinkat, not
20514         symlinkat.
20515         * modules/areadlinkat-with-size (Depends-on): Likewise.
20516
20517         mknod: be more vocal about danger of running tests as root
20518         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20519         root, since that is just asking for problems.
20520         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20521
20522         readlinkat: split into its own module
20523         * modules/symlinkat: Split readlinkat...
20524         * modules/readlinkat: ...into separate module.
20525         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20526         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20527         * lib/symlinkat.c (readlinkat): Move...
20528         * lib/readlinkat.c: ...into new file.
20529         * modules/symlinkat-tests: Split readlinkat test...
20530         * modules/readlinkat-tests: ...into separate module.
20531         * tests/test-symlinkat.c: Split...
20532         * tests/test-readlinkat.c: ...into new file.
20533         * NEWS: Document the split.
20534         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20535         * lib/unistd.in.h (readlinkat): Likewise.
20536         Suggested by Bruno Haible.
20537
20538 2010-08-08  Bruno Haible  <bruno@clisp.org>
20539
20540         memxfrm: Speed up.
20541         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20542         that usually only one call to strxfrm is necessary for each string
20543         part.
20544         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20545
20546 2010-08-07  Karl Berry  <karl@gnu.org>
20547
20548         * doc/posix-headers/limits.texi,
20549         * doc/posix-functions/malloc.texi,
20550         * doc/posix-functions/strsignal.texi: missing @item.
20551         * doc/ld-version-script.texi: spurious leading i.
20552         * doc/regex.texi (Interval Operators): no commas inside @var.
20553
20554 2010-08-01  Bruno Haible  <bruno@clisp.org>
20555
20556         Integrate the regex documentation.
20557         * doc/gnulib.texi: Define 'cn' index.
20558         (Regular expressions): New a chapter that includes regex.texi and
20559         regexprops-generic.texi.
20560         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20561         syntax.
20562
20563         Whitespace cleanup.
20564         * doc/regex.texi: Remove trailing spaces.
20565
20566         Add regex documentation.
20567         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20568         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20569         Written by Kathy A. Hargreaves and Karl Berry.
20570
20571 2010-08-01  Bruno Haible  <bruno@clisp.org>
20572
20573         link: Update documentation.
20574         * doc/posix-functions/link.texi: Update regarding Solaris.
20575
20576 2010-07-31  Bruno Haible  <bruno@clisp.org>
20577
20578         Update modules list.
20579         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20580         (String handling <string.h>): Add memcmp2, memxfrm.
20581         (Container data structures): Add xlist, xsublist, xoset.
20582         (Core language properties): Add alignof, unused-parameter.
20583         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20584         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20585         (Unibyte characters <ctype.h>): New section.
20586         (String handling <string.h>): New section.
20587         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20588         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20589         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20590         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20591         tan, tanh, tanl, y0, y1, yn.
20592         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20593         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20594         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20595         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20596         unlockpt, vdprintf, vdprintf-posix.
20597         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20598         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20599         xconcat-filename.
20600         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20601         getdtablesize, pipe2, pipe2-safer.
20602         (Security): New section.
20603         (Networking functions): Add accept4.
20604         (Signal handling): Add sigpipe.
20605         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20606         mbmemcasecoll.
20607         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20608         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20609         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20610         pipe-filter-ii.
20611         (Misc): Add argp-version-etc, login_tty, parse-duration.
20612
20613 2010-07-31  Bruno Haible  <bruno@clisp.org>
20614
20615         Improve doc in MODULES.html.
20616         * modules/linkat (Description): Add the word "function".
20617         * modules/mkfifo (Description): Likewise.
20618         * modules/mknod (Description): Likewise.
20619         * modules/remove (Description): Likewise.
20620         * modules/renameat (Description): Likewise.
20621         * modules/stat (Description): Likewise.
20622         * modules/symlink (Description): Likewise.
20623         * modules/unlink (Description): Likewise.
20624
20625 2010-07-31  Bruno Haible  <bruno@clisp.org>
20626
20627         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20628         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20629         option --enable/disable-c++ instead of --enable/disable-cxx.
20630         * NEWS: Mention the change.
20631
20632 2010-07-31  Bruno Haible  <bruno@clisp.org>
20633
20634         readlink, areadlink: Relax test a bit.
20635         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20636         alternative to ENOTDIR.
20637         * tests/test-areadlink.h (test_areadlink): Likewise.
20638         Reported by Rainer Tammer.
20639
20640 2010-07-31  Bruno Haible  <bruno@clisp.org>
20641
20642         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20643         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20644         character, perform the search using U_STRCHR.
20645         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20646         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20647         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20648         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20649         Suggested by Paolo Bonzini.
20650
20651 2010-07-31  Bruno Haible  <bruno@clisp.org>
20652
20653         unistr/u*-strstr: Fix dependencies.
20654         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20655         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20656         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20657
20658 2010-07-31  Bruno Haible  <bruno@clisp.org>
20659
20660         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20661         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20662         the beginning of the loop.
20663         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20664         cases in 'switch' statement.
20665
20666         unistr/u8-strchr: Fix several bugs.
20667         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20668         the string. When not found, return NULL, not a pointer near the end.
20669
20670         More tests for unistr/u8-strchr.
20671         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20672         that the function does not read past the first occurrence of the byte
20673         being searched.
20674         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20675         * tests/unistr/test-u16-strchr.c (main): New function.
20676         * tests/unistr/test-u32-strchr.c (main): New function.
20677
20678 2010-07-31  Bruno Haible  <bruno@clisp.org>
20679
20680         posix-modules: Ignore backup files of documentation files.
20681         * posix-modules: grep only through files named *.texi.
20682
20683 2010-07-31  Bruno Haible  <bruno@clisp.org>
20684
20685         symlinkat: Fix documentation.
20686         * doc/posix-functions/readlinkat.texi: Fix module name.
20687
20688 2010-07-31  Bruno Haible  <bruno@clisp.org>
20689
20690         fchownat: Replace also when chown has the trailing slash bug.
20691         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20692         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20693         introduced on 2010-04-10.
20694         Reported by Rainer Tammer.
20695
20696 2010-07-31  Bruno Haible  <bruno@clisp.org>
20697
20698         linkat: Work around AIX 7.1 bug.
20699         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20700         whether linkat handles trailing slash correctly. If not, replace linkat
20701         and define LINKAT_TRAILING_SLASH_BUG.
20702         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20703         check whether (fd1,file1) points to a directory if file1 or file2 ends
20704         in a slash. Code taken from lib/link.c.
20705         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20706         Reported by Rainer Tammer.
20707
20708 2010-07-31  Bruno Haible  <bruno@clisp.org>
20709
20710         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20711         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20712         This disables an xlc optimization that was causing wrong test results.
20713         Reported by Rainer Tammer.
20714
20715 2010-07-31  Bruno Haible  <bruno@clisp.org>
20716
20717         iconv: Work around AIX 6.1..7.1 bug.
20718         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20719         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20720         cross-compiling, guess no on all versions of AIX.
20721         Reported by Rainer Tammer.
20722
20723 2010-07-31  Bruno Haible  <bruno@clisp.org>
20724
20725         readlink: Relax test a bit.
20726         * tests/test-readlink.h (test_readlink): Allow different errno value
20727         when readlink is called with a file name that ends in / and refers to
20728         a file.
20729         Suggested by Eric Blake.
20730         Reported by Rainer Tammer.
20731
20732 2010-07-31  Bruno Haible  <bruno@clisp.org>
20733
20734         copysign: Does not require -lm on glibc systems.
20735         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20736         gl_COMMON_DOUBLE_MATHFUNC.
20737         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20738
20739 2010-07-31  Bruno Haible  <bruno@clisp.org>
20740
20741         duplocale: Work around AIX 7.1 bug.
20742         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20743         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20744         * lib/duplocale.c (rpl_duplocale): Update comment.
20745         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20746         Reported by Rainer Tammer.
20747
20748 2010-07-30  Bruno Haible  <bruno@clisp.org>
20749
20750         dirfd: Avoid link error on AIX 7.1.
20751         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20752         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20753         exist, set REPLACE_DIRFD.
20754         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20755         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20756         * doc/posix-functions/dirfd.texi: Update.
20757         Reported by Rainer Tammer.
20758
20759 2010-07-30  Eric Blake  <eblake@redhat.com>
20760
20761         strtod: next round of AIX fixes
20762         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20763         exponent.
20764         * tests/test-strtod.c (main): Enhance tests.
20765         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20766         Reported by Rainer Tammer.
20767
20768         futimens: fix configure check
20769         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20770         Reported by Bruno Haible.
20771
20772 2010-07-30  Bruno Haible  <bruno@clisp.org>
20773
20774         getline: Update regarding AIX.
20775         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20776         Reported by Rainer Tammer.
20777
20778 2010-07-30  Bruno Haible  <bruno@clisp.org>
20779
20780         wcwidth: Drop replacement on AIX 7.
20781         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20782         AIX 7.
20783         Reported by Rainer Tammer.
20784
20785 2010-07-30  Bruno Haible  <bruno@clisp.org>
20786
20787         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20788         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20789         a 'char *'.
20790         Reported by Rainer Tammer.
20791
20792 2010-07-30  Bruno Haible  <bruno@clisp.org>
20793
20794         unlink: Update regarding AIX.
20795         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20796         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20797         Reported by Rainer Tammer.
20798
20799 2010-07-30  Bruno Haible  <bruno@clisp.org>
20800
20801         symlink: Update regarding AIX.
20802         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20803         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20804         Reported by Rainer Tammer.
20805
20806 2010-07-30  Bruno Haible  <bruno@clisp.org>
20807
20808         strndup: Update regarding AIX.
20809         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20810         AIX 7.
20811         Reported by Rainer Tammer.
20812
20813 2010-07-30  Bruno Haible  <bruno@clisp.org>
20814
20815         stat: Update regarding AIX.
20816         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20817         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20818         Reported by Rainer Tammer.
20819
20820 2010-07-30  Bruno Haible  <bruno@clisp.org>
20821
20822         truncl: Fix autoconf test.
20823         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20824         whether truncl works.
20825         Reported by Rainer Tammer.
20826
20827 2010-07-30  Bruno Haible  <bruno@clisp.org>
20828
20829         round: Update regarding AIX.
20830         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20831         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20832         Reported by Rainer Tammer.
20833
20834 2010-07-30  Bruno Haible  <bruno@clisp.org>
20835
20836         rename: Update regarding AIX.
20837         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20838         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20839         Reported by Rainer Tammer.
20840
20841 2010-07-30  Bruno Haible  <bruno@clisp.org>
20842
20843         printf.m4: Update regarding AIX.
20844         * m4/printf.m4: Update comments regarding AIX.
20845         Reported by Rainer Tammer.
20846
20847 2010-07-30  Bruno Haible  <bruno@clisp.org>
20848
20849         iconv: Update regarding AIX.
20850         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20851         AIX 7.
20852         Reported by Rainer Tammer.
20853
20854 2010-07-30  Bruno Haible  <bruno@clisp.org>
20855
20856         getopt: Update regarding AIX.
20857         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20858         no on AIX.
20859         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20860         Reported by Rainer Tammer.
20861
20862 2010-07-30  Bruno Haible  <bruno@clisp.org>
20863
20864         ldexpl; Update regarding AIX.
20865         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20866         on AIX 7.
20867         Reported by Rainer Tammer.
20868
20869 2010-07-30  Bruno Haible  <bruno@clisp.org>
20870
20871         frexpl: Update regarding AIX.
20872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20873         on AIX 7.
20874         Reported by Rainer Tammer.
20875
20876 2010-07-30  Bruno Haible  <bruno@clisp.org>
20877
20878         open, fopen: Update regarding AIX.
20879         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20880         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20881         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20882         * doc/posix-functions/fopen.texi: Likewise.
20883         Reported by Rainer Tammer.
20884
20885 2010-07-30  Bruno Haible  <bruno@clisp.org>
20886
20887         chown: Update doc regarding AIX.
20888         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20889         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20890         Reported by Rainer Tammer.
20891
20892 2010-07-30  Eric Blake  <eblake@redhat.com>
20893
20894         strtod: fix bug in replacement function on AIX
20895         * lib/strtod.c (strtod): Special case broken "0x" parse in
20896         underlying strtod.
20897         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20898         * doc/posix-functions/strtod.texi (strtod): Likewise.
20899         Reported by Rainer Tammer.
20900
20901 2010-07-30  Bruno Haible  <bruno@clisp.org>
20902
20903         mbrlen: Fix cross-compilation guess for AIX.
20904         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20905         guess. Leftover from 2008-12-22.
20906
20907 2010-07-30  Bruno Haible  <bruno@clisp.org>
20908
20909         mbrtowc: Fix cross-compilation guess for AIX.
20910         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20911         guess. Leftover from 2008-12-21.
20912
20913 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20914
20915         init.sh: work around trap limitation of some shells
20916         * tests/init.sh (setup_): Move exit trap outside of shell function.
20917
20918 2010-07-29  Eric Blake  <eblake@redhat.com>
20919
20920         strtod: aid debugging
20921         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20922         understanding why strtod is rejected.
20923
20924 2010-07-28  Bruno Haible  <bruno@clisp.org>
20925
20926         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
20927         * lib/unistr/u8-chr.c: Include <string.h>.
20928         * tests/unistr/test-u8-chr.c: Likewise.
20929         * tests/unistr/test-u16-chr.c: Likewise.
20930         * tests/unistr/test-u32-chr.c: Likewise.
20931         * tests/unistr/test-u8-strchr.c: Likewise.
20932         * tests/unistr/test-u16-strchr.c: Likewise.
20933         * tests/unistr/test-u32-strchr.c: Likewise.
20934         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
20935         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
20936         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
20937         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
20938
20939 2010-07-28  Bruno Haible  <bruno@clisp.org>
20940
20941         Use spaces for indentation, not tabs.
20942         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20943
20944 2010-07-27  Bruno Haible  <bruno@clisp.org>
20945
20946         mbspcasecmp: Fix function specification.
20947         * lib/string.in.h (mbspcasecmp): Fix specification comment.
20948         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
20949         Reported by Eric Blake <eblake@redhat.com>.
20950
20951 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
20952
20953         timespec: use cast and not conditional, as truncation isn't possible
20954         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
20955         instead of a conditional.  Comment about the situation in more detail.
20956         This undoes most of the 2009-10-29 patch.
20957
20958 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
20959
20960         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
20961         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
20962         * lib/unistr/u8-strchr.c: Likewise.
20963         * modules/unistr/u8-chr: Depend on memchr.
20964
20965         unistr/u*-strchr: add tests
20966         * modules/unistr/u8-strchr-tests: New file.
20967         * modules/unistr/u16-strchr-tests: New file.
20968         * modules/unistr/u32-strchr-tests: New file.
20969         * tests/unistr/test-strchr.h: New file.
20970         * tests/unistr/test-u8-strchr.c: New file.
20971         * tests/unistr/test-u16-strchr.c: New file.
20972         * tests/unistr/test-u32-strchr.c: New file.
20973
20974         unistr/u*-chr: test multibyte sequences more
20975         * tests/unistr/test-chr.h: Do complete testing of the characters in the
20976         test vector.
20977         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
20978         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
20979         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
20980
20981         unistr/u*-chr: test multibyte sequences
20982         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
20983
20984         unistr/u*-chr: prepare for multibyte tests
20985         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
20986         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
20987         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
20988         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
20989         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
20990         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
20991
20992 2010-07-18  Bruno Haible  <bruno@clisp.org>
20993
20994         unistr/u8-strchr: Optimize non-ASCII argument case.
20995         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
20996         because the first byte often matches anyway.
20997         Reported by Pádraig Brady <P@draigbrady.com>.
20998
20999 2010-07-15  Karl Berry  <karl@gnu.org>
21000
21001         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21002
21003 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21004
21005         getcwd: on Solaris, work better if ancestors are inaccessible
21006         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21007         buffer and size, try again with a large buffer.  This works better
21008         on Solaris, since its getcwd succeeds even if the path to the root
21009         is inaccessible, and this is helpful in common cases such as .zfs
21010         hidden directories.  Problem reported by J Chapman Flack in
21011         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21012         Use system getcwd if it's declared, not merely if it's partly
21013         working; use the partly-working test only to avoid needless effort
21014         if the system getcwd fails.
21015         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21016         comment that was already obsolete and is now even more obsolete.
21017         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21018         now might call strdup.
21019
21020 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21021
21022         pthread: Add enough so that coreutils/src/sort.c compiles.
21023         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21024         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21025         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21026         Include <sys/types.h>, in case it defines pthread_t.
21027         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21028         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21029         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21030         (pthread_rwlockattr_t, pthread_spinlock_t):
21031         New typedefs, if HAVE_PTHREAD_T is not defined.
21032         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21033         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21034         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21035         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21036         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21037         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21038         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21039         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21040         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21041         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21042         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21043         New macros.
21044         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21045         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21046         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21047         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21048         (pthread_spin_unlock): New dummy functions.
21049         (pthread_create): Return EAGAIN; don't set errno.
21050         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21051         require AC_C_INLINE.
21052         * modules/pthread (Depends-on): Add sched, time.
21053         (pthread.h): Use AM_V_GEN.
21054
21055 2010-07-13  Bruno Haible  <bruno@clisp.org>
21056
21057         striconveh: Don't malloc memory if the result buffer is sufficient.
21058         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21059         buffer if its size is sufficient.
21060         Reported by Ludovic Courtès <ludo@gnu.org>.
21061
21062 2010-07-13  Bruno Haible  <bruno@clisp.org>
21063
21064         strtod: Add safety check.
21065         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21066
21067 2010-07-12  Bruno Haible  <bruno@clisp.org>
21068
21069         Unify tests that set gl_cv_func_ldexpl_no_libm.
21070         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21071         gl_FUNC_LDEXPL.
21072         (gl_FUNC_LDEXPL): Invoke it.
21073         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21074
21075 2010-07-12  Bruno Haible  <bruno@clisp.org>
21076
21077         Unify tests that set gl_cv_func_ldexp_no_libm.
21078         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21079         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21080         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21081         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21082         * modules/strtod (Files): Add m4/ldexp.m4.
21083
21084 2010-07-12  Bruno Haible  <bruno@clisp.org>
21085
21086         Unify tests that set gl_cv_func_frexpl_no_libm.
21087         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21088         gl_FUNC_FREXPL_NO_LIBM.
21089         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21090         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21091
21092 2010-07-12  Bruno Haible  <bruno@clisp.org>
21093
21094         Unify tests that set gl_cv_func_frexp_no_libm.
21095         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21096         gl_FUNC_FREXP_NO_LIBM.
21097         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21098         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21099
21100 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21101
21102         memcoll: clarify sizes versus lengths, document better, and tweak perf
21103         * lib/memcoll.c (strcoll_loop, memcoll0):
21104         Improve quality of descriptive comments.  Name variables
21105         consistently as to whether they are lengths (which do not include
21106         terminating null) versus sizes (which do).
21107         * lib/xmemcoll.c (xmemcoll0): Likewise.
21108         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21109         returned when s1size == 0; this is easier to compile and saves
21110         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21111
21112 2010-07-12  Bruno Haible  <bruno@clisp.org>
21113
21114         Tests for module '_Exit'.
21115         * modules/_Exit-tests: New file.
21116         * tests/test-_Exit.sh: New file.
21117         * tests/test-_Exit.c: New file.
21118
21119         New module '_Exit'.
21120         * lib/stdlib.in.h (__attribute__): New macro.
21121         (_Exit): New declaration.
21122         * lib/_Exit.c: New file.
21123         * m4/_Exit.m4: New file.
21124         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21125         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21126         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21127         * modules/_Exit: New file.
21128         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21129         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21130
21131 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21132
21133         strtod: make it more-accurate typically, and don't require libm
21134         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21135         Include limits.h.  Don't include string.h.
21136         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21137         (locale_isspace): New function, so that no casts are needed to
21138         check whether *s is a space.
21139         (ldexp): Provide an unused dummy if not available.
21140         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21141         (strtod): Use them.  This implementation prefers to use the
21142         underlying strtod if available, falling back on our own code
21143         only to fix known bugs.  This is more likely to produce an
21144         accurate result.  Also, it avoids the use of libm functions.
21145         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21146         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21147         was absent, but it caused a test failure with coreutils.
21148         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21149         with libm.
21150         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21151         * modules/strtod-tests (Makefile.am): Likewise.
21152
21153 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21154             Bruno Haible  <bruno@clisp.org>
21155
21156         unistr/u8-strchr: Optimize ASCII argument case.
21157         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21158
21159 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21160
21161         (x)memcoll: minor tweaks
21162         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21163         is after the type that it qualifies.
21164         (memcoll0): Likewise.
21165         * lib/memcoll.h (memcoll0): Likewise.
21166         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21167         * lib/xmemcoll.h (xmemcoll0): Likewise.
21168         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21169         differs from memcoll in that the NUL byte is part of the argument.
21170         Omit the abort-checks, as performance is a real issue here.  Plus,
21171         the checks were wrong anyway (an off-by-one error).  Omit local
21172         variable 'diff', as it's a bit clearer that way.
21173         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21174         no longer needed.
21175
21176 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21177
21178         (x)memcoll: speedup when input is known to be NUL delimited
21179         * lib/memcoll.c: Include stdlib.
21180         (memcoll0): New function.
21181         (strcoll_loop): New function, refactored for use in both memcoll
21182         and memcoll0.
21183         * lib/memcoll.h (memcoll0): Add prototype.
21184         * lib/xmemcoll.c (xmemcoll0): New function.
21185         (collate_error): New function, refactored for use in both xmemcoll
21186         and xmemcoll0.
21187         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21188         * m4/memcoll.m4: add inline invocation.
21189
21190 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21191
21192         * build-aux/bootstrap: Remove any local translations
21193         from the translation project synchronization directory,
21194         so that local only translations are not distributed.
21195
21196 2010-07-04  Bruno Haible  <bruno@clisp.org>
21197
21198         fsusage: Clarify which code applies to which platforms.
21199         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21200         platform.
21201         * lib/fsusage.c (get_fs_usage): Likewise.
21202
21203 2010-07-04  Bruno Haible  <bruno@clisp.org>
21204
21205         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21206         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21207         Reported by Martin Lambers <marlam@marlam.de>.
21208
21209 2010-07-04  Jim Meyering  <meyering@redhat.com>
21210
21211         hash: once again explicitly disallow insertion of NULL
21212         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21213         inserting a NULL pointer cannot work with these functions.
21214         Add a comment with details.
21215         This reverts part of the 2010-07-01 commit, 5bef1a35
21216         "hash: extend module to deal with non-pointer keys".
21217
21218 2010-07-01  Bruno Haible  <bruno@clisp.org>
21219
21220         stdbool: Update doc.
21221         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21222         Info from Christian Weisgerber <naddy@mips.inka.de>.
21223
21224 2010-07-01  Jim Meyering  <meyering@redhat.com>
21225
21226         hash: extend module to deal with non-pointer keys
21227         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21228         but that allows insertion of non-pointer entries.
21229         Do not disallow an ENTRY value of NULL.
21230         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21231         * lib/hash.h (hash_insert0): Declare.
21232
21233 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21234
21235         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21236         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21237         not present (i.e. with autoconf 2.59 and when using gettextize, not
21238         gnulib), require AC_GNU_SOURCE instead.
21239
21240 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21241
21242         idpriv-drop: Fix tests.
21243         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21244         not to the test-idpriv-droptemp program.
21245
21246 2010-06-29  Bruno Haible  <bruno@clisp.org>
21247
21248         string: Fix syntax error with g++ 2.96.
21249         * lib/string.in.h (__pure__): Remove definition.
21250         (_GL_ATTRIBUTE_PURE): New macro.
21251         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21252         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21253         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21254
21255 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21256
21257         unitypes: Fix bug introduced on 2010-05-18.
21258         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21259
21260 2010-06-22  Eric Blake  <eblake@redhat.com>
21261
21262         memmem: slight optimization
21263         * lib/str-two-way.h (critical_factorization): Update comments.
21264         Reduce work during factorization phase.
21265         Reported by Carlos Bueno <carlos@bueno.org>.
21266
21267 2010-06-21  Bruno Haible  <bruno@clisp.org>
21268
21269         Fix HAVE_CALLOC_POSIX misnomer.
21270         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21271         !HAVE_CALLOC_POSIX.
21272         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21273         HAVE_CALLOC_POSIX.
21274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21275         instead of HAVE_CALLOC_POSIX.
21276         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21277         HAVE_CALLOC_POSIX.
21278
21279         Use modern idiom for calloc() replacement.
21280         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21281         AC_FUNC_CALLOC.
21282         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21283         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21284         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21285         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21286         (gl_REPLACE_CALLOC): New macro.
21287
21288 2010-06-21  Bruno Haible  <bruno@clisp.org>
21289
21290         Fix HAVE_REALLOC_POSIX misnomer.
21291         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21292         !HAVE_REALLOC_POSIX.
21293         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21294         HAVE_REALLOC_POSIX.
21295         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21296         instead of HAVE_REALLOC_POSIX.
21297         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21298         HAVE_REALLOC_POSIX.
21299
21300         Use modern idiom for realloc() replacement.
21301         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21302         AC_FUNC_REALLOC.
21303         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21304         Autoconf's AC_FUNC_REALLOC.
21305         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21306         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21307         (gl_REPLACE_REALLOC): New macro.
21308         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21309
21310 2010-06-21  Bruno Haible  <bruno@clisp.org>
21311
21312         Fix HAVE_MALLOC_POSIX misnomer.
21313         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21314         !HAVE_MALLOC_POSIX.
21315         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21316         HAVE_MALLOC_POSIX.
21317         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21318         instead of HAVE_MALLOC_POSIX.
21319         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21320         HAVE_MALLOC_POSIX.
21321
21322         Use modern idiom for malloc() replacement.
21323         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21324         AC_FUNC_MALLOC.
21325         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21326         Autoconf's AC_FUNC_MALLOC.
21327         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21328         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21329         (gl_REPLACE_MALLOC): New macro.
21330         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21331
21332 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21333
21334         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21335         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21336         This macro takes 3 arguments, not 4.
21337
21338 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21339
21340         ipv6: fix detection under mingw
21341         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21342         in6_addr.
21343
21344 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21345
21346         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21347         that strtod() works when cross-compiling to a glibc version known
21348         to work.
21349
21350 2010-06-15  Bruno Haible  <bruno@clisp.org>
21351
21352         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21353
21354 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21355
21356         select: Correct timeout.
21357         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21358
21359 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21360
21361         git-version-gen: init shell var to avoid env var influence
21362         * build-aux/git-version-gen (v): Init shell var to empty.
21363
21364 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21365
21366         priv-set: Don't assume that priv.h exists merely because getppriv does.
21367         See Jan Andersen's bug report about AIX 5L in
21368         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21369         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21370         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21371         * lib/priv-set.h: Likewise.
21372         * tests/test-priv-set.c: Likewise.
21373
21374 2010-06-13  Bruno Haible  <bruno@clisp.org>
21375
21376         relocatable: Make it easier to test whether to install wrappers.
21377         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21378         RELOCATABLE_VIA_WRAPPER.
21379
21380 2010-06-13  Bruno Haible  <bruno@clisp.org>
21381
21382         gnulib-tool: Display specified modules and dependencies differently.
21383         * gnulib-tool (func_show_module_list): New function.
21384         (func_import, func_create_testdir): Invoke it.
21385         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21386
21387 2010-06-13  Bruno Haible  <bruno@clisp.org>
21388
21389         gnulib-tool: Align code of func_import and func_create_testdir.
21390         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21391         specified_modules.
21392
21393 2010-06-12  Jim Meyering  <meyering@redhat.com>
21394
21395         test-inttostr: avoid spurious failure on Solaris 9
21396         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21397         to accept "%ju".  Reported by Bruno Haible.
21398
21399 2010-06-11  Jim Meyering  <meyering@redhat.com>
21400
21401         test-sys_socket: mark variables as used more readably
21402         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21403         as "used" explicitly via (void) statement casts.  This is more
21404         readable than using them in an artificial return expression.
21405         Suggestion from Bruno Haible.
21406
21407 2010-06-11  Bruno Haible  <bruno@clisp.org>
21408
21409         Avoid some more warnings from "gcc -Wwrite-strings".
21410         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21411         to 'const char *'.
21412         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21413         * tests/test-c-strcasestr.c (main): Likewise.
21414         * tests/test-mbscasestr1.c (main): Likewise.
21415         * tests/test-mbscasestr2.c (main): Likewise.
21416         * tests/test-memmem.c (main): Likewise.
21417         * tests/test-strstr.c (main): Likewise.
21418         * tests/test-strcasestr.c (main): Likewise.
21419
21420 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21421
21422         init.sh: change framework_failure_ to fail with status 99, not 1
21423         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21424         automake's parallel-tests rule that this is an unexpected failure,
21425         even if the test is listed in XFAIL_TESTS.
21426
21427 2010-06-11  Jim Meyering  <meyering@redhat.com>
21428
21429         test-inttostr: avoid warnings about 4-6KB literal strings
21430         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21431         Include "macros.h", for its definition of ASSERT.
21432         (CK): s/assert/ASSERT/
21433         * modules/inttostr-tests (Files): Add macros.h.
21434
21435         init.sh: don't use $ME_ or skip_ before they are defined
21436         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21437         their first uses.  Also hoist their companions: warn_, fail_,
21438         framework_failure_, $stderr_fileno.  Prompted by a patch from
21439         Stefano Lattarini.
21440
21441         test-sys_socket: avoid set-but-not-used warnings from gcc
21442         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21443         avoid warning about set-but-not-used variables.
21444
21445         test-xvasprintf: avoid 'const' discard warnings
21446         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21447         "const" when assigning from literal strings.
21448         (test_xasprintf): Add "void" in function argument list to placate
21449         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21450
21451         tests: avoid compilation warnings in argmatch and exclude tests...
21452         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21453         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21454         Since it always exits, declare with the "noreturn" attribute.
21455         * tests/test-argmatch.c: Likewise.
21456
21457         tests: avoid 'const' discard warnings in mbsstr tests
21458         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21459         * tests/test-mbsstr2.c (main): Likewise.
21460
21461         test-verify: avoid warning from gcc's -Wmissing-declarations
21462         * tests/test-verify.c (function): Declare to be static.
21463
21464         test-inttostr.c: include <string.h> for use of strcmp
21465         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21466
21467         test-linkat: avoid failed assertion on "other" architectures
21468         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21469         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21470         sparc: https://bugs.launchpad.net/bugs/591968
21471
21472 2010-06-11  Jim Meyering  <meyering@redhat.com>
21473
21474         printf.m4: avoid autoconf's "Expanded Before Required" warning
21475         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21476         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21477         autoconf warning.
21478
21479 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21480
21481         Replacement header templates are now named with ".in", not "_".
21482         * doc/gnulib-intro.texi: Correct.
21483
21484 2010-06-10  Jim Meyering  <meyering@redhat.com>
21485
21486         inttostr-tests: depend on snprintf, not snprintf-posix
21487         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21488         snprintf-posix, to avoid this aclocal failure:
21489           missing file gnulib-tests/vasnprintf.c
21490           configure.ac:45: error: expected source file, required through \
21491           AC_LIBSOURCES, not found
21492
21493 2010-06-10  Jim Meyering  <meyering@redhat.com>
21494
21495         inttostr: add a new function, inttostr, and tests
21496         The namesake function was not available.  The existence of the
21497         template file, inttostr.c makes its addition nontrivial.
21498         * lib/anytostr.c: Rename from inttostr.c.
21499         (anytostr): Rename from inttostr.
21500         * lib/inttostr.c: New file.
21501         * modules/inttostr (Files): Add anytostr.c.
21502         (Makefile.am): Set lib_SOURCES instead of ...
21503         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21504         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21505         * lib/offtostr.c: Likewise.
21506         * lib/uinttostr.c: Likewise.
21507         * lib/umaxtostr.c: Likewise.
21508         * modules/inttostr-tests: New file.
21509         * tests/test-inttostr.c: New file.  Test these functions.
21510
21511 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21512             Bruno Haible  <bruno@clisp.org>
21513
21514         Add "Extending Gnulib" chapter to manual.
21515         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21516         chapter.
21517         (Extending Gnulib): New chapter.
21518         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21519         chapter.
21520
21521 2010-06-09  Bruno Haible  <bruno@clisp.org>
21522
21523         Avoid relocwrapper link errors due to gnulib replacement functions.
21524         * lib/areadlink.c: Use the system's malloc, realloc functions.
21525         (areadlink): Set errno to ENOMEM explicitly.
21526         * modules/areadlink (Depends-on): Remove malloc-posix.
21527         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21528
21529 2010-06-09  Bruno Haible  <bruno@clisp.org>
21530
21531         Avoid relocwrapper link errors due to gnulib replacement functions.
21532         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21533         * lib/malloca.c: Likewise.
21534         * lib/relocatable.c: Likewise.
21535         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21536         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21537         * lib/setenv.c: Use the system's malloc, realloc functions.
21538         * lib/strerror.c: Use the system's sprintf function.
21539         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21540
21541 2010-06-04  Bruno Haible  <bruno@clisp.org>
21542
21543         Prefer documented low-level autoconf macro names.
21544         * m4/lib-link.m4: Use m4_translit instead of translit.
21545         * m4/environ.m4: Likewise.
21546         * m4/mathfunc.m4: Likewise.
21547         * m4/onceonly.m4: Likewise.
21548         * m4/stdint.m4: Likewise.
21549         Suggested by Eric Blake.
21550
21551 2010-06-04  Martin Lambers  <marlam@marlam.de>
21552             Bruno Haible  <bruno@clisp.org>
21553
21554         havelib: Allow library names with '+' characters.
21555         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21556         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21557
21558 2010-06-09  Bruno Haible  <bruno@clisp.org>
21559
21560         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21561         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21562         realloc failed.
21563
21564 2010-06-08  Peter Simons  <simons@cryp.to>
21565
21566         maint.mk: make the news-check rule more configurable
21567         * top/maint.mk (news-check-lines-spec): New variable.
21568         (news-check): Use "sed -n 1,10p" in place of "head".
21569
21570 2010-06-07  Jim Meyering  <meyering@redhat.com>
21571
21572         do-release-commit-and-tag: fix typo in --help
21573         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21574
21575         regex: avoid new dead-code warning with gcc-4.6.0
21576         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21577         if-block containing a while-loop.  It's been unused for at least
21578         5 years.
21579
21580 2010-06-05  Bruno Haible  <bruno@clisp.org>
21581
21582         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21583         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21584
21585 2010-06-04  Bruno Haible  <bruno@clisp.org>
21586
21587         Update to GNU gettext 0.18.1.
21588         * modules/gettext (configure.ac): Require gettext infrastructure from
21589         version 0.18.1.
21590
21591 2010-06-03  Bruno Haible  <bruno@clisp.org>
21592
21593         Don't use AC_LIBOBJ with file names in subdirectories.
21594         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21595         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21596         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21597         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21598         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21599         gl_LIBUNISTRING_LIBSOURCE.
21600         (Makefile.am): Augment lib_SOURCES here, conditionally.
21601         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21602
21603 2010-06-03  Bruno Haible  <bruno@clisp.org>
21604
21605         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21606         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21607         expansion does not end with a newline.
21608         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21609         unnecessary newline.
21610
21611 2010-06-03  Bruno Haible  <bruno@clisp.org>
21612
21613         Reduce dependencies.
21614         * tests/test-quotearg.h: New file, extracted from
21615         tests/test-quotearg.c.
21616         * tests/test-quotearg-simple.c: New file, extracted from
21617         tests/test-quotearg.c.
21618         * tests/test-quotearg.c: Don't include <ctype.h>.
21619         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21620         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21621         use_quote_double_quotes, use_quotearg_colon): Moved to
21622         tests/test-quotearg.h.
21623         (results_g, flag_results, custom_quotes, custom_results): Moved
21624         to tests/test-quotearg-simple.c.
21625         (main): Moved the part that does not depend on gettext to
21626         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21627         performed.
21628         * modules/quotearg-simple: New file.
21629         * modules/quotearg-simple-tests: New file.
21630         * modules/quotearg (Depends-on): Add quotearg-simple.
21631         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21632         (Files): Add tests/test-quotearg.h.
21633         Reported by Paolo Bonzini.
21634
21635 2010-06-03  Bruno Haible  <bruno@clisp.org>
21636
21637         Reduce dependencies.
21638         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21639
21640 2010-06-03  Bruno Haible  <bruno@clisp.org>
21641
21642         time: Undefine more broken macros.
21643         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21644         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21645         Reported by Eric Blake.
21646
21647 2010-06-03  Bruno Haible  <bruno@clisp.org>
21648
21649         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21650         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21651         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21652         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21653         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21654         Reported by Ludovic Courtès <ludo@gnu.org>.
21655
21656 2010-06-02  Eric Blake  <eblake@redhat.com>
21657
21658         time: work with mingw + pthreads-win32 library
21659         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21660         if timespec is defined only in pthread.h.
21661         * modules/time (Makefile.am): Substitute it.
21662         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21663         <pthread.h>, when needed.
21664         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21665         from the library.
21666
21667 2010-05-31  Bruno Haible  <bruno@clisp.org>
21668
21669         Avoid expanding two macros in the wrong order.
21670         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21671         gl_LIBUNISTRING if it is defined.
21672         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21673         autoconf >= 2.64.
21674         Reported by Ludovic Courtès <ludo@gnu.org>.
21675
21676 2010-05-27  Jim Meyering  <meyering@redhat.com>
21677
21678         maint.mk: also prohibit "#undef" of always-defined symbols
21679         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21680         Allow more than one space before the symbol name.
21681         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21682         the regexp uses alternation.
21683
21684 2010-05-26  Eric Blake  <eblake@redhat.com>
21685
21686         maint.mk: avoid echo -e
21687         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21688         Convert all uses of echo -* to printf.
21689         Reported by Matthias Bolte.
21690
21691 2010-05-25  Bruno Haible  <bruno@clisp.org>
21692
21693         Update to GNU gettext 0.18, part 2.
21694         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21695         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21696
21697 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21698
21699         Add missing include in test-pwrite.c.
21700         * tests/test-pwrite.c: Include string.h, for strcmp.
21701
21702 2010-05-24  Bruno Haible  <bruno@clisp.org>
21703
21704         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21705
21706 2010-05-24  Bruno Haible  <bruno@clisp.org>
21707
21708         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21709         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21710         iconveh_error argument.
21711         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21712         U_STRCONV_TO_LOCALE.
21713         * lib/unistr/u16-strcoll.c: Likewise.
21714         * lib/unistr/u32-strcoll.c: Likewise.
21715         * modules/unistr/u8-strcoll (Depends-on): Add
21716         uniconv/u8-strconv-to-enc, localcharset. Remove
21717         uniconv/u8-strconv-to-locale.
21718         (configure.ac): Bump version number.
21719         * modules/unistr/u16-strcoll (Depends-on): Add
21720         uniconv/u16-strconv-to-enc, localcharset. Remove
21721         uniconv/u16-strconv-to-locale.
21722         (configure.ac): Bump version number.
21723         * modules/unistr/u32-strcoll (Depends-on): Add
21724         uniconv/u32-strconv-to-enc, localcharset. Remove
21725         uniconv/u32-strconv-to-locale.
21726         (configure.ac): Bump version number.
21727
21728 2010-05-24  Bruno Haible  <bruno@clisp.org>
21729
21730         Avoid a test failure on NetBSD 5.0.
21731         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21732         an iconv() bug.
21733
21734 2010-05-24  Bruno Haible  <bruno@clisp.org>
21735
21736         Adjust #include directive style.
21737         * modules/regex (Includes): Recommend to write <regex.h>.
21738
21739 2010-05-24  Bruno Haible  <bruno@clisp.org>
21740
21741         regex: Don't require alloca.
21742         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21743         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21744         only inside if (0).
21745
21746 2010-05-23  Jim Meyering  <meyering@redhat.com>
21747
21748         test-renameat.c: include <sys/stat.h>
21749         * tests/test-renameat.c: Include <sys/stat.h>; required for
21750         definition of S_IS* macros.
21751
21752 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21753
21754         Update maintainer documentation for 'relocatable-prog' module.
21755         * doc/relocatable-maint.texi: Update.
21756         Comments by Bruno Haible.
21757
21758 2010-05-23  Bruno Haible  <bruno@clisp.org>
21759
21760         git-merge-changelog: Enable --split-merged-entry by default.
21761         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21762         (usage): Don't mention this option any more.
21763         Reported by Ralf Wildenhues.
21764
21765 2010-05-23  Jim Meyering  <meyering@redhat.com>
21766
21767         test-pwrite: do not leave behind a test file named "out"
21768         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21769         The trivial-looking use of init.sh is really necessary.
21770         It ensures that the temporary file, "out", is created in
21771         a temporary directory, and removed upon termination.
21772         * tests/test-pwrite.sh: Re-add file.
21773         * modules/pwrite-tests: Reference it.
21774
21775 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21776
21777         Fix output redirection buglet in init.sh.
21778         * tests/init.sh: Fix redirection of stderr.
21779
21780 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21781
21782         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21783
21784 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21785
21786         * modules/valgrind-tests: New file.
21787         * m4/valgrind-tests.m4: New file.
21788         * doc/valgrind-tests.texi: New file.
21789         * doc/gnulib.texi (Running self-tests under valgrind): New
21790         section.
21791
21792 2010-05-19  Bruno Haible  <bruno@clisp.org>
21793
21794         Clean up dead code in recent commit.
21795         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21796         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21797         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21798         Suggested by Paolo Bonzini.
21799
21800 2010-05-19  Bruno Haible  <bruno@clisp.org>
21801
21802         Avoid valgrind error reports from libunistring.
21803         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21804         * modules/libunistring (Files): Add it.
21805         * modules/libunistring-optional (Files): Likewise.
21806
21807 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21808             Bruno Haible  <bruno@clisp.org>
21809
21810         New module 'libunistring-optional'.
21811         * modules/libunistring-optional: New file.
21812         * m4/libunistring-base.m4: New file.
21813         * m4/libunistring-optional.m4: New file.
21814         * lib/unicase.in.h: Renamed from lib/unicase.h.
21815         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21816         * lib/unictype.in.h: Renamed from lib/unictype.h.
21817         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21818         * lib/uniname.in.h: Renamed from lib/uniname.h.
21819         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21820         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21821         * lib/unistr.in.h: Renamed from lib/unistr.h.
21822         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21823         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21824         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21825         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21826         gl_LIBUNISTRING. If the library was found, determine the installed
21827         version and set LIBUNISTRING_VERSION.
21828         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21829         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21830         handle a configuration option --with-included-libunistring.
21831         * modules/libunistring (Files): Add m4/absolute-header.m4.
21832         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21833         Add m4/libunistring-base.m4.
21834         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21835         (Makefile.am): Build unicase.h from unicase.in.h.
21836         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21837         Add m4/libunistring-base.m4.
21838         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21839         (Makefile.am): Build uniconv.h from uniconv.in.h.
21840         * modules/unictype/base (Files): Use unictype.in.h instead of
21841         unictype.h. Add m4/libunistring-base.m4.
21842         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21843         (Makefile.am): Build unictype.h from unictype.in.h.
21844         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21845         Add m4/libunistring-base.m4.
21846         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21847         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21848         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21849         Add m4/libunistring-base.m4.
21850         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21851         (Makefile.am): Build uniname.h from uniname.in.h.
21852         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21853         Add m4/libunistring-base.m4.
21854         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21855         (Makefile.am): Build uninorm.h from uninorm.in.h.
21856         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21857         unistdio.h. Add m4/libunistring-base.m4.
21858         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21859         (Makefile.am): Build unistdio.h from unistdio.in.h.
21860         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21861         Add m4/libunistring-base.m4.
21862         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21863         (Makefile.am): Build unistr.h from unistr.in.h.
21864         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21865         Add m4/libunistring-base.m4.
21866         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21867         (Makefile.am): Build unitypes.h from unitypes.in.h.
21868         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21869         Add m4/libunistring-base.m4.
21870         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21871         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21872         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21873         uniwidth.h. Add m4/libunistring-base.m4.
21874         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21875         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21876         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21877         instead of augmenting lib_SOURCES.
21878         * modules/unicase/empty-suffix-context: Likewise.
21879         * modules/unicase/locale-language: Likewise.
21880         * modules/unicase/tolower: Likewise.
21881         * modules/unicase/totitle: Likewise.
21882         * modules/unicase/toupper: Likewise.
21883         * modules/unicase/u8-casecmp: Likewise.
21884         * modules/unicase/u8-casecoll: Likewise.
21885         * modules/unicase/u8-casefold: Likewise.
21886         * modules/unicase/u8-casexfrm: Likewise.
21887         * modules/unicase/u8-ct-casefold: Likewise.
21888         * modules/unicase/u8-ct-tolower: Likewise.
21889         * modules/unicase/u8-ct-totitle: Likewise.
21890         * modules/unicase/u8-ct-toupper: Likewise.
21891         * modules/unicase/u8-is-cased: Likewise.
21892         * modules/unicase/u8-is-casefolded: Likewise.
21893         * modules/unicase/u8-is-lowercase: Likewise.
21894         * modules/unicase/u8-is-titlecase: Likewise.
21895         * modules/unicase/u8-is-uppercase: Likewise.
21896         * modules/unicase/u8-prefix-context: Likewise.
21897         * modules/unicase/u8-suffix-context: Likewise.
21898         * modules/unicase/u8-tolower: Likewise.
21899         * modules/unicase/u8-totitle: Likewise.
21900         * modules/unicase/u8-toupper: Likewise.
21901         * modules/unicase/u16-casecmp: Likewise.
21902         * modules/unicase/u16-casecoll: Likewise.
21903         * modules/unicase/u16-casefold: Likewise.
21904         * modules/unicase/u16-casexfrm: Likewise.
21905         * modules/unicase/u16-ct-casefold: Likewise.
21906         * modules/unicase/u16-ct-tolower: Likewise.
21907         * modules/unicase/u16-ct-totitle: Likewise.
21908         * modules/unicase/u16-ct-toupper: Likewise.
21909         * modules/unicase/u16-is-cased: Likewise.
21910         * modules/unicase/u16-is-casefolded: Likewise.
21911         * modules/unicase/u16-is-lowercase: Likewise.
21912         * modules/unicase/u16-is-titlecase: Likewise.
21913         * modules/unicase/u16-is-uppercase: Likewise.
21914         * modules/unicase/u16-prefix-context: Likewise.
21915         * modules/unicase/u16-suffix-context: Likewise.
21916         * modules/unicase/u16-tolower: Likewise.
21917         * modules/unicase/u16-totitle: Likewise.
21918         * modules/unicase/u16-toupper: Likewise.
21919         * modules/unicase/u32-casecmp: Likewise.
21920         * modules/unicase/u32-casecoll: Likewise.
21921         * modules/unicase/u32-casefold: Likewise.
21922         * modules/unicase/u32-casexfrm: Likewise.
21923         * modules/unicase/u32-ct-casefold: Likewise.
21924         * modules/unicase/u32-ct-tolower: Likewise.
21925         * modules/unicase/u32-ct-totitle: Likewise.
21926         * modules/unicase/u32-ct-toupper: Likewise.
21927         * modules/unicase/u32-is-cased: Likewise.
21928         * modules/unicase/u32-is-casefolded: Likewise.
21929         * modules/unicase/u32-is-lowercase: Likewise.
21930         * modules/unicase/u32-is-titlecase: Likewise.
21931         * modules/unicase/u32-is-uppercase: Likewise.
21932         * modules/unicase/u32-prefix-context: Likewise.
21933         * modules/unicase/u32-suffix-context: Likewise.
21934         * modules/unicase/u32-tolower: Likewise.
21935         * modules/unicase/u32-totitle: Likewise.
21936         * modules/unicase/u32-toupper: Likewise.
21937         * modules/unicase/ulc-casecmp: Likewise.
21938         * modules/unicase/ulc-casecoll: Likewise.
21939         * modules/unicase/ulc-casexfrm: Likewise.
21940         * modules/uniconv/u8-conv-from-enc: Likewise.
21941         * modules/uniconv/u8-conv-to-enc: Likewise.
21942         * modules/uniconv/u8-strconv-from-enc: Likewise.
21943         * modules/uniconv/u8-strconv-from-locale: Likewise.
21944         * modules/uniconv/u8-strconv-to-enc: Likewise.
21945         * modules/uniconv/u8-strconv-to-locale: Likewise.
21946         * modules/uniconv/u16-conv-from-enc: Likewise.
21947         * modules/uniconv/u16-conv-to-enc: Likewise.
21948         * modules/uniconv/u16-strconv-from-enc: Likewise.
21949         * modules/uniconv/u16-strconv-from-locale: Likewise.
21950         * modules/uniconv/u16-strconv-to-enc: Likewise.
21951         * modules/uniconv/u16-strconv-to-locale: Likewise.
21952         * modules/uniconv/u32-conv-from-enc: Likewise.
21953         * modules/uniconv/u32-conv-to-enc: Likewise.
21954         * modules/uniconv/u32-strconv-from-enc: Likewise.
21955         * modules/uniconv/u32-strconv-from-locale: Likewise.
21956         * modules/uniconv/u32-strconv-to-enc: Likewise.
21957         * modules/uniconv/u32-strconv-to-locale: Likewise.
21958         * modules/unictype/bidicategory-byname: Likewise.
21959         * modules/unictype/bidicategory-name: Likewise.
21960         * modules/unictype/bidicategory-of: Likewise.
21961         * modules/unictype/bidicategory-test: Likewise.
21962         * modules/unictype/block-list: Likewise.
21963         * modules/unictype/block-test: Likewise.
21964         * modules/unictype/category-C: Likewise.
21965         * modules/unictype/category-Cc: Likewise.
21966         * modules/unictype/category-Cf: Likewise.
21967         * modules/unictype/category-Cn: Likewise.
21968         * modules/unictype/category-Co: Likewise.
21969         * modules/unictype/category-Cs: Likewise.
21970         * modules/unictype/category-L: Likewise.
21971         * modules/unictype/category-Ll: Likewise.
21972         * modules/unictype/category-Lm: Likewise.
21973         * modules/unictype/category-Lo: Likewise.
21974         * modules/unictype/category-Lt: Likewise.
21975         * modules/unictype/category-Lu: Likewise.
21976         * modules/unictype/category-M: Likewise.
21977         * modules/unictype/category-Mc: Likewise.
21978         * modules/unictype/category-Me: Likewise.
21979         * modules/unictype/category-Mn: Likewise.
21980         * modules/unictype/category-N: Likewise.
21981         * modules/unictype/category-Nd: Likewise.
21982         * modules/unictype/category-Nl: Likewise.
21983         * modules/unictype/category-No: Likewise.
21984         * modules/unictype/category-P: Likewise.
21985         * modules/unictype/category-Pc: Likewise.
21986         * modules/unictype/category-Pd: Likewise.
21987         * modules/unictype/category-Pe: Likewise.
21988         * modules/unictype/category-Pf: Likewise.
21989         * modules/unictype/category-Pi: Likewise.
21990         * modules/unictype/category-Po: Likewise.
21991         * modules/unictype/category-Ps: Likewise.
21992         * modules/unictype/category-S: Likewise.
21993         * modules/unictype/category-Sc: Likewise.
21994         * modules/unictype/category-Sk: Likewise.
21995         * modules/unictype/category-Sm: Likewise.
21996         * modules/unictype/category-So: Likewise.
21997         * modules/unictype/category-Z: Likewise.
21998         * modules/unictype/category-Zl: Likewise.
21999         * modules/unictype/category-Zp: Likewise.
22000         * modules/unictype/category-Zs: Likewise.
22001         * modules/unictype/category-and: Likewise.
22002         * modules/unictype/category-and-not: Likewise.
22003         * modules/unictype/category-byname: Likewise.
22004         * modules/unictype/category-name: Likewise.
22005         * modules/unictype/category-none: Likewise.
22006         * modules/unictype/category-of: Likewise.
22007         * modules/unictype/category-or: Likewise.
22008         * modules/unictype/category-test: Likewise.
22009         * modules/unictype/combining-class: Likewise.
22010         * modules/unictype/ctype-alnum: Likewise.
22011         * modules/unictype/ctype-alpha: Likewise.
22012         * modules/unictype/ctype-blank: Likewise.
22013         * modules/unictype/ctype-cntrl: Likewise.
22014         * modules/unictype/ctype-digit: Likewise.
22015         * modules/unictype/ctype-graph: Likewise.
22016         * modules/unictype/ctype-lower: Likewise.
22017         * modules/unictype/ctype-print: Likewise.
22018         * modules/unictype/ctype-punct: Likewise.
22019         * modules/unictype/ctype-space: Likewise.
22020         * modules/unictype/ctype-upper: Likewise.
22021         * modules/unictype/ctype-xdigit: Likewise.
22022         * modules/unictype/decimal-digit: Likewise.
22023         * modules/unictype/digit: Likewise.
22024         * modules/unictype/mirror: Likewise.
22025         * modules/unictype/numeric: Likewise.
22026         * modules/unictype/property-alphabetic: Likewise.
22027         * modules/unictype/property-ascii-hex-digit: Likewise.
22028         * modules/unictype/property-bidi-arabic-digit: Likewise.
22029         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22030         * modules/unictype/property-bidi-block-separator: Likewise.
22031         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22032         * modules/unictype/property-bidi-common-separator: Likewise.
22033         * modules/unictype/property-bidi-control: Likewise.
22034         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22035         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22036         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22037         * modules/unictype/property-bidi-european-digit: Likewise.
22038         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22039         * modules/unictype/property-bidi-left-to-right: Likewise.
22040         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22041         * modules/unictype/property-bidi-other-neutral: Likewise.
22042         * modules/unictype/property-bidi-pdf: Likewise.
22043         * modules/unictype/property-bidi-segment-separator: Likewise.
22044         * modules/unictype/property-bidi-whitespace: Likewise.
22045         * modules/unictype/property-byname: Likewise.
22046         * modules/unictype/property-combining: Likewise.
22047         * modules/unictype/property-composite: Likewise.
22048         * modules/unictype/property-currency-symbol: Likewise.
22049         * modules/unictype/property-dash: Likewise.
22050         * modules/unictype/property-decimal-digit: Likewise.
22051         * modules/unictype/property-default-ignorable-code-point: Likewise.
22052         * modules/unictype/property-deprecated: Likewise.
22053         * modules/unictype/property-diacritic: Likewise.
22054         * modules/unictype/property-extender: Likewise.
22055         * modules/unictype/property-format-control: Likewise.
22056         * modules/unictype/property-grapheme-base: Likewise.
22057         * modules/unictype/property-grapheme-extend: Likewise.
22058         * modules/unictype/property-grapheme-link: Likewise.
22059         * modules/unictype/property-hex-digit: Likewise.
22060         * modules/unictype/property-hyphen: Likewise.
22061         * modules/unictype/property-id-continue: Likewise.
22062         * modules/unictype/property-id-start: Likewise.
22063         * modules/unictype/property-ideographic: Likewise.
22064         * modules/unictype/property-ids-binary-operator: Likewise.
22065         * modules/unictype/property-ids-trinary-operator: Likewise.
22066         * modules/unictype/property-ignorable-control: Likewise.
22067         * modules/unictype/property-iso-control: Likewise.
22068         * modules/unictype/property-join-control: Likewise.
22069         * modules/unictype/property-left-of-pair: Likewise.
22070         * modules/unictype/property-line-separator: Likewise.
22071         * modules/unictype/property-logical-order-exception: Likewise.
22072         * modules/unictype/property-lowercase: Likewise.
22073         * modules/unictype/property-math: Likewise.
22074         * modules/unictype/property-non-break: Likewise.
22075         * modules/unictype/property-not-a-character: Likewise.
22076         * modules/unictype/property-numeric: Likewise.
22077         * modules/unictype/property-other-alphabetic: Likewise.
22078         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22079         * modules/unictype/property-other-grapheme-extend: Likewise.
22080         * modules/unictype/property-other-id-continue: Likewise.
22081         * modules/unictype/property-other-id-start: Likewise.
22082         * modules/unictype/property-other-lowercase: Likewise.
22083         * modules/unictype/property-other-math: Likewise.
22084         * modules/unictype/property-other-uppercase: Likewise.
22085         * modules/unictype/property-paired-punctuation: Likewise.
22086         * modules/unictype/property-paragraph-separator: Likewise.
22087         * modules/unictype/property-pattern-syntax: Likewise.
22088         * modules/unictype/property-pattern-white-space: Likewise.
22089         * modules/unictype/property-private-use: Likewise.
22090         * modules/unictype/property-punctuation: Likewise.
22091         * modules/unictype/property-quotation-mark: Likewise.
22092         * modules/unictype/property-radical: Likewise.
22093         * modules/unictype/property-sentence-terminal: Likewise.
22094         * modules/unictype/property-soft-dotted: Likewise.
22095         * modules/unictype/property-space: Likewise.
22096         * modules/unictype/property-terminal-punctuation: Likewise.
22097         * modules/unictype/property-test: Likewise.
22098         * modules/unictype/property-titlecase: Likewise.
22099         * modules/unictype/property-unassigned-code-value: Likewise.
22100         * modules/unictype/property-unified-ideograph: Likewise.
22101         * modules/unictype/property-uppercase: Likewise.
22102         * modules/unictype/property-variation-selector: Likewise.
22103         * modules/unictype/property-white-space: Likewise.
22104         * modules/unictype/property-xid-continue: Likewise.
22105         * modules/unictype/property-xid-start: Likewise.
22106         * modules/unictype/property-zero-width: Likewise.
22107         * modules/unictype/scripts: Likewise.
22108         * modules/unictype/syntax-c-ident: Likewise.
22109         * modules/unictype/syntax-c-whitespace: Likewise.
22110         * modules/unictype/syntax-java-ident: Likewise.
22111         * modules/unictype/syntax-java-whitespace: Likewise.
22112         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22113         * modules/unilbrk/u8-width-linebreaks: Likewise.
22114         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22115         * modules/unilbrk/u16-width-linebreaks: Likewise.
22116         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22117         * modules/unilbrk/u32-width-linebreaks: Likewise.
22118         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22119         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22120         * modules/uniname/uniname: Likewise.
22121         * modules/uninorm/canonical-decomposition: Likewise.
22122         * modules/uninorm/composition: Likewise.
22123         * modules/uninorm/decomposing-form: Likewise.
22124         * modules/uninorm/decomposition: Likewise.
22125         * modules/uninorm/filter: Likewise.
22126         * modules/uninorm/nfc: Likewise.
22127         * modules/uninorm/nfd: Likewise.
22128         * modules/uninorm/nfkc: Likewise.
22129         * modules/uninorm/nfkd: Likewise.
22130         * modules/uninorm/u8-normalize: Likewise.
22131         * modules/uninorm/u8-normcmp: Likewise.
22132         * modules/uninorm/u8-normcoll: Likewise.
22133         * modules/uninorm/u8-normxfrm: Likewise.
22134         * modules/uninorm/u16-normalize: Likewise.
22135         * modules/uninorm/u16-normcmp: Likewise.
22136         * modules/uninorm/u16-normcoll: Likewise.
22137         * modules/uninorm/u16-normxfrm: Likewise.
22138         * modules/uninorm/u32-normalize: Likewise.
22139         * modules/uninorm/u32-normcmp: Likewise.
22140         * modules/uninorm/u32-normcoll: Likewise.
22141         * modules/uninorm/u32-normxfrm: Likewise.
22142         * modules/unistdio/u8-asnprintf: Likewise.
22143         * modules/unistdio/u8-asprintf: Likewise.
22144         * modules/unistdio/u8-snprintf: Likewise.
22145         * modules/unistdio/u8-sprintf: Likewise.
22146         * modules/unistdio/u8-u8-asnprintf: Likewise.
22147         * modules/unistdio/u8-u8-asprintf: Likewise.
22148         * modules/unistdio/u8-u8-snprintf: Likewise.
22149         * modules/unistdio/u8-u8-sprintf: Likewise.
22150         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22151         * modules/unistdio/u8-u8-vasprintf: Likewise.
22152         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22153         * modules/unistdio/u8-u8-vsprintf: Likewise.
22154         * modules/unistdio/u8-vasnprintf: Likewise.
22155         * modules/unistdio/u8-vasprintf: Likewise.
22156         * modules/unistdio/u8-vsnprintf: Likewise.
22157         * modules/unistdio/u8-vsprintf: Likewise.
22158         * modules/unistdio/u16-asnprintf: Likewise.
22159         * modules/unistdio/u16-asprintf: Likewise.
22160         * modules/unistdio/u16-snprintf: Likewise.
22161         * modules/unistdio/u16-sprintf: Likewise.
22162         * modules/unistdio/u16-u16-asnprintf: Likewise.
22163         * modules/unistdio/u16-u16-asprintf: Likewise.
22164         * modules/unistdio/u16-u16-snprintf: Likewise.
22165         * modules/unistdio/u16-u16-sprintf: Likewise.
22166         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22167         * modules/unistdio/u16-u16-vasprintf: Likewise.
22168         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22169         * modules/unistdio/u16-u16-vsprintf: Likewise.
22170         * modules/unistdio/u16-vasnprintf: Likewise.
22171         * modules/unistdio/u16-vasprintf: Likewise.
22172         * modules/unistdio/u16-vsnprintf: Likewise.
22173         * modules/unistdio/u16-vsprintf: Likewise.
22174         * modules/unistdio/u32-asnprintf: Likewise.
22175         * modules/unistdio/u32-asprintf: Likewise.
22176         * modules/unistdio/u32-snprintf: Likewise.
22177         * modules/unistdio/u32-sprintf: Likewise.
22178         * modules/unistdio/u32-u32-asnprintf: Likewise.
22179         * modules/unistdio/u32-u32-asprintf: Likewise.
22180         * modules/unistdio/u32-u32-snprintf: Likewise.
22181         * modules/unistdio/u32-u32-sprintf: Likewise.
22182         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22183         * modules/unistdio/u32-u32-vasprintf: Likewise.
22184         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22185         * modules/unistdio/u32-u32-vsprintf: Likewise.
22186         * modules/unistdio/u32-vasnprintf: Likewise.
22187         * modules/unistdio/u32-vasprintf: Likewise.
22188         * modules/unistdio/u32-vsnprintf: Likewise.
22189         * modules/unistdio/u32-vsprintf: Likewise.
22190         * modules/unistdio/ulc-asnprintf: Likewise.
22191         * modules/unistdio/ulc-asprintf: Likewise.
22192         * modules/unistdio/ulc-fprintf: Likewise.
22193         * modules/unistdio/ulc-snprintf: Likewise.
22194         * modules/unistdio/ulc-sprintf: Likewise.
22195         * modules/unistdio/ulc-vasnprintf: Likewise.
22196         * modules/unistdio/ulc-vasprintf: Likewise.
22197         * modules/unistdio/ulc-vfprintf: Likewise.
22198         * modules/unistdio/ulc-vsnprintf: Likewise.
22199         * modules/unistdio/ulc-vsprintf: Likewise.
22200         * modules/unistr/u8-check: Likewise.
22201         * modules/unistr/u8-chr: Likewise.
22202         * modules/unistr/u8-cmp: Likewise.
22203         * modules/unistr/u8-cmp2: Likewise.
22204         * modules/unistr/u8-cpy: Likewise.
22205         * modules/unistr/u8-cpy-alloc: Likewise.
22206         * modules/unistr/u8-endswith: Likewise.
22207         * modules/unistr/u8-mblen: Likewise.
22208         * modules/unistr/u8-mbsnlen: Likewise.
22209         * modules/unistr/u8-mbtouc: Likewise.
22210         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22211         * modules/unistr/u8-mbtoucr: Likewise.
22212         * modules/unistr/u8-move: Likewise.
22213         * modules/unistr/u8-next: Likewise.
22214         * modules/unistr/u8-prev: Likewise.
22215         * modules/unistr/u8-set: Likewise.
22216         * modules/unistr/u8-startswith: Likewise.
22217         * modules/unistr/u8-stpcpy: Likewise.
22218         * modules/unistr/u8-stpncpy: Likewise.
22219         * modules/unistr/u8-strcat: Likewise.
22220         * modules/unistr/u8-strchr: Likewise.
22221         * modules/unistr/u8-strcmp: Likewise.
22222         * modules/unistr/u8-strcoll: Likewise.
22223         * modules/unistr/u8-strcpy: Likewise.
22224         * modules/unistr/u8-strcspn: Likewise.
22225         * modules/unistr/u8-strdup: Likewise.
22226         * modules/unistr/u8-strlen: Likewise.
22227         * modules/unistr/u8-strmblen: Likewise.
22228         * modules/unistr/u8-strmbtouc: Likewise.
22229         * modules/unistr/u8-strncat: Likewise.
22230         * modules/unistr/u8-strncmp: Likewise.
22231         * modules/unistr/u8-strncpy: Likewise.
22232         * modules/unistr/u8-strnlen: Likewise.
22233         * modules/unistr/u8-strpbrk: Likewise.
22234         * modules/unistr/u8-strrchr: Likewise.
22235         * modules/unistr/u8-strspn: Likewise.
22236         * modules/unistr/u8-strstr: Likewise.
22237         * modules/unistr/u8-strtok: Likewise.
22238         * modules/unistr/u8-to-u16: Likewise.
22239         * modules/unistr/u8-to-u32: Likewise.
22240         * modules/unistr/u8-uctomb: Likewise.
22241         * modules/unistr/u16-check: Likewise.
22242         * modules/unistr/u16-chr: Likewise.
22243         * modules/unistr/u16-cmp: Likewise.
22244         * modules/unistr/u16-cmp2: Likewise.
22245         * modules/unistr/u16-cpy: Likewise.
22246         * modules/unistr/u16-cpy-alloc: Likewise.
22247         * modules/unistr/u16-endswith: Likewise.
22248         * modules/unistr/u16-mblen: Likewise.
22249         * modules/unistr/u16-mbsnlen: Likewise.
22250         * modules/unistr/u16-mbtouc: Likewise.
22251         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22252         * modules/unistr/u16-mbtoucr: Likewise.
22253         * modules/unistr/u16-move: Likewise.
22254         * modules/unistr/u16-next: Likewise.
22255         * modules/unistr/u16-prev: Likewise.
22256         * modules/unistr/u16-set: Likewise.
22257         * modules/unistr/u16-startswith: Likewise.
22258         * modules/unistr/u16-stpcpy: Likewise.
22259         * modules/unistr/u16-stpncpy: Likewise.
22260         * modules/unistr/u16-strcat: Likewise.
22261         * modules/unistr/u16-strchr: Likewise.
22262         * modules/unistr/u16-strcmp: Likewise.
22263         * modules/unistr/u16-strcoll: Likewise.
22264         * modules/unistr/u16-strcpy: Likewise.
22265         * modules/unistr/u16-strcspn: Likewise.
22266         * modules/unistr/u16-strdup: Likewise.
22267         * modules/unistr/u16-strlen: Likewise.
22268         * modules/unistr/u16-strmblen: Likewise.
22269         * modules/unistr/u16-strmbtouc: Likewise.
22270         * modules/unistr/u16-strncat: Likewise.
22271         * modules/unistr/u16-strncmp: Likewise.
22272         * modules/unistr/u16-strncpy: Likewise.
22273         * modules/unistr/u16-strnlen: Likewise.
22274         * modules/unistr/u16-strpbrk: Likewise.
22275         * modules/unistr/u16-strrchr: Likewise.
22276         * modules/unistr/u16-strspn: Likewise.
22277         * modules/unistr/u16-strstr: Likewise.
22278         * modules/unistr/u16-strtok: Likewise.
22279         * modules/unistr/u16-to-u32: Likewise.
22280         * modules/unistr/u16-to-u8: Likewise.
22281         * modules/unistr/u16-uctomb: Likewise.
22282         * modules/unistr/u32-check: Likewise.
22283         * modules/unistr/u32-chr: Likewise.
22284         * modules/unistr/u32-cmp: Likewise.
22285         * modules/unistr/u32-cmp2: Likewise.
22286         * modules/unistr/u32-cpy: Likewise.
22287         * modules/unistr/u32-cpy-alloc: Likewise.
22288         * modules/unistr/u32-endswith: Likewise.
22289         * modules/unistr/u32-mblen: Likewise.
22290         * modules/unistr/u32-mbsnlen: Likewise.
22291         * modules/unistr/u32-mbtouc: Likewise.
22292         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22293         * modules/unistr/u32-mbtoucr: Likewise.
22294         * modules/unistr/u32-move: Likewise.
22295         * modules/unistr/u32-next: Likewise.
22296         * modules/unistr/u32-prev: Likewise.
22297         * modules/unistr/u32-set: Likewise.
22298         * modules/unistr/u32-startswith: Likewise.
22299         * modules/unistr/u32-stpcpy: Likewise.
22300         * modules/unistr/u32-stpncpy: Likewise.
22301         * modules/unistr/u32-strcat: Likewise.
22302         * modules/unistr/u32-strchr: Likewise.
22303         * modules/unistr/u32-strcmp: Likewise.
22304         * modules/unistr/u32-strcoll: Likewise.
22305         * modules/unistr/u32-strcpy: Likewise.
22306         * modules/unistr/u32-strcspn: Likewise.
22307         * modules/unistr/u32-strdup: Likewise.
22308         * modules/unistr/u32-strlen: Likewise.
22309         * modules/unistr/u32-strmblen: Likewise.
22310         * modules/unistr/u32-strmbtouc: Likewise.
22311         * modules/unistr/u32-strncat: Likewise.
22312         * modules/unistr/u32-strncmp: Likewise.
22313         * modules/unistr/u32-strncpy: Likewise.
22314         * modules/unistr/u32-strnlen: Likewise.
22315         * modules/unistr/u32-strpbrk: Likewise.
22316         * modules/unistr/u32-strrchr: Likewise.
22317         * modules/unistr/u32-strspn: Likewise.
22318         * modules/unistr/u32-strstr: Likewise.
22319         * modules/unistr/u32-strtok: Likewise.
22320         * modules/unistr/u32-to-u16: Likewise.
22321         * modules/unistr/u32-to-u8: Likewise.
22322         * modules/unistr/u32-uctomb: Likewise.
22323         * modules/uniwbrk/u8-wordbreaks: Likewise.
22324         * modules/uniwbrk/u16-wordbreaks: Likewise.
22325         * modules/uniwbrk/u32-wordbreaks: Likewise.
22326         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22327         * modules/uniwbrk/wordbreak-property: Likewise.
22328         * modules/uniwidth/u8-strwidth: Likewise.
22329         * modules/uniwidth/u8-width: Likewise.
22330         * modules/uniwidth/u16-strwidth: Likewise.
22331         * modules/uniwidth/u16-width: Likewise.
22332         * modules/uniwidth/u32-strwidth: Likewise.
22333         * modules/uniwidth/u32-width: Likewise.
22334         * modules/uniwidth/width: Likewise.
22335         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22336         with $(LIBUNISTRING).
22337         * modules/unicase/ignorable-tests: Likewise.
22338         * modules/unicase/locale-language-tests: Likewise.
22339         * modules/unicase/tolower-tests: Likewise.
22340         * modules/unicase/totitle-tests: Likewise.
22341         * modules/unicase/toupper-tests: Likewise.
22342         * modules/unicase/u8-casecmp-tests: Likewise.
22343         * modules/unicase/u8-casecoll-tests: Likewise.
22344         * modules/unicase/u8-casefold-tests: Likewise.
22345         * modules/unicase/u8-is-cased-tests: Likewise.
22346         * modules/unicase/u8-is-casefolded-tests: Likewise.
22347         * modules/unicase/u8-is-lowercase-tests: Likewise.
22348         * modules/unicase/u8-is-titlecase-tests: Likewise.
22349         * modules/unicase/u8-is-uppercase-tests: Likewise.
22350         * modules/unicase/u8-tolower-tests: Likewise.
22351         * modules/unicase/u8-totitle-tests: Likewise.
22352         * modules/unicase/u8-toupper-tests: Likewise.
22353         * modules/unicase/u16-casecmp-tests: Likewise.
22354         * modules/unicase/u16-casecoll-tests: Likewise.
22355         * modules/unicase/u16-casefold-tests: Likewise.
22356         * modules/unicase/u16-is-cased-tests: Likewise.
22357         * modules/unicase/u16-is-casefolded-tests: Likewise.
22358         * modules/unicase/u16-is-lowercase-tests: Likewise.
22359         * modules/unicase/u16-is-titlecase-tests: Likewise.
22360         * modules/unicase/u16-is-uppercase-tests: Likewise.
22361         * modules/unicase/u16-tolower-tests: Likewise.
22362         * modules/unicase/u16-totitle-tests: Likewise.
22363         * modules/unicase/u16-toupper-tests: Likewise.
22364         * modules/unicase/u32-casecmp-tests: Likewise.
22365         * modules/unicase/u32-casecoll-tests: Likewise.
22366         * modules/unicase/u32-casefold-tests: Likewise.
22367         * modules/unicase/u32-is-cased-tests: Likewise.
22368         * modules/unicase/u32-is-casefolded-tests: Likewise.
22369         * modules/unicase/u32-is-lowercase-tests: Likewise.
22370         * modules/unicase/u32-is-titlecase-tests: Likewise.
22371         * modules/unicase/u32-is-uppercase-tests: Likewise.
22372         * modules/unicase/u32-tolower-tests: Likewise.
22373         * modules/unicase/u32-totitle-tests: Likewise.
22374         * modules/unicase/u32-toupper-tests: Likewise.
22375         * modules/unicase/ulc-casecmp-tests: Likewise.
22376         * modules/unicase/ulc-casecoll-tests: Likewise.
22377         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22378         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22379         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22380         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22381         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22382         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22383         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22384         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22385         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22386         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22387         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22388         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22389         * modules/unictype/bidicategory-byname-tests: Likewise.
22390         * modules/unictype/bidicategory-name-tests: Likewise.
22391         * modules/unictype/bidicategory-of-tests: Likewise.
22392         * modules/unictype/bidicategory-test-tests: Likewise.
22393         * modules/unictype/block-list-tests: Likewise.
22394         * modules/unictype/block-of-tests: Likewise.
22395         * modules/unictype/block-test-tests: Likewise.
22396         * modules/unictype/category-C-tests: Likewise.
22397         * modules/unictype/category-Cc-tests: Likewise.
22398         * modules/unictype/category-Cf-tests: Likewise.
22399         * modules/unictype/category-Cn-tests: Likewise.
22400         * modules/unictype/category-Co-tests: Likewise.
22401         * modules/unictype/category-Cs-tests: Likewise.
22402         * modules/unictype/category-L-tests: Likewise.
22403         * modules/unictype/category-Ll-tests: Likewise.
22404         * modules/unictype/category-Lm-tests: Likewise.
22405         * modules/unictype/category-Lo-tests: Likewise.
22406         * modules/unictype/category-Lt-tests: Likewise.
22407         * modules/unictype/category-Lu-tests: Likewise.
22408         * modules/unictype/category-M-tests: Likewise.
22409         * modules/unictype/category-Mc-tests: Likewise.
22410         * modules/unictype/category-Me-tests: Likewise.
22411         * modules/unictype/category-Mn-tests: Likewise.
22412         * modules/unictype/category-N-tests: Likewise.
22413         * modules/unictype/category-Nd-tests: Likewise.
22414         * modules/unictype/category-Nl-tests: Likewise.
22415         * modules/unictype/category-No-tests: Likewise.
22416         * modules/unictype/category-P-tests: Likewise.
22417         * modules/unictype/category-Pc-tests: Likewise.
22418         * modules/unictype/category-Pd-tests: Likewise.
22419         * modules/unictype/category-Pe-tests: Likewise.
22420         * modules/unictype/category-Pf-tests: Likewise.
22421         * modules/unictype/category-Pi-tests: Likewise.
22422         * modules/unictype/category-Po-tests: Likewise.
22423         * modules/unictype/category-Ps-tests: Likewise.
22424         * modules/unictype/category-S-tests: Likewise.
22425         * modules/unictype/category-Sc-tests: Likewise.
22426         * modules/unictype/category-Sk-tests: Likewise.
22427         * modules/unictype/category-Sm-tests: Likewise.
22428         * modules/unictype/category-So-tests: Likewise.
22429         * modules/unictype/category-Z-tests: Likewise.
22430         * modules/unictype/category-Zl-tests: Likewise.
22431         * modules/unictype/category-Zp-tests: Likewise.
22432         * modules/unictype/category-Zs-tests: Likewise.
22433         * modules/unictype/category-and-not-tests: Likewise.
22434         * modules/unictype/category-and-tests: Likewise.
22435         * modules/unictype/category-byname-tests: Likewise.
22436         * modules/unictype/category-name-tests: Likewise.
22437         * modules/unictype/category-none-tests: Likewise.
22438         * modules/unictype/category-of-tests: Likewise.
22439         * modules/unictype/category-or-tests: Likewise.
22440         * modules/unictype/category-test-withtable-tests: Likewise.
22441         * modules/unictype/combining-class-tests: Likewise.
22442         * modules/unictype/ctype-alnum-tests: Likewise.
22443         * modules/unictype/ctype-alpha-tests: Likewise.
22444         * modules/unictype/ctype-blank-tests: Likewise.
22445         * modules/unictype/ctype-cntrl-tests: Likewise.
22446         * modules/unictype/ctype-digit-tests: Likewise.
22447         * modules/unictype/ctype-graph-tests: Likewise.
22448         * modules/unictype/ctype-lower-tests: Likewise.
22449         * modules/unictype/ctype-print-tests: Likewise.
22450         * modules/unictype/ctype-punct-tests: Likewise.
22451         * modules/unictype/ctype-space-tests: Likewise.
22452         * modules/unictype/ctype-upper-tests: Likewise.
22453         * modules/unictype/ctype-xdigit-tests: Likewise.
22454         * modules/unictype/decimal-digit-tests: Likewise.
22455         * modules/unictype/digit-tests: Likewise.
22456         * modules/unictype/mirror-tests: Likewise.
22457         * modules/unictype/numeric-tests: Likewise.
22458         * modules/unictype/property-alphabetic-tests: Likewise.
22459         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22460         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22461         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22462         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22463         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22464         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22465         * modules/unictype/property-bidi-control-tests: Likewise.
22466         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22467         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22468         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22469         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22470         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22471         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22472         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22473         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22474         * modules/unictype/property-bidi-pdf-tests: Likewise.
22475         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22476         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22477         * modules/unictype/property-byname-tests: Likewise.
22478         * modules/unictype/property-combining-tests: Likewise.
22479         * modules/unictype/property-composite-tests: Likewise.
22480         * modules/unictype/property-currency-symbol-tests: Likewise.
22481         * modules/unictype/property-dash-tests: Likewise.
22482         * modules/unictype/property-decimal-digit-tests: Likewise.
22483         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22484         * modules/unictype/property-deprecated-tests: Likewise.
22485         * modules/unictype/property-diacritic-tests: Likewise.
22486         * modules/unictype/property-extender-tests: Likewise.
22487         * modules/unictype/property-format-control-tests: Likewise.
22488         * modules/unictype/property-grapheme-base-tests: Likewise.
22489         * modules/unictype/property-grapheme-extend-tests: Likewise.
22490         * modules/unictype/property-grapheme-link-tests: Likewise.
22491         * modules/unictype/property-hex-digit-tests: Likewise.
22492         * modules/unictype/property-hyphen-tests: Likewise.
22493         * modules/unictype/property-id-continue-tests: Likewise.
22494         * modules/unictype/property-id-start-tests: Likewise.
22495         * modules/unictype/property-ideographic-tests: Likewise.
22496         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22497         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22498         * modules/unictype/property-ignorable-control-tests: Likewise.
22499         * modules/unictype/property-iso-control-tests: Likewise.
22500         * modules/unictype/property-join-control-tests: Likewise.
22501         * modules/unictype/property-left-of-pair-tests: Likewise.
22502         * modules/unictype/property-line-separator-tests: Likewise.
22503         * modules/unictype/property-logical-order-exception-tests: Likewise.
22504         * modules/unictype/property-lowercase-tests: Likewise.
22505         * modules/unictype/property-math-tests: Likewise.
22506         * modules/unictype/property-non-break-tests: Likewise.
22507         * modules/unictype/property-not-a-character-tests: Likewise.
22508         * modules/unictype/property-numeric-tests: Likewise.
22509         * modules/unictype/property-other-alphabetic-tests: Likewise.
22510         * modules/unictype/property-other-default-ignorable-code-point-tests:
22511         Likewise.
22512         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22513         * modules/unictype/property-other-id-continue-tests: Likewise.
22514         * modules/unictype/property-other-id-start-tests: Likewise.
22515         * modules/unictype/property-other-lowercase-tests: Likewise.
22516         * modules/unictype/property-other-math-tests: Likewise.
22517         * modules/unictype/property-other-uppercase-tests: Likewise.
22518         * modules/unictype/property-paired-punctuation-tests: Likewise.
22519         * modules/unictype/property-paragraph-separator-tests: Likewise.
22520         * modules/unictype/property-pattern-syntax-tests: Likewise.
22521         * modules/unictype/property-pattern-white-space-tests: Likewise.
22522         * modules/unictype/property-private-use-tests: Likewise.
22523         * modules/unictype/property-punctuation-tests: Likewise.
22524         * modules/unictype/property-quotation-mark-tests: Likewise.
22525         * modules/unictype/property-radical-tests: Likewise.
22526         * modules/unictype/property-sentence-terminal-tests: Likewise.
22527         * modules/unictype/property-soft-dotted-tests: Likewise.
22528         * modules/unictype/property-space-tests: Likewise.
22529         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22530         * modules/unictype/property-test-tests: Likewise.
22531         * modules/unictype/property-titlecase-tests: Likewise.
22532         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22533         * modules/unictype/property-unified-ideograph-tests: Likewise.
22534         * modules/unictype/property-uppercase-tests: Likewise.
22535         * modules/unictype/property-variation-selector-tests: Likewise.
22536         * modules/unictype/property-white-space-tests: Likewise.
22537         * modules/unictype/property-xid-continue-tests: Likewise.
22538         * modules/unictype/property-xid-start-tests: Likewise.
22539         * modules/unictype/property-zero-width-tests: Likewise.
22540         * modules/unictype/scripts-tests: Likewise.
22541         * modules/unictype/syntax-c-ident-tests: Likewise.
22542         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22543         * modules/unictype/syntax-java-ident-tests: Likewise.
22544         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22545         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22546         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22547         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22548         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22549         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22550         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22551         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22552         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22553         * modules/uniname/uniname-tests: Likewise.
22554         * modules/uninorm/canonical-decomposition-tests: Likewise.
22555         * modules/uninorm/compat-decomposition-tests: Likewise.
22556         * modules/uninorm/composition-tests: Likewise.
22557         * modules/uninorm/decomposing-form-tests: Likewise.
22558         * modules/uninorm/decomposition-tests: Likewise.
22559         * modules/uninorm/filter-tests: Likewise.
22560         * modules/uninorm/nfc-tests: Likewise.
22561         * modules/uninorm/nfd-tests: Likewise.
22562         * modules/uninorm/nfkc-tests: Likewise.
22563         * modules/uninorm/nfkd-tests: Likewise.
22564         * modules/uninorm/u8-normcmp-tests: Likewise.
22565         * modules/uninorm/u8-normcoll-tests: Likewise.
22566         * modules/uninorm/u16-normcmp-tests: Likewise.
22567         * modules/uninorm/u16-normcoll-tests: Likewise.
22568         * modules/uninorm/u32-normcmp-tests: Likewise.
22569         * modules/uninorm/u32-normcoll-tests: Likewise.
22570         * modules/unistdio/u8-asnprintf-tests: Likewise.
22571         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22572         * modules/unistdio/u8-vasprintf-tests: Likewise.
22573         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22574         * modules/unistdio/u8-vsprintf-tests: Likewise.
22575         * modules/unistdio/u16-asnprintf-tests: Likewise.
22576         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22577         * modules/unistdio/u16-vasprintf-tests: Likewise.
22578         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22579         * modules/unistdio/u16-vsprintf-tests: Likewise.
22580         * modules/unistdio/u32-asnprintf-tests: Likewise.
22581         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22582         * modules/unistdio/u32-vasprintf-tests: Likewise.
22583         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22584         * modules/unistdio/u32-vsprintf-tests: Likewise.
22585         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22586         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22587         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22588         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22589         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22590         * modules/unistr/u8-check-tests: Likewise.
22591         * modules/unistr/u8-chr-tests: Likewise.
22592         * modules/unistr/u8-cmp-tests: Likewise.
22593         * modules/unistr/u8-cmp2-tests: Likewise.
22594         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22595         * modules/unistr/u8-cpy-tests: Likewise.
22596         * modules/unistr/u8-mblen-tests: Likewise.
22597         * modules/unistr/u8-mbsnlen-tests: Likewise.
22598         * modules/unistr/u8-mbtouc-tests: Likewise.
22599         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22600         * modules/unistr/u8-mbtoucr-tests: Likewise.
22601         * modules/unistr/u8-move-tests: Likewise.
22602         * modules/unistr/u8-next-tests: Likewise.
22603         * modules/unistr/u8-prev-tests: Likewise.
22604         * modules/unistr/u8-set-tests: Likewise.
22605         * modules/unistr/u8-stpcpy-tests: Likewise.
22606         * modules/unistr/u8-stpncpy-tests: Likewise.
22607         * modules/unistr/u8-strcat-tests: Likewise.
22608         * modules/unistr/u8-strcmp-tests: Likewise.
22609         * modules/unistr/u8-strcoll-tests: Likewise.
22610         * modules/unistr/u8-strcpy-tests: Likewise.
22611         * modules/unistr/u8-strdup-tests: Likewise.
22612         * modules/unistr/u8-strlen-tests: Likewise.
22613         * modules/unistr/u8-strmblen-tests: Likewise.
22614         * modules/unistr/u8-strmbtouc-tests: Likewise.
22615         * modules/unistr/u8-strncat-tests: Likewise.
22616         * modules/unistr/u8-strncmp-tests: Likewise.
22617         * modules/unistr/u8-strncpy-tests: Likewise.
22618         * modules/unistr/u8-strnlen-tests: Likewise.
22619         * modules/unistr/u8-to-u16-tests: Likewise.
22620         * modules/unistr/u8-to-u32-tests: Likewise.
22621         * modules/unistr/u8-uctomb-tests: Likewise.
22622         * modules/unistr/u16-check-tests: Likewise.
22623         * modules/unistr/u16-chr-tests: Likewise.
22624         * modules/unistr/u16-cmp-tests: Likewise.
22625         * modules/unistr/u16-cmp2-tests: Likewise.
22626         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22627         * modules/unistr/u16-cpy-tests: Likewise.
22628         * modules/unistr/u16-mblen-tests: Likewise.
22629         * modules/unistr/u16-mbsnlen-tests: Likewise.
22630         * modules/unistr/u16-mbtouc-tests: Likewise.
22631         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22632         * modules/unistr/u16-mbtoucr-tests: Likewise.
22633         * modules/unistr/u16-move-tests: Likewise.
22634         * modules/unistr/u16-next-tests: Likewise.
22635         * modules/unistr/u16-prev-tests: Likewise.
22636         * modules/unistr/u16-set-tests: Likewise.
22637         * modules/unistr/u16-stpcpy-tests: Likewise.
22638         * modules/unistr/u16-stpncpy-tests: Likewise.
22639         * modules/unistr/u16-strcat-tests: Likewise.
22640         * modules/unistr/u16-strcmp-tests: Likewise.
22641         * modules/unistr/u16-strcoll-tests: Likewise.
22642         * modules/unistr/u16-strcpy-tests: Likewise.
22643         * modules/unistr/u16-strdup-tests: Likewise.
22644         * modules/unistr/u16-strlen-tests: Likewise.
22645         * modules/unistr/u16-strmblen-tests: Likewise.
22646         * modules/unistr/u16-strmbtouc-tests: Likewise.
22647         * modules/unistr/u16-strncat-tests: Likewise.
22648         * modules/unistr/u16-strncmp-tests: Likewise.
22649         * modules/unistr/u16-strncpy-tests: Likewise.
22650         * modules/unistr/u16-strnlen-tests: Likewise.
22651         * modules/unistr/u16-to-u32-tests: Likewise.
22652         * modules/unistr/u16-to-u8-tests: Likewise.
22653         * modules/unistr/u16-uctomb-tests: Likewise.
22654         * modules/unistr/u32-check-tests: Likewise.
22655         * modules/unistr/u32-chr-tests: Likewise.
22656         * modules/unistr/u32-cmp-tests: Likewise.
22657         * modules/unistr/u32-cmp2-tests: Likewise.
22658         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22659         * modules/unistr/u32-cpy-tests: Likewise.
22660         * modules/unistr/u32-mblen-tests: Likewise.
22661         * modules/unistr/u32-mbsnlen-tests: Likewise.
22662         * modules/unistr/u32-mbtouc-tests: Likewise.
22663         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22664         * modules/unistr/u32-mbtoucr-tests: Likewise.
22665         * modules/unistr/u32-move-tests: Likewise.
22666         * modules/unistr/u32-next-tests: Likewise.
22667         * modules/unistr/u32-prev-tests: Likewise.
22668         * modules/unistr/u32-set-tests: Likewise.
22669         * modules/unistr/u32-stpcpy-tests: Likewise.
22670         * modules/unistr/u32-stpncpy-tests: Likewise.
22671         * modules/unistr/u32-strcat-tests: Likewise.
22672         * modules/unistr/u32-strcmp-tests: Likewise.
22673         * modules/unistr/u32-strcoll-tests: Likewise.
22674         * modules/unistr/u32-strcpy-tests: Likewise.
22675         * modules/unistr/u32-strdup-tests: Likewise.
22676         * modules/unistr/u32-strlen-tests: Likewise.
22677         * modules/unistr/u32-strmblen-tests: Likewise.
22678         * modules/unistr/u32-strmbtouc-tests: Likewise.
22679         * modules/unistr/u32-strncat-tests: Likewise.
22680         * modules/unistr/u32-strncmp-tests: Likewise.
22681         * modules/unistr/u32-strncpy-tests: Likewise.
22682         * modules/unistr/u32-strnlen-tests: Likewise.
22683         * modules/unistr/u32-to-u16-tests: Likewise.
22684         * modules/unistr/u32-to-u8-tests: Likewise.
22685         * modules/unistr/u32-uctomb-tests: Likewise.
22686         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22687         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22688         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22689         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22690         * modules/uniwidth/u8-strwidth-tests: Likewise.
22691         * modules/uniwidth/u8-width-tests: Likewise.
22692         * modules/uniwidth/u16-strwidth-tests: Likewise.
22693         * modules/uniwidth/u16-width-tests: Likewise.
22694         * modules/uniwidth/u32-strwidth-tests: Likewise.
22695         * modules/uniwidth/u32-width-tests: Likewise.
22696         * modules/uniwidth/width-tests: Likewise.
22697
22698 2010-05-18  Richard Jones  <rjones@redhat.com>
22699
22700         doc: users.txt: list hivex
22701         * users.txt: Add hivex.
22702
22703 2010-05-18  Richard Jones  <rjones@redhat.com>
22704
22705         doc: users.txt: list febootstrap
22706         * users.txt: Add febootstrap.
22707
22708 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22709
22710         bootstrap: fix an error when gnulib is not used as a git submodule
22711         * build-aux/bootstrap (gnulib_path): If its length is zero then
22712         assign "gnulib" to it.
22713         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22714
22715 2010-05-16  Bruno Haible  <bruno@clisp.org>
22716
22717         Avoid autoconf warnings about AM_ICONV.
22718         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22719         2.64.
22720
22721 2010-05-16  Bruno Haible  <bruno@clisp.org>
22722
22723         absolute-header: Make the macro usable in more situations.
22724         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22725         from gl_ABSOLUTE_HEADER.
22726         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22727
22728 2010-05-16  James Youngman  <jay@gnu.org>
22729
22730         doc: update users.txt
22731         * users.txt: Add CSSC.
22732
22733 2010-05-16  Jim Meyering  <meyering@redhat.com>
22734
22735         init.sh: fix an error in the previous change; add more comments
22736         * tests/init.sh: Compare exit code in loop against 9, not 2.
22737         Patch by Bruno Haible.
22738         Make the two tests more similar by adding an empty "then" clause.
22739         Add comments.
22740
22741         init.sh: avoid unnecessary shell re-exec
22742         * tests/init.sh: Improve the re-exec-required check to first test the
22743         current shell.  If it passes the test, do not search for a shell that
22744         does pass, and do not re-exec.  This test is particularly contorted to
22745         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22746         of $(...) evokes a syntax error and causes immediate shell exit with
22747         status 2.  Bruno Haible reported that the re-exec made it impossible
22748         to single-step through any init.sh-using script.
22749
22750 2010-05-16  Bruno Haible  <bruno@clisp.org>
22751
22752         Fix collision between gnulib's and libintl's printf replacements.
22753         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22754         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22755         (printf): When using GNU C, map the __printf__ function to rpl_printf
22756         via __asm__. When not using GNU C, define rpl_printf instead of
22757         __printf__.
22758         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22759         commit.
22760         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22761         commit.
22762         * m4/asm-underscore.m4: New file.
22763         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22764         * modules/stdio (Files): Add m4/asm-underscore.m4.
22765         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22766         Reported by Ben Pfaff.
22767
22768 2010-05-16  Bruno Haible  <bruno@clisp.org>
22769
22770         verify: Avoid skipping the test on openSUSE 11.0.
22771         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22772
22773 2010-05-13  Bruno Haible  <bruno@clisp.org>
22774
22775         Avoid useless warnings from G++.
22776         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22777         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22778         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22779
22780 2010-05-11  Jim Meyering  <meyering@redhat.com>
22781
22782         maint.mk: tweak preceding change
22783         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22784         regexps tighter by anchoring at EOL, and make the new group "shy"
22785         for slightly decreased overhead.
22786
22787 2010-05-11  Eric Blake  <eblake@redhat.com>
22788
22789         maint.mk: gnulib doesn't guarantee NSIG
22790         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22791
22792 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22793
22794         test-pwrite.c: Remove unused variable declaration.
22795         * tests/test-pwrite.c (main): Remove read_buf declaration.
22796
22797         Remove useless test-pwrite.sh file.
22798         * tests/test-pwrite.sh: Delete file.
22799         * modules/pwrite-tests: Remove references.
22800         Reported by Bruno Haible.
22801
22802 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22803
22804         init.sh: fix a typo
22805         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22806
22807 2010-05-10  Jim Meyering  <meyering@redhat.com>
22808
22809         maint.mk: avoid using a temporary file in the always-defined-macros check
22810         * top/maint.mk (.re-defmac): Remove rule.
22811         (gl_trap_): Remove definition.
22812         (sc_prohibit_always-defined_macros): Rewrite not to create and
22813         depend on a temporary file.  Instead, depend on GNU grep's ability
22814         to read a list of regular expressions from stdin when given "-f -".
22815
22816 2010-05-09  Bruno Haible  <bruno@clisp.org>
22817
22818         Update to GNU gettext 0.18, part 1.
22819         * m4/gettext.m4: Update to GNU gettext 0.18.
22820         * m4/intl.m4: Likewise.
22821         * m4/po.m4: Likewise.
22822         * modules/gettext (Files): Add m4/fcntl-o.m4.
22823         (configure.ac): Require gettext infrastructure from version 0.18.
22824
22825 2010-05-09  Jim Meyering  <meyering@redhat.com>
22826
22827         init.sh: enable MALLOC_PERTURB_
22828         * tests/init.sh: Enable glibc's malloc-perturbing option.
22829
22830         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22831         With my recent change in init.sh from the two-line form:
22832             -#   : ${srcdir=.}
22833             -#   . "$srcdir/init.sh"; path_prepend_ .
22834             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22835         I noticed that using the one-line form would cause this test
22836         to fail with a false-positive, or to stop working altogether,
22837         depending on whether help-version changed or all the tests did.
22838         * top/maint.mk (_hv_regex): Remove this definition.
22839         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22840         (_hv_regex_strong): Use a stronger regex to check for conformance.
22841         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22842         Give a separate diagnostic for lack of conforming use.
22843
22844         maint.mk: prohibit definition of symbols defined by gnulib
22845         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22846         definition of symbols defined by gnulib.
22847
22848 2010-05-09  Bruno Haible  <bruno@clisp.org>
22849
22850         acl: Avoid test failure on Cygwin-hosted mingw.
22851         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22852
22853 2010-05-09  Bruno Haible  <bruno@clisp.org>
22854
22855         error: Use system's fcntl function.
22856         * lib/error.c (fcntl): Undefine.
22857
22858 2010-05-09  Jim Meyering  <meyering@redhat.com>
22859
22860         verify: adjust formatting to be more consistent
22861         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22862         argument-list '('s, and after one comma.
22863
22864 2010-05-09  Bruno Haible  <bruno@clisp.org>
22865
22866         error: More reliable output on mingw.
22867         * lib/error.c: Include <windows.h>.
22868         (is_open): New function.
22869         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22870         defined.
22871
22872 2010-05-09  Bruno Haible  <bruno@clisp.org>
22873
22874         vasnprintf: Fix syntax errors in libintl build on mingw.
22875         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22876         pad_ourselves and prec_ourselves after use.
22877
22878 2010-05-08  Bruno Haible  <bruno@clisp.org>
22879
22880         * lib/config.charset: Update comments for Cygwin 1.7.
22881         * lib/localcharset.c: Likewise.
22882
22883 2010-05-07  Jim Meyering  <meyering@redhat.com>
22884
22885         init.sh: improve comments
22886         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22887         . "${srcdir=.}/init.sh"; path_prepend_ .
22888         Add a note about path_prepend_ and the alternative of using
22889         TESTS_ENVIRONMENT.
22890
22891 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22892
22893         exclude: Unescape hashed patterns in wildcard mode.
22894         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22895         to the hash list.
22896         * tests/test-exclude8.sh: New test case.
22897         * modules/exclude-tests: Add new test.
22898
22899 2010-05-05  Eric Blake  <eblake@redhat.com>
22900
22901         verify: automate tests
22902         * modules/verify-tests: New module.
22903         * tests/test-verify.sh: New file.
22904         * tests/test-verify.c: Guard each negative test with a unique id.
22905         Also avoid warning about unused left hand of comma expressions.
22906
22907 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22908
22909         Further improvements to verify.h, suggested by Eric Blake.
22910         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22911         the GL_* versions, to avoid collision with OpenGL.
22912         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22913         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22914         than testing merely whether it's defined.
22915
22916         Modify verify.h to pacify gcc -Wredundant_decls.
22917         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22918         These use the prefix "GL_" since they're likely to be useful elsewhere.
22919         We may need to break them out into a different .h file.
22920         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22921         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22922         of verify_function__.
22923
22924 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22925
22926         Tests for module pwrite.
22927         * modules/pwrite-tests: New file.
22928         * tests/test-pwrite.sh: New file.
22929         * tests/test-pwrite.c: New file.
22930
22931         New module pwrite.
22932         * lib/unistd.in.h (pwrite): New declaration.
22933         * lib/pwrite.c: New file, from glibc with modifications.
22934         * m4/pwrite.m4: New file.
22935         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
22936         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
22937         REPLACE_PWRITE.
22938         * modules/pwrite: New file.
22939         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
22940         REPLACE_PWRITE.
22941         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
22942         * doc/posix-functions/pwrite.texi: Mention the new module.
22943
22944 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22945
22946         pread: Update documentation.
22947         * doc/posix-functions/pread.texi: Mention the 'pread' module.
22948
22949 2010-05-04  Eric Blake  <eblake@redhat.com>
22950
22951         docs: update cygwin progress
22952         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
22953         this bug.
22954         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
22955         Added in cygwin 1.7.2.
22956         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
22957         Likewise.
22958         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
22959         Likewise.
22960         * doc/glibc-functions/dup3.texi (dup3): Likewise.
22961         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
22962         * doc/glibc-functions/accept4.texi (accept4): Likewise.
22963         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
22964         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
22965         Mention nproc module.
22966         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
22967         bug in cygwin 1.7.5 addition.
22968         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
22969         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
22970         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
22971         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
22972         1.7.5.
22973         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
22974         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
22975         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
22976         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
22977         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
22978         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
22979         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
22980         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
22981         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
22982         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
22983         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
22984         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
22985         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
22986         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
22987         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
22988         Likewise.
22989         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
22990         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
22991         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
22992         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
22993         Likewise.
22994         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
22995         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
22996         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
22997         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
22998         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
22999         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23000         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23001         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23002         Likewise.
23003         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23004         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23005         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23006         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23007         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23008         Likewise.
23009         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23010         Likewise.
23011         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23012         Likewise.
23013         * doc/glibc-functions/xdrrec_endofrecord.texi
23014         (xdrrec_endofrecord): Likewise.
23015         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23016         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23017         Likewise.
23018         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23019         Likewise.
23020
23021 2010-05-04  Jim Meyering  <meyering@redhat.com>
23022
23023         gendocs.sh: make its "-s FILE" option more useful
23024         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23025         $PACKAGE to reflect the probably-different basename of "FILE".
23026
23027 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23028
23029         bootstrap: don't ignore download_po_files failure
23030         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23031         failure.
23032
23033 2010-05-03  Jim Meyering  <meyering@redhat.com>
23034
23035         maint.mk: allow to pass options to gendocs.sh
23036         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23037         (gendocs_options_): New overridable variable.
23038
23039         gnu-web-doc-update: don't ignore configure or build failure
23040         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23041
23042         announce-gen: backslash-escape '@'s in --help output
23043         * build-aux/announce-gen: Fix syntax errors.
23044
23045         maint.mk, announce-gen: allow project-specific announcement mail headers
23046         * top/maint.mk (translation_project_): Define default.
23047         (announcement_Cc_, announcement_mail_headers_): Likewise.
23048         (announcement): Invoke announce-gen with new --mail-headers option.
23049         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23050
23051         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23052         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23053         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23054         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23055         line in the "err2" output file when running "make check" in verbose
23056         mode (i.e., with set -x enabled).
23057
23058 2010-05-03  Bruno Haible  <bruno@clisp.org>
23059
23060         wctob: Fix for weird platforms.
23061         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23062         argument value.
23063
23064 2010-05-03  Jim Meyering  <meyering@redhat.com>
23065
23066         maint.mk: prohibit unwarranted use of <strings.h>
23067         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23068         strings.h in a file that does not also use strcasecmp, strncasecmp,
23069         ffs or ffsll.
23070
23071         maint.mk: remove obsolete comments
23072         * top/maint.mk: Remove stale, commented-out rules.
23073
23074 2010-05-02  Bruno Haible  <bruno@clisp.org>
23075
23076         wcwidth: Declare also when it's aliased.
23077         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23078         macro.
23079
23080 2010-05-02  Bruno Haible  <bruno@clisp.org>
23081
23082         Fix regression from 2010-04-25.
23083         * gnulib-tool (func_modules_transitive_closure): Check the status of
23084         all modules, not only of the tests that are of the form foo-tests where
23085         foo is a module.
23086
23087 2010-05-02  Bruno Haible  <bruno@clisp.org>
23088
23089         wctob: Work around nasty Cygwin 1.7.2 bug.
23090         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23091         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23092
23093 2010-05-01  Bruno Haible  <bruno@clisp.org>
23094
23095         fpurge: Sharper test.
23096         * tests/test-fpurge.c (main): Add one more ftell check.
23097         * modules/fpurge-tests (Depends-on): Add ftell.
23098         Suggested by Eric Blake.
23099
23100 2010-05-01  Bruno Haible  <bruno@clisp.org>
23101
23102         ftello: Another test.
23103         * tests/test-ftello3.c: New file.
23104         * modules/ftello-tests (Files): Add it.
23105         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23106         MOSTLYCLEANFILES.
23107
23108         ftell: Another test.
23109         * tests/test-ftell3.c: New file.
23110         * modules/ftell-tests (Files): Add it.
23111         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23112         MOSTLYCLEANFILES.
23113
23114 2010-05-01  Bruno Haible  <bruno@clisp.org>
23115
23116         ftell, ftello: Work around Solaris bug.
23117         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23118         * lib/ftello.c: Include stdio-impl.h.
23119         (ftello): On Solaris, when _IOWRT is set, compute the result without
23120         looking at _IOREAD.
23121         * modules/ftello (Files): Add lib/stdio-impl.h.
23122         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23123         * doc/posix-functions/ftello.texi: Likewise.
23124         Reported by Eric Blake.
23125
23126 2010-05-01  Bruno Haible  <bruno@clisp.org>
23127
23128         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23129         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23130         the _IOWRT flag is also set.
23131
23132 2010-05-01  Bruno Haible  <bruno@clisp.org>
23133
23134         Fix doc about a HP-UX stdio bug.
23135         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23136         * doc/posix-functions/ftello.texi: Likewise.
23137
23138 2010-05-01  Bruno Haible  <bruno@clisp.org>
23139
23140         lseek test: Fix failure on Solaris.
23141         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23142         output.
23143
23144 2010-04-30  Jim Meyering  <meyering@redhat.com>
23145
23146         bootstrap: don't ignore failure to generate po*/Makevars
23147         * build-aux/bootstrap (with_gettext): Don't ignore failure
23148         to create po/Makevars or runtime-po/Makevars.
23149
23150 2010-04-29  Eric Blake  <eblake@redhat.com>
23151
23152         headers: relax license to LGPLv2+
23153         * modules/fcntl-h (License): Relax license.
23154         * modules/getopt-posix (License): Likewise.
23155         * modules/locale (License): Likewise.
23156         * modules/math (License): Likewise.
23157         * modules/pty (License): Likewise.
23158         * modules/sched (License): Likewise.
23159         * modules/search (License): Likewise.
23160         * modules/spawn (License): Likewise.
23161         * modules/stdarg (License): Likewise.
23162         * modules/sysexits (License): Likewise.
23163
23164 2010-04-29  Jim Meyering  <meyering@redhat.com>
23165
23166         inttypes: relax license to LGPLv2+
23167         * modules/inttypes (License): Relax license.
23168
23169 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23170
23171         * top/maint.mk (indent): Run twice to produce idempotent results.
23172
23173 2010-04-28  Bruno Haible  <bruno@clisp.org>
23174
23175         getdate: Generate getdate.c in the source directory.
23176         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23177         MOSTLYCLEANFILES.
23178         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23179
23180 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23181
23182         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23183         is not declared as a const *; avoid warnings in that case.
23184
23185 2010-04-28  Eric Blake  <eblake@redhat.com>
23186
23187         canonicalize-lgpl: avoid compiler warning
23188         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23189         declaration' / 'extraneous semicolon' warning with some compilers.
23190         Reported by Andreas Gruenbacher.
23191
23192 2010-04-28  Jim Meyering  <meyering@redhat.com>
23193
23194         init.sh: ensure a more reliable exit status when exiting via trap
23195         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23196         Inspired by patches from Dmitry V. Levin.
23197         Also trap on signal 3 (SIGQUIT).
23198
23199 2010-04-27  Bruno Haible  <bruno@clisp.org>
23200
23201         Update doc about utimes().
23202         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23203         'utimens' module.
23204         Reported by Andreas Gruenbacher <agruen@suse.de>.
23205
23206 2010-04-27  Eric Blake  <eblake@redhat.com>
23207
23208         full-read, full-write: relax license
23209         * modules/full-read (License): Drop to LGPLv2+.
23210         * modules/full-write (License): Likewise.
23211         * modules/safe-read (License): Likewise.
23212         * modules/safe-write (License): Likewise.
23213
23214         pthread: mention library for linking
23215         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23216
23217 2010-04-27  Jim Meyering  <meyering@redhat.com>
23218
23219         maint.mk: fix a bug introduced in last change
23220         * top/maint.mk (gl_assured_headers_): Now that all names are on
23221         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23222         is not anchored to end of word, it should be adequate.
23223
23224         maint.mk: avoid side-effect in latest syntax-check
23225         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23226         to run commands via $(shell...), and hence to incur cost only when
23227         the new rule is actually run.
23228
23229         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23230         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23231         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23232         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23233         (gl_assured_headers_, az_, AZ_): Define.
23234         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23235
23236 2010-04-26  Jim Meyering  <jim@meyering.net>
23237             Bruno Haible  <bruno@clisp.org>
23238
23239         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23240         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23241         Prompted by an exchange with Gilles Espinasse.
23242
23243 2010-04-26  Jim Meyering  <meyering@redhat.com>
23244
23245         git-version-gen: aesthetic tweak
23246         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23247         so that the command remains on a single line.
23248
23249 2010-04-26  Eric Blake  <eblake@redhat.com>
23250
23251         git-version-gen: allow use on EBCDIC hosts
23252         * build-aux/git-version-gen (dirty): Use literal rather than tying
23253         ourselves to ascii.
23254         Reported by Steve Goetze.
23255
23256 2010-04-25  Bruno Haible  <bruno@clisp.org>
23257
23258         netdb: Add support for GNULIB_POSIXCHECK.
23259         * lib/netdb.in.h: Include warn-on-use.h.
23260         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23261         functions are used when GNULIB_POSIXCHECK is defined and the
23262         getaddrinfo module is not in use.
23263         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23264         freeaddrinfo, gai_strerror, getnameinfo are declared.
23265         * modules/netdb (Depends-on): Add warn-on-use.
23266         (Makefile.am): Include warn-on-use.h in netdb.h.
23267
23268 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23269
23270         build: avoid "make check" failure without .git/ directory
23271         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23272         there is no .git/ directory.
23273
23274 2010-04-25  Bruno Haible  <bruno@clisp.org>
23275
23276         ptsname: Fix misuse of ttyname_r.
23277         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23278         of errno.
23279
23280 2010-04-25  Bruno Haible  <bruno@clisp.org>
23281
23282         ttyname_r: Make it work on Solaris 10.
23283         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23284         if the system function has the POSIX declaration. Test whether the
23285         function fails if the buffer is less than 128 bytes large.
23286         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23287         system's ttyname_r function. Provide a reasonably large buffer.
23288         * modules/ttyname_r (Depends-on): Add extensions.
23289         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23290
23291 2010-04-25  Bruno Haible  <bruno@clisp.org>
23292
23293         Use the 'extensions' module for some more functions on Solaris.
23294         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23295         module.
23296         * doc/posix-functions/ctime_r.texi: Likewise.
23297         * doc/posix-functions/getgrgid_r.texi: Likewise.
23298         * doc/posix-functions/getgrnam_r.texi: Likewise.
23299         * doc/posix-functions/getpwnam_r.texi: Likewise.
23300         * doc/posix-functions/getpwuid_r.texi: Likewise.
23301         * doc/posix-functions/readdir_r.texi: Likewise.
23302         * doc/posix-functions/sigwait.texi: Likewise.
23303         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23304         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23305
23306 2010-04-25  Bruno Haible  <bruno@clisp.org>
23307
23308         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23309         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23310         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23311         * lib/ttyname_r.c: Include <limits.h>.
23312         (ttyname_r): Define using the system's ttyname_r function, if it exists
23313         and not on Solaris.
23314         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23315         set.
23316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23317         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23318         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23319         Reported by Simon Josefsson.
23320
23321 2010-04-25  Bruno Haible  <bruno@clisp.org>
23322
23323         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23324         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23325         * doc/posix-functions/ctime_r.texi: Likewise.
23326         * doc/posix-functions/getgrgid_r.texi: Likewise.
23327         * doc/posix-functions/getgrnam_r.texi: Likewise.
23328         * doc/posix-functions/getlogin_r.texi: Likewise.
23329         * doc/posix-functions/getpwnam_r.texi: Likewise.
23330         * doc/posix-functions/getpwuid_r.texi: Likewise.
23331         * doc/posix-functions/readdir_r.texi: Likewise.
23332         * doc/posix-functions/sigwait.texi: Likewise.
23333         * doc/posix-functions/ttyname_r.texi: Likewise.
23334         Reported by Simon Josefsson.
23335
23336 2010-04-25  Bruno Haible  <bruno@clisp.org>
23337
23338         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23339         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23340         also to --create-testdir.
23341         (func_acceptable): Don't consider the status of *-tests modules here.
23342         (func_modules_transitive_closure): Consider it here, before including a
23343         test module.
23344         (func_import, func_create_testdir): Set inc_all_direct_tests,
23345         inc_all_indirect_tests.
23346         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23347         --create-testdir and --create-megatestdir.
23348
23349 2010-04-25  Bruno Haible  <bruno@clisp.org>
23350
23351         gnulib-tool: Add --without-*-tests options.
23352         * gnulib-tool (func_usage): Document the --without-*-tests options.
23353         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23354         excl_unportable_tests): New variables.
23355         Fail if they are specified with --import or --update.
23356         (func_acceptable): Respect the excl_*_tests variables.
23357         (func_import): Set the excl_*_tests variables to empty.
23358
23359 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23360             Bruno Haible  <bruno@clisp.org>
23361
23362         Work around a MacOS X 10.4 bug with openpty.
23363         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23364         * tests/test-openpty.c (main): Close the master side explicitly.
23365
23366 2010-04-25  Bruno Haible  <bruno@clisp.org>
23367
23368         strnlen: Fix a C++ test error on MacOS X and Solaris.
23369         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23370         the function is not declared.
23371         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23372         Simon Josefsson.
23373
23374 2010-04-24  Bruno Haible  <bruno@clisp.org>
23375
23376         Avoid a gcc warning.
23377         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23378         of correct type for %08lx directive.
23379         Reported by Eric Blake.
23380
23381 2010-04-24  Bruno Haible  <bruno@clisp.org>
23382
23383         vasnprintf: Correct errno value in case of out-of-memory.
23384         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23385         or sprintf. Use the errno value from SNPRINTF or sprintf.
23386         Reported by Ian Beckwith <ianb@erislabs.net>.
23387
23388 2010-04-24  Bruno Haible  <bruno@clisp.org>
23389
23390         ansi-c++-opt: Find correct compiler when cross-compiling.
23391         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23392         AC_CHECK_PROGS.
23393         Reported by Simon Josefsson.
23394
23395 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23396
23397         vc-list-files: Add support for subversion
23398         * build-aux/vc-list-files: Use "svn list" to generate the list of
23399         files controlled by subversion.
23400
23401 2010-04-23  Jim Meyering  <meyering@redhat.com>
23402
23403         vc-list-files tests: convert to use init.sh
23404         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23405         path_prepend_.
23406         Use Exit, not exit.
23407         Use skip_ rather than open coding it.
23408         Remove trap set-up and compare definitions.
23409         * tests/test-vc-list-files-git.sh: Likewise.
23410         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23411
23412 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23413
23414         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23415         backup files.
23416
23417 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23418
23419         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23420
23421 2010-04-20  Eric Blake  <eblake@redhat.com>
23422
23423         tests: be robust to ignored SIGPIPE
23424         * tests/test-select-in.sh: Consume all output.
23425         * tests/test-lseek.sh: Check correct exit status, while avoiding
23426         EPIPE.
23427
23428 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23429             Bruno Haible  <bruno@clisp.org>
23430
23431         visibility: Don't use -fvisibility if it leads to a warning.
23432         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23433         yes, don't pretend that visibility works if it leads to a warning.
23434         Reported by Mike Gran <spk121@yahoo.com>.
23435
23436 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23437
23438         * build-aux/bootstrap: Use "git -h" for testing for supported options
23439         instead of "git --help".  The short-form option only shows a summary,
23440         and doesn't layout the full man page.  Grep for the full option name
23441         in the summary, too.
23442
23443 2010-04-19  Bruno Haible  <bruno@clisp.org>
23444
23445         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23446         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23447         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23448         mention of RELOCATABLE_STRIP.
23449         Reported by Sylvain Beucler <beuc@beuc.net>.
23450
23451 2010-04-19  Bruno Haible  <bruno@clisp.org>
23452
23453         * lib/diffseq.h: Fix typo in comment.
23454         Reported by Eric Blake.
23455
23456 2010-04-19  Bruno Haible  <bruno@clisp.org>
23457
23458         ioctl: Move autoconf macro to a .m4 file.
23459         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23460         * modules/ioctl (Files): Add it.
23461         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23462         Reported by Ian Beckwith <ianb@erislabs.net>.
23463
23464 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23465             Bruno Haible  <bruno@clisp.org>
23466
23467         diffseq: Accommodate use-case with abstract arrays.
23468         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23469         is not defined.
23470         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23471         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23472
23473 2010-04-18  Bruno Haible  <bruno@clisp.org>
23474
23475         * doc/posix-headers/stdbool.texi: More precise wording.
23476
23477 2010-04-17  Jim Meyering  <meyering@redhat.com>
23478
23479         maint.mk: use gnu-style indentation in an embedded perl script
23480         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23481         Rename variable: s/two/last_two_bytes/
23482
23483 2010-04-16  Eric Blake  <eblake@redhat.com>
23484
23485         test-stdbool: skip test that fails with Solaris CC
23486         * tests/test-stdbool.c (f): Skip test that causes compilation
23487         error under buggy C++ compiler.
23488         * lib/stdbool.in.h: Document the limitation.
23489         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23490
23491         setenv: allow compilation with C++
23492         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23493         register keyword.
23494
23495         stdint: allow test to pass with C++
23496         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23497
23498         getopt: allow compilation with C++
23499         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23500         struct.
23501         * lib/getopt.c (_getopt_internal_r): Use correct type.
23502         Reported by Dagobert Michelson, via Joel E. Denny.
23503
23504 2010-04-16  Bruno Haible  <bruno@clisp.org>
23505
23506         Override netdb.h always.
23507         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23508         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23509         Reported by Ludovic Courtès <ludo@gnu.org>.
23510
23511 2010-04-15  Bruno Haible  <bruno@clisp.org>
23512
23513         openpty: Fix mistake from 2010-03-21.
23514         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23515         Reported by Simon Josefsson.
23516
23517 2010-04-15  Eric Blake  <eblake@redhat.com>
23518
23519         test-forkpty: fix expected signature
23520         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23521         Reported by Simon Josefsson.
23522
23523 2010-04-15  Jim Meyering  <meyering@redhat.com>
23524
23525         maint.mk: texinfo_suffix_re_: correct the default regexp
23526         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23527
23528         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23529         make it configurable via texinfo_suffix_re_.
23530
23531 2010-04-14  Eric Blake  <eblake@redhat.com>
23532
23533         strtok_r: relax license to LGPLv2+
23534         * modules/strtok_r (License): Relax license.
23535         Reported by Matthias Bolte.
23536
23537 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23538
23539         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23540         version 1.4.4 by default instead of requiring the libgcrypt
23541         version used during build.  This makes it possible to use the
23542         application with older but still binary compatible libgcrypt
23543         versions.
23544
23545 2010-04-13  Eric Blake  <eblake@redhat.com>
23546
23547         getopt-gnu: match recent glibc fixes and posix ruling
23548         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23549         '+' handling, when requesting extensions.
23550         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23551         'W;' handling.
23552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23553         * doc/posix-functions/getopt.texi (getopt): Document this.
23554         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23555         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23556         Likewise.
23557
23558         getopt: merge bug fixes from glibc
23559         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23560         diagnostics.  Honor '+:' correctly.  Reject ';'.
23561
23562         getopt-posix: detect MacOS bug
23563         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23564         optind when missing a required argument.
23565         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23566         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23567         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23568         Likewise.
23569
23570         getopt-posix: avoid spurious failure on Solaris
23571         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23572         an indicator that setting optind=1 is sufficient for reset.
23573
23574         getopt-posix: avoid spurious failure on FreeBSD
23575         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23576         in POSIX mode, since the m4 test uses it.
23577
23578         gnulib-tool: silence warning on BSD sh
23579         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23580
23581 2010-04-13  Jim Meyering  <meyering@redhat.com>
23582
23583         doc: users.txt: GNU patch now uses gnulib
23584         * users.txt: Add patch.
23585
23586 2010-04-12  Jim Meyering  <meyering@redhat.com>
23587
23588         maint.mk: generate more concise timing data for syntax-check rules
23589         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23590         " done" from each line that reports a syntax-check test duration.
23591
23592 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23593
23594         git-version-gen: use "git update-index..." rather than "git status"
23595         * build-aux/git-version-gen: Use git update-index --refresh, not
23596         "git status".  With some versions of git, "git status" would fail
23597         to update the index and result in an unwarranted "-dirty" suffix.
23598
23599 2010-04-11  Jim Meyering  <meyering@redhat.com>
23600
23601         openat: correct formatting (no semantic change)
23602         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23603         Suggested by Bruno Haible.
23604
23605 2010-04-11  Bruno Haible  <bruno@clisp.org>
23606
23607         Stricter declaration checking in testdirs.
23608         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23609         If for_tests is true, augment AM_CPPFLAGS to define
23610         GNULIB_STRICT_CHECKING.
23611         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23612         GNULIB_STRICT_CHECKING is defined, verify that the function is
23613         declared.
23614
23615 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23616             Bruno Haible  <bruno@clisp.org>
23617
23618         libunistring: Improve configure output.
23619         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23620         Don't say "consider installing GNU libunistring" when checking again
23621         with libiconv.
23622
23623 2010-04-11  Bruno Haible  <bruno@clisp.org>
23624
23625         libunistring: Correct value of $LTLIBUNISTRING.
23626         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23627         correct the value of $LTLIBUNISTRING.
23628
23629 2010-04-11  Bruno Haible  <bruno@clisp.org>
23630
23631         havelib: Add static libraries to LIBS in the right order.
23632         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23633         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23634
23635 2010-04-11  Bruno Haible  <bruno@clisp.org>
23636
23637         libunistring: Detect libunistring also when it depends on libiconv.
23638         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23639         the second AC_LIB_HAVE_LINKFLAGS invocation.
23640
23641 2010-04-11  James Youngman  <jay@gnu.org>
23642
23643         close-stream: declare local scalars to be "const"
23644         * lib/close-stream.c (close_stream): Make boolean variables const
23645         to document the fact that we set but do not change them.
23646
23647 2010-04-11  Bruno Haible  <bruno@clisp.org>
23648
23649         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23650
23651 2010-04-11  Jim Meyering  <meyering@redhat.com>
23652
23653         maint.mk: don't include dist-check.mk
23654         * top/maint.mk: Remove bogus include directive.
23655
23656         maint.mk: improve empty-line-at-EOF check
23657         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23658         solution, rather than tail+Perl-based one.  The latter would read
23659         a few kilobytes from the end of each file, and did not handle empty
23660         files properly.
23661
23662         maint.mk: print the elapsed time for each syntax-check rule
23663         * top/maint.mk (sc_m_rules_): Save start time in a file.
23664         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23665         (local-check): Interpose the .z rules
23666
23667 2010-04-11  Jim Meyering  <meyering@redhat.com>
23668
23669         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23670         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23671         empty file with one that ends in an empty line.
23672
23673 2010-04-10  Bruno Haible  <bruno@clisp.org>
23674
23675         mkdir: Make it work on mingw64.
23676         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23677         * lib/mkdir.c: Update comment.
23678         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23679
23680 2010-04-10  Bruno Haible  <bruno@clisp.org>
23681
23682         Don't override improved macro from newer autoconf.
23683         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23684         autoconf >= 2.62.
23685         Reported by Joel E. Denny <jdenny@clemson.edu>.
23686
23687 2010-04-10  Jim Meyering  <meyering@redhat.com>
23688
23689         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23690         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23691
23692         maint.mk: correct a diagnostic
23693         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23694         in diagnostic; now use $prohibit.
23695
23696 2010-04-10  Bruno Haible  <address@hidden>
23697
23698         fchownat: Fix a C++ test error on Solaris 8.
23699         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23700         the function does not exist.
23701
23702 2010-04-10  Bruno Haible  <bruno@clisp.org>
23703
23704         vasnprintf: Add more tests.
23705         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23706         (test_function): Test converting an invalid wide string.
23707
23708         vasnprintf: Correct handling of unconvertible wide string arguments.
23709         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23710         VASNPRINTF.
23711         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23712         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23713         smaller than the expected maximum need for the directive. Set errno to
23714         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23715         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23717         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23718         * modules/vasnprintf (Files): Add m4/printf.m4.
23719         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23720
23721 2010-04-10  Bruno Haible  <bruno@clisp.org>
23722
23723         vasnprintf: Fix crash in %ls directive.
23724         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23725         string is passed as argument to %ls, with no precision and no width.
23726         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23727
23728 2010-04-10  Bruno Haible  <bruno@clisp.org>
23729
23730         vasnprintf: Fix multiple test failures on mingw.
23731         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23732         _snprintf, or snwprintf, not _snwprintf.
23733
23734 2010-04-10  Bruno Haible  <bruno@clisp.org>
23735
23736         write: Fix a C++ test error on mingw.
23737         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23738
23739 2010-04-10  Bruno Haible  <bruno@clisp.org>
23740
23741         vasnprintf test: Reduce code duplication.
23742         * tests/test-vasnprintf.c (test_function): New function, extracted from
23743         test_vasnprintf.
23744         (test_vasnprintf, test_asnprintf): Invoke it.
23745
23746 2010-04-10  Bruno Haible  <bruno@clisp.org>
23747
23748         strnlen: Fix warning in C++ mode on MacOS X.
23749         * lib/string.in.h (strnlen): Use the modern idiom.
23750         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23751         defining strnlen as a macro already in <config.h>.
23752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23753         REPLACE_STRNLEN.
23754         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23755         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23756
23757 2010-04-08  James Youngman  <jay@gnu.org>
23758
23759         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23760         the example.
23761
23762 2010-04-09  Jim Meyering  <meyering@redhat.com>
23763
23764         maint.mk: print better diagnostic when there is no $(_hv_file)
23765         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23766         announce that when $(_hv_file) (aka help-version) does not exist.
23767
23768         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23769         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23770         not try to interpret its random input bytes.  Jarno Rajahalme reported
23771         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23772         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23773         (mktempd_): Likewise, just in case.
23774
23775         ftruncate: add two years to projected module removal date: 2012
23776         * m4/ftruncate.m4: Adjust comments.
23777
23778         ftruncate: mark module as obsolete; even MinGW provides it, now
23779         * modules/ftruncate (Status): Obsolete.
23780         (Notice): Say that.
23781         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23782         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23783
23784 2010-04-08  Bruno Haible  <bruno@clisp.org>
23785
23786         Fix side effects from tests-related modules.
23787         * modules/dprintf-posix (Comment): New section.
23788         * modules/fprintf-posix (Comment): Likewise.
23789         * modules/obstack-printf-posix (Comment): Likewise.
23790         * modules/printf-posix (Comment): Likewise.
23791         * modules/snprintf-posix (Comment): Likewise.
23792         * modules/sprintf-posix (Comment): Likewise.
23793         * modules/vasnprintf-posix (Comment): Likewise.
23794         * modules/vasprintf-posix (Comment): Likewise.
23795         * modules/vdprintf-posix (Comment): Likewise.
23796         * modules/vfprintf-posix (Comment): Likewise.
23797         * modules/vprintf-posix (Comment): Likewise.
23798         * modules/vsnprintf-posix (Comment): Likewise.
23799         * modules/vsprintf-posix (Comment): Likewise.
23800         * modules/xprintf-posix (Comment): Likewise.
23801         * modules/xvasprintf-posix (Comment): Likewise.
23802         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23803         * modules/floorf-tests (Depends-on): Likewise.
23804         * modules/round-tests (Depends-on): Likewise.
23805         * modules/roundf-tests (Depends-on): Likewise.
23806         * modules/trunc-tests (Depends-on): Likewise.
23807         * modules/truncf-tests (Depends-on): Likewise.
23808         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23809         'fprintf-posix' module is not present.
23810         * tests/test-floorf2.c (check): Likewise.
23811         * tests/test-trunc2.c (check): Likewise.
23812         * tests/test-truncf2.c (check): Likewise.
23813         * tests/test-round2.c (equal): Likewise.
23814         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23815
23816 2010-04-07  Karl Berry  <karl@gnu.org>
23817
23818         * config/srclist.txt,
23819         * config/srclistvars.sh,
23820         * config/srclist-update: doc fixes.
23821
23822 2010-04-07  Jim Meyering  <meyering@redhat.com>
23823
23824         maint.mk: add a PATH crosschecking syntax-check rule
23825         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23826         Useful if you use a test like the one in help-version (coreutils,
23827         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23828         printed by prog --version.
23829
23830 2010-04-06  Bruno Haible  <bruno@clisp.org>
23831
23832         Fix link error on mingw.
23833         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23834         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23835
23836 2010-04-06  Bruno Haible  <bruno@clisp.org>
23837
23838         Assume rmdir exists.
23839         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23840
23841 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23842
23843         doc: update users.txt
23844         * users.txt: Add gcal.
23845
23846 2010-04-06  Jim Meyering  <meyering@redhat.com>
23847
23848         init.sh: simply unset TMPDIR rather than risking env -i
23849         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23850         although it probably works fine on all Unix-based systems, some
23851         systems (Cygwin?) cannot tolerate a totally cleared environment.
23852         Suggestion from Eric Blake.
23853
23854 2010-04-06  Jim Meyering  <meyering@redhat.com>
23855
23856         init.sh: portability fix: use env's POSIX-specified -i option not -u
23857         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23858         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23859
23860 2010-04-05  Bruno Haible  <bruno@clisp.org>
23861
23862         btowc: Work around Cygwin 1.7.2 bug.
23863         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23864         does not map NUL to 0.
23865         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23866
23867 2010-04-05  Bruno Haible  <bruno@clisp.org>
23868
23869         Make the multithread modules work on Cygwin 1.7.2.
23870         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23871         imported symbols can be declared weak, so that it returns "no" on
23872         Cygwin 1.7.2.
23873
23874 2010-04-05  Bruno Haible  <bruno@clisp.org>
23875
23876         Use the module 'strncat'.
23877         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23878
23879         Tests for module 'strncat'.
23880         * modules/strncat-tests: New file.
23881         * tests/test-strncat.c: New file.
23882
23883         New module 'strncat'.
23884         * lib/string.in.h (strncat): New declaration.
23885         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23886         * m4/strncat.m4: New file, based on m4/memchr.m4.
23887         * modules/strncat: New file.
23888         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23889         is declared.
23890         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23891         REPLACE_STRNCAT.
23892         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23893         REPLACE_STRNCAT.
23894         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23895         module.
23896         * tests/test-string-c++.cc: Check signature of strncat.
23897
23898 2010-04-05  Jim Meyering  <meyering@redhat.com>
23899
23900         xstrtoumax-tests: convert to use init.sh
23901         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23902         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23903         Use Exit, not exit.
23904         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23905
23906         xstrtoimax-tests: convert to use init.sh
23907         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23908         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23909         Use Exit, not exit.
23910         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23911
23912 2010-04-05  Bruno Haible  <bruno@clisp.org>
23913
23914         sys_socket: Avoid #define replacements in C++ mode.
23915         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23916         warning to the function if possible, rather than #defining the symbol
23917         to a dysfunctional alias.
23918
23919 2010-04-05  Bruno Haible  <bruno@clisp.org>
23920
23921         fseeko: Fix C++ test error on mingw.
23922         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23923         gl_FUNC_FSEEKO.
23924         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23925         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23926         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
23927         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
23928
23929 2010-04-05  Bruno Haible  <bruno@clisp.org>
23930
23931         duplocale: Improve test output.
23932         * tests/test-duplocale.c (main): Print reason for skipped test.
23933
23934 2010-04-05  Bruno Haible  <bruno@clisp.org>
23935
23936         Assume rmdir exists.
23937         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
23938         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
23939
23940 2010-04-05  Bruno Haible  <bruno@clisp.org>
23941
23942         Fix link error on Solaris 8 with cc.
23943         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
23944
23945 2010-04-05  Bruno Haible  <bruno@clisp.org>
23946
23947         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
23948         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
23949
23950 2010-04-05  Bruno Haible  <bruno@clisp.org>
23951
23952         vasprintf: Update documentation.
23953         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
23954
23955 2010-04-05  Bruno Haible  <bruno@clisp.org>
23956
23957         ptsname: Improve test.
23958         * tests/test-ptsname.c (main): Also try the various master names of BSD
23959         systems.
23960
23961 2010-04-05  Bruno Haible  <bruno@clisp.org>
23962
23963         memchr: Avoid a possible C++ test error.
23964         * lib/string.in.h (memchr): Provide declaration if function is missing.
23965         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
23966         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
23967         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
23968         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
23969
23970 2010-04-05  Bruno Haible  <bruno@clisp.org>
23971
23972         strtok_r: Improve idiom.
23973         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
23974         AC_LIBOBJ is used.
23975
23976 2010-04-05  Bruno Haible  <bruno@clisp.org>
23977
23978         strdup: Improve idiom.
23979         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
23980         AC_LIBOBJ is used.
23981         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
23982         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
23983         when AC_LIBOBJ is used.
23984
23985 2010-04-05  Bruno Haible  <bruno@clisp.org>
23986
23987         mbsinit, mbrtowc, wcrtomb: Improve idioms.
23988         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
23989         don't set REPLACE_MBSINIT to 1.
23990         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
23991         don't set REPLACE_MBRTOWC to 1.
23992         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
23993         exist, don't set REPLACE_MBSRTOWCS to 1.
23994         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
23995         exist, don't set REPLACE_MBSNRTOWCS to 1.
23996         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
23997         don't set REPLACE_WCRTOMB to 1.
23998         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
23999         exist, don't set REPLACE_WCSRTOMBS to 1.
24000         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24001         exist, don't set REPLACE_WCSNRTOMBS to 1.
24002
24003 2010-04-05  Bruno Haible  <bruno@clisp.org>
24004
24005         ldexpl: Improve idiom.
24006         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24007         make sure to set HAVE_DECL_LDEXPL to 0.
24008
24009 2010-04-05  Jim Meyering  <meyering@redhat.com>
24010
24011         xstrtol-tests: convert to use init.sh
24012         * modules/xstrtol-tests (Files): Add tests/init.sh.
24013         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24014         Use Exit, not exit.
24015         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24016
24017         atexit-tests: convert to use init.sh
24018         * modules/atexit-tests (Files): Add tests/init.sh.
24019         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24020         Use Exit, not exit.
24021         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24022
24023         init.sh: fix typo
24024         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24025
24026         init.sh: make it easier for a test script to write to the tty, ...
24027         when using automake's parallel-tests mode.
24028         * tests/init.sh (stderr_fileno_): Define overridable variable.
24029         (warn_): New function, to use it.
24030         (fail_, skip_, framework_failure_): Use warn_.
24031
24032 2010-04-04  Bruno Haible  <bruno@clisp.org>
24033
24034         btowc: Avoid warning.
24035         * lib/btowc.c: Include <stdlib.h>.
24036         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24037
24038 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24039             Bruno Haible  <bruno@clisp.org>
24040
24041         wchar: Port to NetBSD 1.5.
24042         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24043         * lib/wctype.in.h (WEOF): Likewise.
24044
24045 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24046             Bruno Haible  <bruno@clisp.org>
24047
24048         Port extended stdio to NetBSD 1.5.
24049         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24050         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24051         older.
24052
24053 2010-04-04  Bruno Haible  <bruno@clisp.org>
24054
24055         string: Remove unused substitution.
24056         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24057         HAVE_DECL_STRERROR.
24058         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24059
24060 2010-04-04  Bruno Haible  <bruno@clisp.org>
24061
24062         strtod: Avoid a possible C++ test error.
24063         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24064         set REPLACE_STRTOD.
24065
24066 2010-04-04  Bruno Haible  <bruno@clisp.org>
24067
24068         strerror: Update documentation.
24069         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24070
24071 2010-04-04  Bruno Haible  <bruno@clisp.org>
24072
24073         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24074         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24075         _GL_CXXALIAS_SYS_CAST.
24076
24077 2010-04-04  Bruno Haible  <bruno@clisp.org>
24078
24079         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24080         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24081         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24082         REPLACE_FREXPL to 1.
24083         * doc/posix-functions/frexpl.texi: Update documentation.
24084
24085 2010-04-04  Bruno Haible  <bruno@clisp.org>
24086
24087         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24088         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24089
24090 2010-04-04  Bruno Haible  <bruno@clisp.org>
24091
24092         Implement nanosleep for native Windows.
24093         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24094
24095 2010-04-04  Bruno Haible  <bruno@clisp.org>
24096
24097         math: Fix some C++ test errors on Solaris 8.
24098         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24099
24100 2010-04-04  Bruno Haible  <bruno@clisp.org>
24101
24102         math: Fix some C++ test errors on Cygwin.
24103         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24104         truncl): Provide declaration if the system does not have it.
24105         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24106         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24107         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24108         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24109         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24110         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24111         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24112         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24113         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24114         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24115         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24116         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24117         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24118         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24119         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24120         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24122         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24123         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24124         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24125         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24126         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24127
24128 2010-04-04  Bruno Haible  <bruno@clisp.org>
24129
24130         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24131         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24132         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24133         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24134         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24135         * m4/isinf.m4 (gl_ISINF): Likewise.
24136         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24137
24138 2010-04-04  Bruno Haible  <bruno@clisp.org>
24139
24140         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24141         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24142
24143 2010-04-04  Bruno Haible  <bruno@clisp.org>
24144
24145         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24146         * modules/tmpfile (configure.ac): Update.
24147
24148         tmpfile: Fix C++ test error on mingw.
24149         * lib/stdio.in.h (tmpfile): New declaration.
24150         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24151         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24152         * modules/tmpfile (Depends-on): Add stdio.
24153         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24154         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24155         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24156         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24157         REPLACE_TMPFILE.
24158         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24159
24160 2010-04-04  Bruno Haible  <bruno@clisp.org>
24161
24162         ioctl: Fix C++ test error on mingw.
24163         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24164         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24165         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24166
24167 2010-04-03  Bruno Haible  <bruno@clisp.org>
24168
24169         wcwidth: Fix C++ test error on mingw.
24170         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24171         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24172         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24173
24174 2010-04-03  Bruno Haible  <bruno@clisp.org>
24175
24176         nanosleep: Fix C++ test error on mingw.
24177         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24178         * lib/time.in.h (nanosleep): Use modern idiom.
24179         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24180         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24181         REPLACE_NANOSLEEP to 1.
24182         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24183         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24184
24185 2010-04-03  Bruno Haible  <bruno@clisp.org>
24186
24187         strptime: Fix C++ test error on mingw.
24188         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24189         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24190         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24191         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24192         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24193         not REPLACE_STRPTIME.
24194         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24195         REPLACE_STRPTIME.
24196
24197 2010-04-03  Bruno Haible  <bruno@clisp.org>
24198
24199         timegm: Fix C++ test error on mingw.
24200         * lib/time.in.h (timegm): Use modern idiom.
24201         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24202         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24203         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24204         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24205
24206 2010-04-03  Bruno Haible  <bruno@clisp.org>
24207
24208         timegm: Assume declaration if function exists.
24209         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24210         if it exists. Don't clobber ac_cv_func_timegm.
24211
24212 2010-04-03  Bruno Haible  <bruno@clisp.org>
24213
24214         time_r: Fix C++ test error on mingw.
24215         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24216         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24217         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24218         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24219         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24220
24221 2010-04-03  Bruno Haible  <bruno@clisp.org>
24222
24223         time_r: Minor updates.
24224         * modules/time_r (Description): Mention the provided functions.
24225         * lib/time_r.c: Don't include <string.h>.
24226         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24227         * doc/posix-functions/localtime_r.texi: Likewise.
24228
24229 2010-04-03  Bruno Haible  <bruno@clisp.org>
24230
24231         time: Fix regression introduced on 2010-03-08.
24232         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24233         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24234
24235 2010-04-03  Jim Meyering  <meyering@redhat.com>
24236
24237         maint.mk: don't silently disable project-specific syntax-check rules
24238         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24239         that they need to convert their project-specific syntax-check rules
24240         to use the new _sc_search_regexp.
24241
24242 2010-04-03  Bruno Haible  <bruno@clisp.org>
24243
24244         fchdir: Fix regression introduced on 2010-03-08.
24245         * lib/unistd.in.h (fchdir): Fix declaration.
24246         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24248         REPLACE_FCHDIR.
24249         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24250         REPLACE_FCHDIR.
24251
24252 2010-04-03  Bruno Haible  <bruno@clisp.org>
24253
24254         getpagesize: Fix C++ test error on mingw.
24255         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24256         system does not declare the function.
24257         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24258         declared.
24259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24260         HAVE_DECL_GETPAGESIZE.
24261         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24262
24263 2010-04-03  Bruno Haible  <bruno@clisp.org>
24264
24265         stdio: Make C++ tests work on mingw.
24266         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24267         does not declare the function.
24268
24269 2010-04-03  Bruno Haible  <bruno@clisp.org>
24270
24271         ftello: Fix C++ test error on mingw.
24272         * lib/stdio.in.h (ftello): Use modern idiom.
24273         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24274         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24275         is missing and that it needs to be replaced.
24276         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24278         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24279
24280 2010-04-03  Bruno Haible  <bruno@clisp.org>
24281
24282         fseeko: Fix C++ test error on mingw.
24283         * lib/stdio.in.h (fseeko): Use modern idiom.
24284         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24285         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24286         is missing and that it needs to be replaced.
24287         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24289         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24290
24291 2010-04-03  Bruno Haible  <bruno@clisp.org>
24292
24293         mkstemp: Fix C++ test error on mingw.
24294         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24295         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24296         function is missing and that it needs to be replaced.
24297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24298         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24299
24300 2010-04-03  Bruno Haible  <bruno@clisp.org>
24301
24302         stpncpy: Fix C++ test error on mingw.
24303         * lib/string.in.h (stpncpy): Use modern idiom.
24304         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24305         function is missing and that it needs to be replaced.
24306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24307         REPLACE_STPNCPY.
24308         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24309
24310 2010-04-03  Bruno Haible  <bruno@clisp.org>
24311
24312         sys_stat: Fix C++ test error on mingw.
24313         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24314         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24315
24316 2010-04-03  Bruno Haible  <bruno@clisp.org>
24317
24318         pty: Update doc.
24319         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24320
24321 2010-04-03  Bruno Haible  <bruno@clisp.org>
24322
24323         unistd: Fix C++ test error on mingw.
24324         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24325
24326 2010-04-03  Bruno Haible  <bruno@clisp.org>
24327
24328         Update doc regarding mingw.
24329         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24330         * doc/glibc-functions/login_tty.texi: Likewise.
24331         * doc/glibc-functions/forkpty.texi: Likewise.
24332
24333 2010-04-03  Bruno Haible  <bruno@clisp.org>
24334
24335         stdlib: Avoid compilation failure of c-strtold on mingw.
24336         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24337
24338 2010-04-03  Bruno Haible  <bruno@clisp.org>
24339
24340         locale: Make C++ tests work on Cygwin and mingw.
24341         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24342         cannot provide the function.
24343         Reported by Simon Josefsson.
24344
24345 2010-04-03  Bruno Haible  <bruno@clisp.org>
24346
24347         localename: Port to MacOS X 10.6.
24348         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24349         memory layout of the locales in MacOS X 10.6 as well.
24350         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24351
24352 2010-04-02  Bruno Haible  <bruno@clisp.org>
24353
24354         gnulib-tool: Ensure that long-running tests are executed last.
24355         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24356         running tests after the one for the other tests.
24357
24358 2010-04-02  Bruno Haible  <bruno@clisp.org>
24359
24360         gnulib-tool: Ensure the tests in the main directory are executed first.
24361         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24362         start with the current directory.
24363
24364 2010-04-02  Bruno Haible  <bruno@clisp.org>
24365
24366         Tests for module 'havelib', moved here from GNU gettext.
24367         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24368         modifications.
24369         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24370         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24371         with modifications.
24372         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24373         modifications.
24374         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24375         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24376         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24377         with modifications.
24378         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24379         with modifications.
24380         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24381         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24382         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24383         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24384         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24385         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24386         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24387         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24388         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24389         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24390         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24391         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24392         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24393         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24394         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24395         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24396         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24397         with modifications.
24398         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24399         with modifications.
24400         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24401         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24402         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24403         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24404         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24405         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24406         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24407         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24408         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24409         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24410         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24411         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24412         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24413         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24414         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24415         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24416         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24417         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24418         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24419         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24420         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24421         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24422         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24423         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24424         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24425         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24426         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24427         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24428         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24429         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24430         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24431         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24432         * tests/havelib/rpathx/rpathx.c: New file, from
24433         gettext/autoconf-lib-link.
24434         * tests/havelib/rpathx/Makefile.am: New file, from
24435         gettext/autoconf-lib-link.
24436         * tests/havelib/rpathx/configure.ac: New file, from
24437         gettext/autoconf-lib-link with modifications.
24438         * tests/havelib/rpathy/rpathy.c: New file, from
24439         gettext/autoconf-lib-link.
24440         * tests/havelib/rpathy/Makefile.am: New file, from
24441         gettext/autoconf-lib-link.
24442         * tests/havelib/rpathy/configure.ac: New file, from
24443         gettext/autoconf-lib-link with modifications.
24444         * tests/havelib/rpathz/rpathz.c: New file, from
24445         gettext/autoconf-lib-link.
24446         * tests/havelib/rpathz/Makefile.am: New file, from
24447         gettext/autoconf-lib-link.
24448         * tests/havelib/rpathz/configure.ac: New file, from
24449         gettext/autoconf-lib-link with modifications.
24450         * tests/havelib/rpathlx/usex.c: New file, from
24451         gettext/autoconf-lib-link.
24452         * tests/havelib/rpathlx/Makefile.am: New file, from
24453         gettext/autoconf-lib-link.
24454         * tests/havelib/rpathlx/configure.ac: New file, from
24455         gettext/autoconf-lib-link with modifications.
24456         * tests/havelib/rpathly/usey.c: New file, from
24457         gettext/autoconf-lib-link.
24458         * tests/havelib/rpathly/Makefile.am: New file, from
24459         gettext/autoconf-lib-link.
24460         * tests/havelib/rpathly/configure.ac: New file, from
24461         gettext/autoconf-lib-link with modifications.
24462         * tests/havelib/rpathlz/usez.c: New file, from
24463         gettext/autoconf-lib-link.
24464         * tests/havelib/rpathlz/Makefile.am: New file, from
24465         gettext/autoconf-lib-link.
24466         * tests/havelib/rpathlz/configure.ac: New file, from
24467         gettext/autoconf-lib-link with modifications.
24468         * tests/havelib/rpathlyx/usey.c: New file, from
24469         gettext/autoconf-lib-link.
24470         * tests/havelib/rpathlyx/Makefile.am: New file, from
24471         gettext/autoconf-lib-link.
24472         * tests/havelib/rpathlyx/configure.ac: New file, from
24473         gettext/autoconf-lib-link with modifications.
24474         * tests/havelib/rpathlzyx/usez.c: New file, from
24475         gettext/autoconf-lib-link.
24476         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24477         gettext/autoconf-lib-link.
24478         * tests/havelib/rpathlzyx/configure.ac: New file, from
24479         gettext/autoconf-lib-link with modifications.
24480         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24481         with modifications.
24482
24483 2010-04-02  Bruno Haible  <bruno@clisp.org>
24484
24485         gnulib-tool: Create distributed built sources also for the tests.
24486         * gnulib-tool (func_create_testdir): Also generate distributed built
24487         sources in the tests directory.
24488
24489 2010-04-02  Bruno Haible  <bruno@clisp.org>
24490
24491         gnulib-tool: Obey user's environment variables.
24492         * gnulib-tool (func_create_testdir): When creating built sources,
24493         respect the environment variables for autoconf, automake, etc. given by
24494         the user.
24495
24496 2010-04-02  Bruno Haible  <bruno@clisp.org>
24497
24498         gnulib-tool: Provide the value of --m4-base to modules.
24499         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24500         of gl_m4_base.
24501
24502 2010-04-02  Eric Blake  <eblake@redhat.com>
24503
24504         maint.mk: fix some fallout
24505         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24506         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24507
24508 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24509
24510         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24511         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24512         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24513         (sc_cast_of_x_alloc_return_value): Likewise.
24514         (sc_cast_of_alloca_return_value): Likewise.
24515         (sc_space_tab): Likewise.
24516         (sc_prohibit_atoi_atof): Likewise.
24517         (sc_prohibit_magic_number_exit): Likewise.
24518         (sc_error_exit_success): Likewise.
24519         (sc_file_system): Likewise.
24520         (sc_prohibit_have_config_h): Likewise.
24521         (sc_require_config_h): Likewise.
24522         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24523         (sc_obsolete_symbols): Likewise.
24524         (sc_changelog): Likewise.
24525         (sc_program_name): Likewise.
24526         (sc_the_the): Likewise.
24527         (sc_trailing_blank): Likewise.
24528         (sc_two_space_separator_in_usage): Likewise.
24529         (sc_useless_cpp_parens): Likewise.
24530         (sc_GPL_version): Likewise.
24531         (sc_GFDL_version): Likewise.
24532         (sc_texinfo_acronym): Likewise.
24533         (sc_prohibit_cvs_keyword): Likewise.
24534         (sc_prohibit_stat_st_blocks): Likewise.
24535         (sc_prohibit_S_IS_definition): Likewise.
24536         (sc_redundant_const): Likewise.
24537         (sc_makefile_TAB_only_indentation): Likewise.
24538         (sc_m4_quote_check): Likewise.
24539         (sc_makefile_path_separator_check): Likewise.
24540         (sc_copyright_check): Likewise.
24541         (sc_Wundef_boolean): Likewise.
24542         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24543
24544         maint.mk: match 0 or more whitespace-before-function-call '('
24545         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24546         that have zero or two-and-more spaces between the function name
24547         and the open parenthesis.
24548         (sc_error_message_warn_fatal): Likewise.
24549         (sc_error_message_uppercase): Likewise.
24550         (sc_error_message_period): Likewise.
24551
24552 2010-03-31  Eric Blake  <eblake@redhat.com>
24553
24554         maint.mk: check for [ as well as test
24555         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24556         Based on a libvirt report by Matthias Bolte.
24557
24558         gnumakefile: don't squelch _version output
24559         * top/GNUmakefile (_version): Create one-shot dependency rather
24560         than using $(shell) when version must be regenerated.
24561         (_autoreconf): Run verbosely, by default.
24562
24563         sys_time: avoid compiler warnings
24564         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24565         unconditional, fixing regression from 2010-03-29.
24566         Reported by Simon Josefsson.
24567
24568 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24569
24570         maint.mk: s/_header_without_use/_sc_header_without_use/
24571         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24572         (sc_prohibit_assert_without_use): Use the new name.
24573         (sc_prohibit_close_stream_without_use): Likewise.
24574         (sc_prohibit_getopt_without_use): Likewise.
24575         (sc_prohibit_quotearg_without_use): Likewise.
24576         (sc_prohibit_quote_without_use): Likewise.
24577         (sc_prohibit_long_options_without_use): Likewise.
24578         (sc_prohibit_inttostr_without_use): Likewise.
24579         (sc_prohibit_ignore_value_without_use): Likewise.
24580         (sc_prohibit_error_without_use): Likewise.
24581         (sc_prohibit_xalloc_without_use): Likewise.
24582         (sc_prohibit_hash_without_use): Likewise.
24583         (sc_prohibit_hash_pjw_without_use): Likewise.
24584         (sc_prohibit_safe_read_without_use): Likewise.
24585         (sc_prohibit_argmatch_without_use): Likewise.
24586         (sc_prohibit_canonicalize_without_use): Likewise.
24587         (sc_prohibit_root_dev_ino_without_use): Likewise.
24588         (sc_prohibit_openat_without_use): Likewise.
24589         (sc_prohibit_c_ctype_without_use): Likewise.
24590         (sc_prohibit_signal_without_use): Likewise.
24591         (sc_prohibit_intprops_without_use): Likewise.
24592
24593 2010-03-30  Eric Blake  <eblake@redhat.com>
24594
24595         maint: improve module indicators
24596         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24597         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24598         columns, and avoid extra macro expansion.
24599
24600         fdopendir: work around FreeBSD bug
24601         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24602         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24603         * modules/dirent (Makefile.am): Substitute it.
24604         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24605         declaration.
24606         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24607         fix.
24608         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24609
24610 2010-03-29  Bruno Haible  <bruno@clisp.org>
24611
24612         Emit #pragma system_header after the inclusion guard, not before.
24613         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24614         guard that spans the entire file, not before. This enables an
24615         optimization in GCC's preprocessor.
24616         * lib/ctype.in.h: Likewise.
24617         * lib/dirent.in.h: Likewise.
24618         * lib/errno.in.h: Likewise.
24619         * lib/float.in.h: Likewise.
24620         * lib/getopt.in.h: Likewise.
24621         * lib/iconv.in.h: Likewise.
24622         * lib/langinfo.in.h: Likewise.
24623         * lib/locale.in.h: Likewise.
24624         * lib/math.in.h: Likewise.
24625         * lib/netdb.in.h: Likewise.
24626         * lib/netinet_in.in.h: Likewise.
24627         * lib/pty.in.h: Likewise.
24628         * lib/sched.in.h: Likewise.
24629         * lib/se-selinux.in.h: Likewise.
24630         * lib/search.in.h: Likewise.
24631         * lib/spawn.in.h: Likewise.
24632         * lib/stdarg.in.h: Likewise.
24633         * lib/stdint.in.h: Likewise.
24634         * lib/string.in.h: Likewise.
24635         * lib/strings.in.h: Likewise.
24636         * lib/sys_file.in.h: Likewise.
24637         * lib/sys_ioctl.in.h: Likewise.
24638         * lib/sys_time.in.h: Likewise.
24639         * lib/sys_times.in.h: Likewise.
24640         * lib/sys_utsname.in.h: Likewise.
24641         * lib/sys_wait.in.h: Likewise.
24642         * lib/sysexits.in.h: Likewise.
24643         * lib/wctype.in.h: Likewise.
24644
24645 2010-03-28  James Youngman  <jay@gnu.org>
24646
24647         save-cwd: don't leak a file descriptor when the caller execs.
24648         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24649         saved file descriptor.
24650         * modules/save-cwd (Depends-on): Depend on cloexec.
24651
24652 2010-03-29  Bruno Haible  <bruno@clisp.org>
24653
24654         Remove vestiges of fts-lgpl module.
24655         * lib/fts_.h: Assume GNULIB_FTS is 1.
24656         * lib/fts.c: Likewise.
24657         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24658
24659 2010-03-28  Bruno Haible  <bruno@clisp.org>
24660
24661         Fix definition of tests witness macro.
24662         * gnulib-tool (func_import): Fix definition of witness macro.
24663
24664 2010-03-28  Bruno Haible  <bruno@clisp.org>
24665
24666         Fix ioctl's protoype on glibc systems.
24667         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24668         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24669         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24670         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24671         signature. If not, arrange to replace the ioctl function.
24672         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24673         REPLACE_IOCTL.
24674         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24675         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24676         Reported by Ludovic Courtès <ludo@gnu.org>.
24677
24678 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24679
24680         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24681         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24682         made it so grep -r --include=GLOB* ... did not work.
24683
24684 2010-03-26  Jim Meyering  <meyering@redhat.com>
24685             Eric Blake  <eblake@redhat.com>
24686
24687         maint.mk: prohibit use of test's -o and -a operators
24688         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24689
24690 2010-03-28  Bruno Haible  <bruno@clisp.org>
24691
24692         Remove unused GNULIB_XYZ macro definitions.
24693         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24694         invocation.
24695
24696 2010-03-28  Bruno Haible  <bruno@clisp.org>
24697
24698         Mark privileged tests modules.
24699         * modules/idpriv-drop-tests (Status): New section.
24700         * modules/idpriv-droptemp-tests (Status): New section.
24701
24702 2010-03-28  Bruno Haible  <bruno@clisp.org>
24703
24704         Split C++ tests into separate tests modules.
24705         * modules/dirent-c++-tests: New file, extracted from
24706         modules/dirent-tests.
24707         * modules/dirent-tests: Depend on it.
24708         * modules/fcntl-h-c++-tests: New file, extracted from
24709         modules/fcntl-h-tests.
24710         * modules/fcntl-h-tests: Depend on it.
24711         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24712         * modules/glob-tests: Depend on it.
24713         * modules/iconv-h-c++-tests: New file, extracted from
24714         modules/iconv-h-tests.
24715         * modules/iconv-h-tests: Depend on it.
24716         * modules/langinfo-c++-tests: New file, extracted from
24717         modules/langinfo-tests.
24718         * modules/langinfo-tests: Depend on it.
24719         * modules/locale-c++-tests: New file, extracted from
24720         modules/locale-tests.
24721         * modules/locale-tests: Depend on it.
24722         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24723         * modules/math-tests: Depend on it.
24724         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24725         * modules/pty-tests: Depend on it.
24726         * modules/search-c++-tests: New file, extracted from
24727         modules/search-tests.
24728         * modules/search-tests: Depend on it.
24729         * modules/signal-c++-tests: New file, extracted from
24730         modules/signal-tests.
24731         * modules/signal-tests: Depend on it.
24732         * modules/spawn-c++-tests: New file, extracted from
24733         modules/spawn-tests.
24734         * modules/spawn-tests: Depend on it.
24735         * modules/stdio-c++-tests: New file, extracted from
24736         modules/stdio-tests.
24737         * modules/stdio-tests: Depend on it.
24738         * modules/stdlib-c++-tests: New file, extracted from
24739         modules/stdlib-tests.
24740         * modules/stdlib-tests: Depend on it.
24741         * modules/string-c++-tests: New file, extracted from
24742         modules/string-tests.
24743         * modules/string-tests: Depend on it.
24744         * modules/sys_ioctl-c++-tests: New file, extracted from
24745         modules/sys_ioctl-tests.
24746         * modules/sys_ioctl-tests: Depend on it.
24747         * modules/sys_select-c++-tests: New file, extracted from
24748         modules/sys_select-tests.
24749         * modules/sys_select-tests: Depend on it.
24750         * modules/sys_socket-c++-tests: New file, extracted from
24751         modules/sys_socket-tests.
24752         * modules/sys_socket-tests: Depend on it.
24753         * modules/sys_stat-c++-tests: New file, extracted from
24754         modules/sys_stat-tests.
24755         * modules/sys_stat-tests: Depend on it.
24756         * modules/sys_time-c++-tests: New file, extracted from
24757         modules/sys_time-tests.
24758         * modules/sys_time-tests: Depend on it.
24759         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24760         * modules/time-tests: Depend on it.
24761         * modules/unistd-c++-tests: New file, extracted from
24762         modules/unistd-tests.
24763         * modules/unistd-tests: Depend on it.
24764         * modules/wchar-c++-tests: New file, extracted from
24765         modules/wchar-tests.
24766         * modules/wchar-tests: Depend on it.
24767         * modules/wctype-c++-tests: New file, extracted from
24768         modules/wctype-tests.
24769         * modules/wctype-tests: Depend on it.
24770         Reported by Simon Josefsson.
24771
24772 2010-03-28  Bruno Haible  <bruno@clisp.org>
24773
24774         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24775         * gnulib-tool (func_exists_module): New function, extracted from
24776         func_verify_module.
24777         (func_verify_module): Use it.
24778         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24779         'foo' only if 'foo' exists.
24780         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24781         module.
24782
24783 2010-03-28  Bruno Haible  <bruno@clisp.org>
24784
24785         gnulib-tool: Add support for special categories of tests.
24786         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24787         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24788         (func_usage): Document them.
24789         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24790         inc_unportable_tests, inc_all_tests): New variables.
24791         (func_acceptable): Consider these variables.
24792         (func_modules_transitive_closure): Make it work when the 'Status' field
24793         consists of multiple words.
24794         (func_import): Store and restore the values of inc_cxx_tests,
24795         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24796         inc_all_tests in gnulib-comp.m4.
24797         (func_create_testdir): Set inc_all_tests to true.
24798         * doc/gnulib.texi (Extra tests modules): New section.
24799         Suggested by Jim Meyering.
24800
24801 2010-03-28  Bruno Haible  <bruno@clisp.org>
24802
24803         ansi-c++-opt: Allow turning off the C++ build by default.
24804         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24805         gl_CXX_CHOICE_DEFAULT_NO is defined.
24806         Requested by Eric Blake.
24807
24808 2010-03-28  Bruno Haible  <bruno@clisp.org>
24809
24810         unistd: Avoid #define replacements in C++ mode.
24811         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24812         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24813         setsockopt, shutdown, select): In C++, attach a warning to the function
24814         if possible, rather than #defining the symbol to a dysfunctional alias.
24815         Reported by John W. Eaton <jwe@gnu.org>.
24816
24817 2010-03-28  Bruno Haible  <bruno@clisp.org>
24818
24819         Fix link errors on mingw.
24820         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24821         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24822         $(LIBSOCKET).
24823         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24824         $(LIBSOCKET).
24825
24826 2010-03-28  Bruno Haible  <bruno@clisp.org>
24827             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24828
24829         lib-ignore: Determine different options for different compilers.
24830         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24831         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24832         Add comments.
24833         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24834         * NEWS: Mention the change.
24835
24836 2010-03-27  Bruno Haible  <bruno@clisp.org>
24837
24838         Remove unused GNULIB_XYZ macro definitions.
24839         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24840         * modules/fseek (configure.ac): Likewise.
24841         * modules/ioctl (configure.ac): Likewise.
24842         * modules/open (configure.ac): Likewise.
24843         * modules/stdlib-safer (configure.ac): Likewise.
24844
24845 2010-03-27  Bruno Haible  <bruno@clisp.org>
24846
24847         Add a remark about certain modules.
24848         * modules/malloc (Comment): New section.
24849         * modules/realloc (Comment): Likewise.
24850         * modules/sigpipe (Comment): Likewise.
24851
24852 2010-03-27  Bruno Haible  <bruno@clisp.org>
24853
24854         Resolve conflict between the two kinds of module indicators.
24855         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24856         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24857         * modules/canonicalize (configure.ac): Invoke
24858         gl_MODULE_INDICATOR_FOR_TESTS.
24859         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24860         GNULIB_XYZ.
24861         * tests/test-dirent-c++.cc: Likewise.
24862         * tests/test-dirent-safer.c: Likewise.
24863         * tests/test-dup2.c: Likewise.
24864         * tests/test-fchdir.c: Likewise.
24865         * tests/test-fcntl-h-c++.cc: Likewise.
24866         * tests/test-getopt.c: Likewise.
24867         * tests/test-getopt.h: Likewise.
24868         * tests/test-langinfo-c++.cc: Likewise.
24869         * tests/test-locale-c++.cc: Likewise.
24870         * tests/test-math-c++.cc: Likewise.
24871         * tests/test-pty-c++.cc: Likewise.
24872         * tests/test-search-c++.cc: Likewise.
24873         * tests/test-signal-c++.cc: Likewise.
24874         * tests/test-spawn-c++.cc: Likewise.
24875         * tests/test-stdio-c++.cc: Likewise.
24876         * tests/test-stdlib-c++.cc: Likewise.
24877         * tests/test-string-c++.cc: Likewise.
24878         * tests/test-sys_ioctl-c++.cc: Likewise.
24879         * tests/test-sys_select-c++.cc: Likewise.
24880         * tests/test-sys_socket-c++.cc: Likewise.
24881         * tests/test-sys_stat-c++.cc: Likewise.
24882         * tests/test-sys_time-c++.cc: Likewise.
24883         * tests/test-time-c++.cc: Likewise.
24884         * tests/test-unistd-c++.cc: Likewise.
24885         * tests/test-wchar-c++.cc: Likewise.
24886         * tests/uninorm/test-u8-nfc.c: Likewise.
24887         * tests/uninorm/test-u8-nfd.c: Likewise.
24888         * tests/uninorm/test-u8-nfkc.c: Likewise.
24889         * tests/uninorm/test-u8-nfkd.c: Likewise.
24890         * tests/uninorm/test-u16-nfc.c: Likewise.
24891         * tests/uninorm/test-u16-nfd.c: Likewise.
24892         * tests/uninorm/test-u16-nfkc.c: Likewise.
24893         * tests/uninorm/test-u16-nfkd.c: Likewise.
24894         * tests/uninorm/test-u32-nfc.c: Likewise.
24895         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24896         * tests/uninorm/test-u32-nfd.c: Likewise.
24897         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24898         * tests/uninorm/test-u32-nfkc.c: Likewise.
24899         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24900         * tests/uninorm/test-u32-nfkd.c: Likewise.
24901         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24902         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24903
24904 2010-03-27  Bruno Haible  <bruno@clisp.org>
24905
24906         Distinguish two kinds of module indicators.
24907         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24908         gl_MODULE_INDICATOR.
24909         (gl_MODULE_INDICATOR): New macro.
24910         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24911         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24912         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24913         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24914         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24915         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24916         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24917         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24918         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24919         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24920         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24921         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24922         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24923         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24924         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24925         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24926         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24927         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24928         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24929         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24930         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24931         * modules/cloexec (configure.ac): Likewise.
24932         * modules/getopt-gnu (configure.ac): Likewise.
24933         * modules/uninorm/u8-normalize (configure.ac): Likewise.
24934         * modules/uninorm/u16-normalize (configure.ac): Likewise.
24935         * modules/uninorm/u32-normalize (configure.ac): Likewise.
24936         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
24937
24938 2010-03-27  Bruno Haible  <bruno@clisp.org>
24939
24940         New module description field 'Comment'.
24941         * gnulib-tool: New option --extract-comment.
24942         (func_usage): Document it.
24943         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
24944         (func_get_comment): New function.
24945         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
24946
24947 2010-03-27  Bruno Haible  <bruno@clisp.org>
24948
24949         Addendum to 2010-02-07 commit.
24950         * gnulib-tool (func_usage): Document --extract-applicability option.
24951
24952 2010-03-27  Bruno Haible  <bruno@clisp.org>
24953
24954         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
24955         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
24956         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
24957         rather than link errors.
24958
24959 2010-03-27  Bruno Haible  <bruno@clisp.org>
24960
24961         Avoid side effects from tests-related modules on the compilation of lib.
24962         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
24963         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
24964         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
24965         parameter. Emit into AM_CPPFLAGS a definition of the designated C
24966         macro.
24967         (func_import): Define a witness macro. Assign it a value that depends
24968         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
24969         tests-related modules.
24970         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
24971         Reported by Jim Meyering.
24972
24973 2010-03-27  Bruno Haible  <bruno@clisp.org>
24974
24975         Factorize common .m4 code.
24976         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
24977         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
24978         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
24979         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
24980         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24981         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
24982         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
24983         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24984         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24985         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24986         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
24987         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24988         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24989         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24990         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24991         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
24992         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24993         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24994         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24995         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
24996         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
24997         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24998         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24999         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25000         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25001         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25002         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25003         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25004         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25005         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25006         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25007         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25008
25009 2010-03-27  Bruno Haible  <bruno@clisp.org>
25010
25011         Fix a compilation error on Cygwin with g++ >= 4.3.
25012         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25013         if it is undefined or if we alias it to chmod.
25014         (lstat): Don't warn about the use of this function if it is undefined
25015         or if we alias it to stat.
25016         Reported by Simon Josefsson.
25017
25018 2010-03-27  Bruno Haible  <bruno@clisp.org>
25019
25020         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25021         * modules/getlogin (configure.ac): Update.
25022
25023         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25024         * modules/getlogin_r (configure.ac): Update.
25025
25026         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25027         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25028         * modules/inet_ntop (configure.ac): Update.
25029
25030         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25031         * modules/inet_pton (configure.ac): Update.
25032
25033         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25034         * modules/mbslen (configure.ac): Update.
25035
25036         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25037         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25038         * modules/forkpty (configure.ac): Update.
25039         * modules/openpty (configure.ac): Update.
25040
25041 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25042
25043         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25044         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25045
25046 2010-03-25  Eric Blake  <eblake@redhat.com>
25047
25048         maint: use pragma consistently across replacement headers
25049         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25050         * lib/dirent.in.h (system_header): Likewise.
25051         * lib/errno.in.h (system_header): Likewise.
25052         * lib/float.in.h (system_header): Likewise.
25053         * lib/getopt.in.h (system_header): Likewise.
25054         * lib/iconv.in.h (system_header): Likewise.
25055         * lib/inttypes.in.h (system_header): Likewise.
25056         * lib/langinfo.in.h (system_header): Likewise.
25057         * lib/locale.in.h (system_header): Likewise.
25058         * lib/math.in.h (system_header): Likewise.
25059         * lib/netdb.in.h (system_header): Likewise.
25060         * lib/netinet_in.in.h (system_header): Likewise.
25061         * lib/pty.in.h (system_header): Likewise.
25062         * lib/sched.in.h (system_header): Likewise.
25063         * lib/se-selinux.in.h (system_header): Likewise.
25064         * lib/search.in.h (system_header): Likewise.
25065         * lib/spawn.in.h (system_header): Likewise.
25066         * lib/stdarg.in.h (system_header): Likewise.
25067         * lib/stdint.in.h (system_header): Likewise.
25068         * lib/string.in.h (system_header): Likewise.
25069         * lib/strings.in.h (system_header): Likewise.
25070         * lib/sys_file.in.h (system_header): Likewise.
25071         * lib/sys_ioctl.in.h (system_header): Likewise.
25072         * lib/sys_socket.in.h (system_header): Likewise.
25073         * lib/sys_times.in.h (system_header): Likewise.
25074         * lib/sys_utsname.in.h (system_header): Likewise.
25075         * lib/sys_wait.in.h (system_header): Likewise.
25076         * lib/sysexits.in.h (system_header): Likewise.
25077         * lib/unistd.in.h (system_header): Likewise.
25078         * lib/wctype.in.h (system_header): Likewise.
25079
25080         arpa/inet: fix mingw compilation warning
25081         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25082         Reported by Matthew Bolte.
25083
25084 2010-03-25  Bruno Haible  <bruno@clisp.org>
25085
25086         Avoid collision between gnulib wrapper and libintl wrapper.
25087         * lib/printf.c (printf): Don't define if a printf wrapper is already
25088         defined in intl/printf.c.
25089         Reported by Michel Boaventura <michel@michelboaventura.com>.
25090
25091 2010-03-25  Bruno Haible  <bruno@clisp.org>
25092
25093         Use ANSI C.
25094         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25095
25096 2010-03-25  Bruno Haible  <bruno@clisp.org>
25097
25098         Minor formatting changes.
25099         * lib/acosl.c: Insert space before function argument list.
25100         * lib/argz.c: Likewise.
25101         * lib/asinl.c: Likewise.
25102         * lib/expl.c: Likewise.
25103         * lib/gen-uni-tables.c: Likewise.
25104         * lib/gettext.h: Likewise.
25105         * lib/glthread/lock.h: Likewise.
25106         * lib/tanl.c: Likewise.
25107         * lib/uniname/uniname.c: Likewise.
25108         * tests/test-idpriv-drop.c: Likewise.
25109         * tests/test-idpriv-droptemp.c: Likewise.
25110         * tests/test-lock.c: Likewise.
25111         * tests/test-tls.c: Likewise.
25112         * lib/argp-help.c: Insert space before function-like macro argument
25113         list.
25114         * lib/memcmp.c: Likewise.
25115         * tests/test-base64.c: Likewise.
25116         * lib/localename.c: Insert space before sizeof's argument list.
25117         * lib/safe-alloc.h: Likewise.
25118         * lib/file-set.h: Insert space before macro argument list.
25119         * tests/test-argp.c: Likewise.
25120         * lib/argp-namefrob.h: Insert space before function parameter list.
25121         * lib/getaddrinfo.c: Likewise.
25122         * lib/netdb.in.h: Likewise.
25123         * lib/parse-duration.h: Likewise.
25124         * lib/parse-duration.c: Likewise.
25125         * lib/poll.c: Likewise.
25126         * lib/select.c: Likewise.
25127         * lib/trim.h: Likewise.
25128         * tests/test-usleep.c: Likewise.
25129         * lib/ldexpl.c: Insert space before function parameter list and before
25130         function argument list.
25131         * lib/logl.c: Likewise.
25132         * lib/sqrtl.c: Likewise.
25133         * lib/trim.c: Likewise.
25134         * lib/cosl.c: Use GNU style indentation. Insert space before function
25135         argument list.
25136         * lib/sinl.c: Likewise.
25137         * lib/tsearch.c: Insert space after 'for'.
25138         Reported by Jim Meyering.
25139
25140 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25141
25142         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25143         config header before grepping, as it's not present before
25144         autoreconf/configure are run.  Reported by Simon Josefsson.
25145
25146 2010-03-23  Bruno Haible  <bruno@clisp.org>
25147
25148         pt_chown: Make it work with automake < 1.11.
25149         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25150         Reported by Simon Josefsson.
25151
25152 2010-03-23  Bruno Haible  <bruno@clisp.org>
25153
25154         pt_chown: Don't depend on GPLed modules.
25155         * lib/pt_chown.c: Don't include idpriv.h.
25156         (main): Don't drop privileges.
25157         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25158         Reported by Simon Josefsson.
25159
25160 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25161
25162         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25163         suggestions from karl@freefriends.org (Karl Berry).
25164
25165 2010-03-22  Eric Blake  <eblake@redhat.com>
25166
25167         gethostname: further tweaks
25168         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25169         are overriding gethostname.
25170         Suggested by Bruno Haible.
25171
25172 2010-03-21  Bruno Haible  <bruno@clisp.org>
25173
25174         Fix comments.
25175         * lib/forkpty.c (rpl_forkpty): Fix comment.
25176         * lib/openpty.c (rpl_openpty): Likewise.
25177         Reported by Eric Blake.
25178
25179 2010-03-22  Eric Blake  <eblake@redhat.com>
25180
25181         gethostname: fix build on mingw
25182         * lib/unistd.in.h (includes): Work around fact that mingw
25183         <winsock2.h> re-includes <unistd.h>, by avoiding any
25184         redeclarations if we are being included by <winsock2.h>.
25185         Reported by Matthias Bolte.
25186
25187 2010-03-21  Bruno Haible  <bruno@clisp.org>
25188
25189         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25190         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25191         modifications.
25192         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25193         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25194         provide the replacement.
25195         * modules/forkpty (Depends-on): Add openpty, login_tty.
25196         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25197         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25198         * doc/glibc-functions/forkpty.texi: More supported platforms.
25199         * config/srclist.txt: Add forkpty.c (commented).
25200
25201 2010-03-21  Bruno Haible  <bruno@clisp.org>
25202
25203         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25204         (Makefile.am): Verify that PTY_LIB is defined.
25205
25206         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25207
25208 2010-03-21  Bruno Haible  <bruno@clisp.org>
25209
25210         Tests for module 'login_tty'.
25211         * modules/login_tty-tests: New file.
25212         * tests/test-login_tty.c: New file.
25213
25214         New module 'login_tty'.
25215         * lib/login_tty.c: New file.
25216         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25217         * modules/login_tty: New file.
25218         * doc/glibc-functions/login_tty.texi: Mention the new module.
25219
25220 2010-03-21  Bruno Haible  <bruno@clisp.org>
25221
25222         login_tty: Documentation.
25223         * doc/glibc-functions/login_tty.texi: New file.
25224         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25225
25226 2010-03-21  Bruno Haible  <bruno@clisp.org>
25227
25228         pty: Consistent macro naming.
25229         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25230         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25231         * modules/pty (configure.ac): Update.
25232
25233 2010-03-21  Bruno Haible  <bruno@clisp.org>
25234
25235         Tests for openpty: Make stricter.
25236         * tests/test-openpty.c (main): Add test of canonical processing and
25237         erase.
25238         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25239
25240         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25241         * lib/openpty.c (openpty): New replacement function.
25242         * lib/pty.in.h: Include <termios.h>.
25243         (openpty): Update declaration. Add comments.
25244         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25245         is not declared, arrange to provide the replacement. Check for _getpty
25246         and posix_openpt.
25247         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25248         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25249         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25250         * modules/pty-tests (test_pty_c___LDADD): New variable.
25251         * doc/glibc-functions/openpty.texi: More supported platforms.
25252
25253 2010-03-21  Bruno Haible  <bruno@clisp.org>
25254
25255         setenv: Tweaks.
25256         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25257         the test program.
25258         * doc/posix-functions/setenv.texi: Update platforms list.
25259
25260 2010-03-21  Bruno Haible  <bruno@clisp.org>
25261
25262         New module 'unlockpt'.
25263         * lib/unlockpt.c: New file, from glibc with modifications.
25264         * m4/unlockpt.m4: New file.
25265         * modules/unlockpt: New file.
25266         * lib/stdlib.in.h (unlockpt): New declaration.
25267         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25268         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25269         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25270         HAVE_UNLOCKPT.
25271         * doc/posix-functions/unlockpt.texi: Mention the new module.
25272         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25273         * config/srclist.txt: Add unlockpt.c (commented).
25274
25275 2010-03-21  Jim Meyering  <meyering@redhat.com>
25276
25277         maint.mk: prohibit inclusion of "intprops.h" without use
25278         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25279
25280 2010-03-21  Bruno Haible  <bruno@clisp.org>
25281
25282         New module 'grantpt'.
25283         * lib/grantpt.c: New file, from glibc with modifications.
25284         * m4/grantpt.m4: New file.
25285         * modules/grantpt: New file.
25286         * lib/stdlib.in.h (grantpt): New declaration.
25287         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25288         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25289         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25290         HAVE_GRANTPT.
25291         * doc/posix-functions/grantpt.texi: Mention the new module.
25292         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25293         * config/srclist.txt: Add grantpt.c (commented).
25294
25295 2010-03-21  Bruno Haible  <bruno@clisp.org>
25296
25297         New module 'pt_chown'.
25298         * lib/pt_chown.c: New file, from glibc with modifications.
25299         * lib/pty-private.h: New file, from glibc with modifications.
25300         * modules/pt_chown: New file.
25301         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25302
25303 2010-03-21  Bruno Haible  <bruno@clisp.org>
25304
25305         Tests for module 'ptsname'.
25306         * modules/ptsname-tests: New file.
25307         * tests/test-ptsname.c: New file.
25308
25309         New module 'ptsname'.
25310         * lib/ptsname.c: New file, from glibc with modifications.
25311         * m4/ptsname.m4: New file.
25312         * modules/ptsname: New file.
25313         * lib/stdlib.in.h (ptsname): New declaration.
25314         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25315         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25316         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25317         HAVE_PTSNAME.
25318         * doc/posix-functions/ptsname.texi: Mention the new module.
25319         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25320         * config/srclist.txt: Add ptsname.c (commented).
25321
25322 2010-03-21  Bruno Haible  <bruno@clisp.org>
25323
25324         Tests for module 'ttyname_r'.
25325         * modules/ttyname_r-tests: New file.
25326         * tests/test-ttyname_r.c: New file.
25327
25328         New module 'ttyname_r'.
25329         * lib/ttyname_r.c: New file.
25330         * m4/ttyname_r.m4: New file.
25331         * modules/ttyname_r: New file.
25332         * lib/unistd.in.h (ttyname_r): New declaration.
25333         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25334         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25335         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25336         HAVE_TTYNAME_R.
25337         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25338         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25339
25340 2010-03-20  Bruno Haible  <bruno@clisp.org>
25341
25342         signal: Undefine macro definitions in C++ mode.
25343         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25344         sigfillset): Undefine macro definitions from the system header in C++
25345         mode.
25346         Reported by John W. Eaton <jwe@gnu.org>.
25347
25348 2010-03-20  Bruno Haible  <bruno@clisp.org>
25349
25350         Ensure no #include statements inside extern "C" { ... }.
25351         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25352         contain #include statements.
25353         * lib/time.in.h: Likewise.
25354
25355 2010-03-20  Bruno Haible  <bruno@clisp.org>
25356
25357         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25358         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25359         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25360         Reported by John W. Eaton <jwe@gnu.org>.
25361
25362 2010-03-20  Bruno Haible  <bruno@clisp.org>
25363
25364         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25365         Reported by Jim Meyering.
25366
25367 2010-03-20  Bruno Haible  <bruno@clisp.org>
25368
25369         pipe: Set errno upon failure.
25370         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25371         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25372         errno value in error message.
25373
25374 2010-03-20  Bruno Haible  <bruno@clisp.org>
25375             Jim Meyering  <meyering@redhat.com>
25376
25377         lchown: Avoid "unused variable" warning.
25378         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25379
25380 2010-03-20  Bruno Haible  <bruno@clisp.org>
25381
25382         Work around unlink() bug on MacOS X 10.5.6.
25383         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25384         attempting to unlink a parent directory.
25385         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25386         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25387         activate for the replacement function.
25388         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25389
25390 2010-03-20  Bruno Haible  <bruno@clisp.org>
25391
25392         Fix link errors on Solaris 8.
25393         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25394         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25395
25396 2010-03-19  Jim Meyering  <meyering@redhat.com>
25397
25398         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25399         The _LIBC implementation of build_range_exp correctly honors the
25400         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25401         However, the non-_LIBC implementation would ignore that syntax-bit
25402         flag and return REG_ERANGE unconditionally.
25403         This change makes it honor that flag.
25404         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25405         Make two pointer parameters "const".
25406         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25407         (parse_bracket_exp): Update caller.
25408
25409         regex.m4: correct the reversed range endpoint ([b-a]) test
25410         * m4/regex.m4: When requiring that [b-a] evoke failure,
25411         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25412         test pass once again for x86-based systems.
25413
25414 2010-03-19  Bruno Haible  <bruno@clisp.org>
25415
25416         scandir: Fix link error on Solaris 8.
25417         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25418         macros.
25419
25420 2010-03-19  Bruno Haible  <bruno@clisp.org>
25421
25422         getusershell: Fix documentation.
25423         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25424         module.
25425         * doc/glibc-functions/setusershell.texi: Likewise.
25426
25427         getusershell: Provide declaration, missing on Solaris 9.
25428         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25429         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25430         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25431         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25433         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25434         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25435         HAVE_GETUSERSHELL.
25436         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25437
25438 2010-03-19  Bruno Haible  <bruno@clisp.org>
25439
25440         wctype: Provide iswblank function.
25441         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25442         exists and is fine.
25443         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25444         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25445         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25446         * doc/posix-functions/iswblank.texi: Update.
25447
25448 2010-03-19  Bruno Haible  <bruno@clisp.org>
25449
25450         Tests of module 'pty' in C++ mode.
25451         * modules/pty-tests: New file.
25452         * tests/test-pty-c++.cc: New file.
25453         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25454
25455 2010-03-19  Eric Blake  <eblake@redhat.com>
25456
25457         logb: fix documentation
25458         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25459         1.5 declaration bug.
25460
25461         forkpty, openpty: prefer glibc's const-safe prototype
25462         * lib/forkpty.c (rpl_forkpty): New file.
25463         * lib/openpty.c (rpl_openpty): Likewise.
25464         * modules/forkpty (Files): Distribute it.
25465         * modules/openpty (Files): Likewise.
25466         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25467         check...
25468         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25469         replacement for for non-const BSD signature.
25470         * modules/pty (Makefile.am): Substitute witnesses.
25471         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25472         * tests/test-forkpty.c: Update signature check.
25473         * tests/test-openpty.c: Likewise.
25474         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25475         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25476
25477         forkpty, openpty: split functions into new modules
25478         * modules/pty (Makefile.am): Substitute new witnesses.
25479         (Libraries): Move library detection...
25480         * modules/forkpty: ...into new module.
25481         * modules/openpty: Another new module.
25482         * modules/pty-tests: Rename and split...
25483         * modules/forkpty-tests: ...to this...
25484         * modules/openpty-tests: ...and this.
25485         * tests/test-pty.c: Rename and split...
25486         * tests/test-forkpty.c: ...to this...
25487         * tests/test-openpty.c: ...and this.
25488         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25489         (gl_PTY): Split library searching...
25490         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25491         (gl_FORKPTY, gl_OPENPTY): New macros.
25492         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25493         * NEWS: Mention the split.
25494         * MODULES.html.sh (Misc): Document the modules.
25495         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25496         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25497
25498         pty: improve replacement header
25499         * lib/pty.in.h: New file.
25500         * modules/pty (Files): Ship it.
25501         (Makefile.am): Always build replacement.
25502         * m4/pty.m4: Rename...
25503         * m4/pty_h.m4: ...to this.
25504         (gl_PTY): Modernize setting of witness macros; update check of
25505         forkpty to take proper advantage of cache.
25506         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25507
25508         getopt: avoid compiler warning
25509         * lib/getopt.c (attribute_hidden): Remove unused macro.
25510
25511 2010-03-18  Bruno Haible  <bruno@clisp.org>
25512
25513         Fix link errors on Solaris 8.
25514         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25515         * modules/search-tests (test_search_c___LDADD): Likewise.
25516         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25517         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25518         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25519         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25520         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25521         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25522         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25523
25524 2010-03-18  Bruno Haible  <bruno@clisp.org>
25525
25526         Fix bug introduced on 2010-03-14.
25527         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25528         (gl_SPAWN_H): Require it.
25529         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25530         Reported by Simon Josefsson.
25531
25532 2010-03-18  Bruno Haible  <bruno@clisp.org>
25533
25534         Fix typo introduced on 2009-12-31.
25535         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25536         posix_spawn_file_actions_adddup2.
25537
25538 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25539         and Eric Blake  <eblake@redhat.com>
25540
25541         test-vc-list-files-git: make more robust
25542         * tests/test-vc-list-files-git.sh: Unset problematic environment
25543         variables.  Chain commands together.
25544
25545 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25546
25547         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25548         `AC_CHECK_DECL' invocation.
25549
25550 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25551
25552         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25553         appears before executable statements. Suggested by Petr Sumbera
25554         <Petr.Sumbera@Sun.COM>.
25555
25556 2010-03-14  Bruno Haible  <bruno@clisp.org>
25557
25558         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25559         portability problems. Instead use a simpler test.
25560         (main): Check that invalid arguments are rejected only on Linux.
25561
25562 2010-03-14  Bruno Haible  <bruno@clisp.org>
25563
25564         Fix bug introduced on 2009-12-31.
25565         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25566         gl_PREREQ_SYS_H_WINSOCK2 always.
25567         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25568         SYS_SOCKET_H variable.
25569         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25570         Update comments.
25571         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25572         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25573         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25574         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25575         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25576
25577 2010-03-14  Bruno Haible  <bruno@clisp.org>
25578
25579         Fix values returned by sinl, cosl.
25580         * lib/trigl.h: Add specification comments.
25581         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25582         that combines the values from the precomputed table with the values of
25583         the Chebyshev polynomials.
25584
25585 2010-03-14  Bruno Haible  <bruno@clisp.org>
25586
25587         Fix compilation error when modules 'posix_spawn[p]' are not used.
25588         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25589         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25590
25591 2010-03-14  Bruno Haible  <bruno@clisp.org>
25592
25593         Fix compilation error on mingw when module 'time_r' is not used.
25594         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25595         is 1.
25596         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25597         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25598         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25599         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25600
25601 2010-03-14  Bruno Haible  <bruno@clisp.org>
25602
25603         Fix compilation error with Sun C.
25604         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25605         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25606         instead of GCC specific ULONG_LONG_MAX.
25607         * lib/xstrtoll.c: Likewise.
25608         * lib/xstrtoull.c: Likewise.
25609
25610 2010-03-13  Bruno Haible  <bruno@clisp.org>
25611
25612         Allow the user to disable C++ code and tests.
25613         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25614         (gl_PROG_ANSI_CXX): Require it.
25615
25616 2010-03-13  Bruno Haible  <bruno@clisp.org>
25617
25618         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25619         cases.
25620
25621 2010-03-13  Bruno Haible  <bruno@clisp.org>
25622
25623         Test that gnulib does not break the standard C++ headers.
25624         * tests/test-locale-c++2.cc: New file.
25625         * modules/locale-tests (Files): Add it.
25626         (Makefile.am): Compile it for test-locale-c++.
25627         * tests/test-math-c++2.cc: New file.
25628         * modules/math-tests (Files): Add it.
25629         (Makefile.am): Compile it for test-math-c++.
25630         * tests/test-signal-c++2.cc: New file.
25631         * modules/signal-tests (Files): Add it.
25632         (Makefile.am): Compile it for test-signal-c++.
25633         * tests/test-stdio-c++2.cc: New file.
25634         * modules/stdio-tests (Files): Add it.
25635         (Makefile.am): Compile it for test-stdio-c++.
25636         * tests/test-stdlib-c++2.cc: New file.
25637         * modules/stdlib-tests (Files): Add it.
25638         (Makefile.am): Compile it for test-stdlib-c++.
25639         * tests/test-string-c++2.cc: New file.
25640         * modules/string-tests (Files): Add it.
25641         (Makefile.am): Compile it for test-string-c++.
25642         * tests/test-time-c++2.cc: New file.
25643         * modules/time-tests (Files): Add it.
25644         (Makefile.am): Compile it for test-time-c++.
25645         Reported by John W. Eaton <jwe@gnu.org>.
25646
25647 2010-03-13  Bruno Haible  <bruno@clisp.org>
25648
25649         * gnulib-tool (func_usage): Clarify which options are available for
25650         --create-testdir and --create-megatestdir.
25651
25652 2010-03-13  Bruno Haible  <bruno@clisp.org>
25653
25654         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25655         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25656         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25657         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25658         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25659         when appropriate.
25660         Reported by Jim Meyering.
25661
25662 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25663
25664         * gnulib-tool (func_import): Explain origin of code.
25665
25666 2010-03-12  Bruno Haible  <bruno@clisp.org>
25667
25668         Fix problem with automake's definition of CXXLINK.
25669         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25670         Reported by Simon Josefsson and Ludovic Courtès.
25671
25672 2010-03-12  Bruno Haible  <bruno@clisp.org>
25673
25674         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25675         stable releases.
25676
25677 2010-03-11  Bruno Haible  <bruno@clisp.org>
25678
25679         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25680         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25681         whether the system provides one variant or multiple variants of the
25682         function.
25683         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25684         C++ compilers.
25685         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25686         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25687         Reported by Jim Meyering.
25688
25689 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25690
25691         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25692
25693 2010-03-08  Bruno Haible  <bruno@clisp.org>
25694
25695         gnulib-tool: Add support for --libtool in --create-testdir.
25696         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25697         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25698
25699 2010-03-08  Eric Blake  <eblake@redhat.com>
25700
25701         gnulib-tool.texi: mention possibility of git submodule
25702         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25703         submodules.
25704         * doc/.gitignore: Ignore another generated file.
25705
25706 2010-03-08  Karl Berry  <karl@gnu.org>
25707
25708         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25709         of committing gnulib files while skipping others.
25710
25711 2010-03-07  Bruno Haible  <bruno@clisp.org>
25712
25713         Tests of module 'wctype' in C++ mode.
25714         * tests/test-wctype-c++.cc: New file.
25715         * modules/wctype-tests (Files): Add it and tests/signature.h.
25716         (Depends-on): Add ansi-c++-opt.
25717         (Makefile.am): Arrange to compile and run test-wctype-c++.
25718
25719         Tests of module 'wchar' in C++ mode.
25720         * tests/test-wchar-c++.cc: New file.
25721         * modules/wchar-tests (Files): Add it and tests/signature.h.
25722         (Depends-on): Add ansi-c++-opt.
25723         (Makefile.am): Arrange to compile and run test-wchar-c++.
25724         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25725         gl_MODULE_INDICATOR.
25726
25727         Tests of module 'unistd' in C++ mode.
25728         * tests/test-unistd-c++.cc: New file.
25729         * modules/unistd-tests (Files): Add it and tests/signature.h.
25730         (Depends-on): Add ansi-c++-opt.
25731         (Makefile.am): Arrange to compile and run test-unistd-c++.
25732         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25733         gl_MODULE_INDICATOR.
25734
25735         Tests of module 'time' in C++ mode.
25736         * tests/test-time-c++.cc: New file.
25737         * modules/time-tests (Files): Add it and tests/signature.h.
25738         (Depends-on): Add ansi-c++-opt.
25739         (Makefile.am): Arrange to compile and run test-time-c++.
25740         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25741
25742         Tests of module 'sys_time' in C++ mode.
25743         * tests/test-sys_time-c++.cc: New file.
25744         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25745         (Depends-on): Add ansi-c++-opt.
25746         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25747         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25748         gl_MODULE_INDICATOR.
25749
25750         Tests of module 'sys_stat' in C++ mode.
25751         * tests/test-sys_stat-c++.cc: New file.
25752         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25753         (Depends-on): Add ansi-c++-opt.
25754         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25755         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25756         gl_MODULE_INDICATOR.
25757
25758         Tests of module 'sys_socket' in C++ mode.
25759         * tests/test-sys_socket-c++.cc: New file.
25760         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25761         (Depends-on): Add ansi-c++-opt.
25762         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25763         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25764         gl_MODULE_INDICATOR.
25765
25766         Tests of module 'sys_select' in C++ mode.
25767         * tests/test-sys_select-c++.cc: New file.
25768         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25769         (Depends-on): Add ansi-c++-opt.
25770         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25771         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25772         gl_MODULE_INDICATOR.
25773
25774         Tests of module 'sys_ioctl' in C++ mode.
25775         * tests/test-sys_ioctl-c++.cc: New file.
25776         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25777         (Depends-on): Add ansi-c++-opt.
25778         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25779         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25780         gl_MODULE_INDICATOR.
25781
25782         Tests of module 'string' in C++ mode.
25783         * tests/test-string-c++.cc: New file.
25784         * modules/string-tests (Files): Add it and tests/signature.h.
25785         (Depends-on): Add ansi-c++-opt.
25786         (Makefile.am): Arrange to compile and run test-string-c++.
25787         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25788         gl_MODULE_INDICATOR.
25789
25790         Tests of module 'stdlib' in C++ mode.
25791         * tests/test-stdlib-c++.cc: New file.
25792         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25793         (Depends-on): Add ansi-c++-opt.
25794         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25795         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25796         gl_MODULE_INDICATOR.
25797
25798         Tests of module 'stdio' in C++ mode.
25799         * tests/test-stdio-c++.cc: New file.
25800         * modules/stdio-tests (Files): Add it and tests/signature.h.
25801         (Depends-on): Add ansi-c++-opt.
25802         (Makefile.am): Arrange to compile and run test-stdio-c++.
25803         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25804         gl_MODULE_INDICATOR.
25805
25806         Tests of module 'spawn' in C++ mode.
25807         * tests/test-spawn-c++.cc: New file.
25808         * modules/spawn-tests (Files): Add it and tests/signature.h.
25809         (Depends-on): Add ansi-c++-opt.
25810         (Makefile.am): Arrange to compile and run test-spawn-c++.
25811         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25812         gl_MODULE_INDICATOR.
25813
25814         Tests of module 'signal' in C++ mode.
25815         * tests/test-signal-c++.cc: New file.
25816         * modules/signal-tests (Files): Add it and tests/signature.h.
25817         (Depends-on): Add ansi-c++-opt.
25818         (Makefile.am): Arrange to compile and run test-signal-c++.
25819         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25820         gl_MODULE_INDICATOR.
25821
25822         Tests of module 'search' in C++ mode.
25823         * tests/test-search-c++.cc: New file.
25824         * modules/search-tests (Files): Add it and tests/signature.h.
25825         (Depends-on): Add ansi-c++-opt.
25826         (Makefile.am): Arrange to compile and run test-search-c++.
25827         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25828         gl_MODULE_INDICATOR.
25829
25830         Tests of module 'math' in C++ mode.
25831         * tests/test-math-c++.cc: New file.
25832         * modules/math-tests (Files): Add it and tests/signature.h.
25833         (Depends-on): Add ansi-c++-opt.
25834         (Makefile.am): Arrange to compile and run test-math-c++.
25835         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25836
25837         Tests of module 'locale' in C++ mode.
25838         * tests/test-locale-c++.cc: New file.
25839         * modules/locale-tests (Files): Add it and tests/signature.h.
25840         (Depends-on): Add ansi-c++-opt.
25841         (Makefile.am): Arrange to compile and run test-locale-c++.
25842         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25843         gl_MODULE_INDICATOR.
25844
25845         Tests of module 'langinfo' in C++ mode.
25846         * tests/test-langinfo-c++.cc: New file.
25847         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25848         (Depends-on): Add ansi-c++-opt.
25849         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25850         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25851         gl_MODULE_INDICATOR.
25852
25853         Tests of module 'iconv-h' in C++ mode.
25854         * tests/test-iconv-h-c++.cc: New file.
25855         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25856         (Depends-on): Add ansi-c++-opt.
25857         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25858
25859         Tests of module 'glob' in C++ mode.
25860         * tests/test-glob-c++.cc: New file.
25861         * modules/glob-tests (Files): Add it.
25862         (Depends-on): Add ansi-c++-opt.
25863         (Makefile.am): Arrange to compile and run test-glob-c++.
25864
25865         Tests of module 'fcntl-h' in C++ mode.
25866         * tests/test-fcntl-h-c++.cc: New file.
25867         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25868         (Depends-on): Add ansi-c++-opt.
25869         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25870         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25871         gl_MODULE_INDICATOR.
25872
25873         Tests of module 'dirent' in C++ mode.
25874         * tests/test-dirent-c++.cc: New file.
25875         * modules/dirent-tests (Files): Add it and tests/signature.h.
25876         (Depends-on): Add ansi-c++-opt.
25877         (Makefile.am): Arrange to compile and run test-dirent-c++.
25878         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25879         gl_MODULE_INDICATOR.
25880
25881         New module 'ansi-c++-opt'.
25882         * modules/ansi-c++-opt: New file.
25883         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25884
25885         Document C++ namespace mode.
25886         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25887
25888         wctype: Avoid #define replacements in C++ mode.
25889         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25890         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25891         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25892         In C++, define a namespaced alias symbol.
25893         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25894         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25895         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25896         rule.
25897
25898         wchar: Avoid #define replacements in C++ mode.
25899         * lib/wchar.in.h: Include c++defs.h.
25900         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25901         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25902         symbol.
25903         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25904         * modules/wchar (Depends-on): Add c++defs.
25905         (Makefile.am): Update wchar.h rule.
25906
25907         unistd: Avoid #define replacements in C++ mode.
25908         * lib/unistd.in.h: Include c++defs.h.
25909         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25910         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25911         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25912         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25913         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25914         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25915         symbol.
25916         (environ): Update.
25917         * modules/unistd (Depends-on): Add c++defs.
25918         (Makefile.am): Update unistd.h rule.
25919
25920         time: Avoid #define replacements in C++ mode.
25921         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25922         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25923         define a namespaced alias symbol.
25924         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25925         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25926         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
25927         * modules/time (Depends-on): Add c++defs, warn-on-use.
25928         (Makefile.am): Update time.h rule.
25929         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25930         * modules/nanosleep (configure.ac): Likewise.
25931         * modules/strptime (configure.ac): Likewise.
25932         * modules/timegm (configure.ac): Likewise.
25933
25934         sys_time: Avoid #define replacements in C++ mode.
25935         * lib/sys_time.in.h: Include c++defs.h.
25936         (gettimeofday): In C++, define a namespaced alias symbol.
25937         * modules/sys_time (Depends-on): Add c++defs.
25938         (Makefile.am): Update sys/time.h rule.
25939
25940         sys_stat: Avoid #define replacements in C++ mode.
25941         * lib/sys_stat.in.h: Include c++defs.h.
25942         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
25943         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
25944         namespaced alias symbol.
25945         In C++, define a namespaced alias symbol.
25946         * modules/sys_stat (Depends-on): Add c++defs.
25947         (Makefile.am): Update sys/stat.h rule.
25948
25949         sys_socket: Avoid #define replacements in C++ mode.
25950         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
25951         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
25952         definitions also when the system has a <sys/socket.h>.
25953         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25954         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
25955         In C++, define a namespaced alias symbol.
25956         * modules/sys_socket (Depends-on): Add c++defs.
25957         (Makefile.am): Update sys/socket.h rule.
25958
25959         sys_select: Avoid #define replacements in C++ mode.
25960         * lib/sys_select.in.h: Include c++defs.h. Enable the function
25961         definitions also when the system has a <sys/select.h>.
25962         (select): In C++, define a namespaced alias symbol.
25963         * modules/sys_select (Depends-on): Add c++defs.
25964         (Makefile.am): Update sys/select.h rule.
25965
25966         sys_ioctl: Avoid #define replacements in C++ mode.
25967         * lib/sys_ioctl.in.h: Include c++defs.h.
25968         (ioctl): In C++, define a namespaced alias symbol.
25969         * modules/sys_ioctl (Depends-on): Add c++defs.
25970         (Makefile.am): Update sys/ioctl.h rule.
25971
25972         string: Avoid #define replacements in C++ mode.
25973         * lib/string.in.h: Include c++defs.h.
25974         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
25975         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25976         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25977         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
25978         strsignal, strverscmp): In C++, define a namespaced alias symbol.
25979         * modules/string (Depends-on): Add c++defs.
25980         (Makefile.am): Update string.h rule.
25981
25982         stdlib: Avoid #define replacements in C++ mode.
25983         * lib/stdlib.in.h: Include c++defs.h.
25984         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
25985         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
25986         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
25987         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
25988         symbol.
25989         * modules/stdlib (Depends-on): Add c++defs.
25990         (Makefile.am): Update stdlib.h rule.
25991
25992         stdio: Avoid #define replacements in C++ mode.
25993         * lib/stdio.in.h: Include c++defs.h.
25994         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
25995         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
25996         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
25997         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
25998         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
25999         namespaced alias symbol.
26000         * modules/stdio (Depends-on): Add c++defs.
26001         (Makefile.am): Update stdio.h rule.
26002
26003         spawn: Avoid #define replacements in C++ mode.
26004         * lib/spawn.in.h: Include c++defs.h.
26005         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26006         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26007         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26008         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26009         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26010         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26011         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26012         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26013         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26014         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26015         In C++, define a namespaced alias symbol.
26016         * modules/spawn (Depends-on): Add c++defs.
26017         (Makefile.am): Update spawn.h rule.
26018
26019         signal: Avoid #define replacements in C++ mode.
26020         * lib/signal.in.h: Include c++defs.h.
26021         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26022         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26023         namespaced alias symbol.
26024         * modules/signal (Depends-on): Add c++defs.
26025         (Makefile.am): Update signal.h rule.
26026
26027         search: Avoid #define replacements in C++ mode.
26028         * lib/search.in.h: Include c++defs.h.
26029         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26030         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26031         symbol.
26032         * modules/search (Depends-on): Add c++defs.
26033         (Makefile.am): Update search.h rule.
26034
26035         math: Avoid #define replacements in C++ mode.
26036         * lib/math.in.h: Include c++defs.h.
26037         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26038         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26039         trunc, truncl): In C++, define a namespaced alias symbol.
26040         * modules/math (Depends-on): Add c++defs.
26041         (Makefile.am): Update math.h rule.
26042
26043         locale: Avoid #define replacements in C++ mode.
26044         * lib/locale.in.h: Include c++defs.h.
26045         (duplocale): In C++, define a namespaced alias symbol.
26046         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26047         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26048         * modules/locale (Depends-on): Add c++defs.
26049         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26050
26051         langinfo: Avoid #define replacements in C++ mode.
26052         * lib/langinfo.in.h: Include c++defs.h.
26053         (nl_langinfo): In C++, define a namespaced alias symbol.
26054         * modules/langinfo (Depends-on): Add c++defs.
26055         (Makefile.am): Update langinfo.h rule.
26056
26057         iconv-h: Avoid #define replacements in C++ mode.
26058         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26059         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26060         symbol.
26061         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26062         whenever iconv is present.
26063         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26064         (Makefile.am): Update iconv.h rule.
26065
26066         glob: Avoid #define replacements in C++ mode.
26067         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26068         (_gl_glob_errfunc_fn): New type.
26069         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26070         symbol.
26071         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26072         (Makefile.am): Update glob.h rule.
26073
26074         fcntl-h: Avoid #define replacements in C++ mode.
26075         * lib/fcntl.in.h: Include c++defs.h.
26076         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26077         * modules/fcntl-h (Depends-on): Add c++defs.
26078         (Makefile.am): Update fcntl.h rule.
26079
26080         dirent: Avoid #define replacements in C++ mode.
26081         * lib/dirent.in.h: Include c++defs.h.
26082         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26083         namespaced alias symbol.
26084         (dirfd): Update declaration.
26085         * modules/dirent (Depends-on): Add c++defs.
26086         (Makefile.am): Update dirent.h rule.
26087
26088         ctype: Make it usable in C++ code.
26089         * lib/ctype.in.h: Include c++defs.h.
26090         (isblank): Declare as extern "C".
26091         * modules/ctype (Depends-on): Add c++defs.
26092         (Makefile.am): Update ctype.h rule.
26093
26094         New module 'c++defs'.
26095         * modules/c++defs: New file.
26096         * build-aux/c++defs.h: New file.
26097         Reported by John W. Eaton <jwe@gnu.org>.
26098
26099 2010-03-07  Bruno Haible  <bruno@clisp.org>
26100
26101         logb: Provide missing declaration for Cygwin.
26102         * lib/math.in.h (logb): New declaration.
26103         * m4/logb.m4: New file.
26104         * modules/logb (Files): Add m4/logb.m4.
26105         (Depends-on): Add math.
26106         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26107         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26109         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26110         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26111
26112 2010-03-07  Bruno Haible  <bruno@clisp.org>
26113
26114         Fix test-cond link error.
26115         * tests/test-cond.c: Include <stdio.h>.
26116
26117 2010-03-07  Bruno Haible  <bruno@clisp.org>
26118
26119         Fix test-dirent-safer link error.
26120         * modules/dirent-safer-tests (Makefile.am): Define
26121         test_dirent_safer_LDADD.
26122
26123 2010-03-07  Bruno Haible  <bruno@clisp.org>
26124
26125         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26126         among default module list.
26127
26128 2010-03-07  Bruno Haible  <bruno@clisp.org>
26129
26130         Fix link error on platforms with GNU libiconv.
26131         * modules/unistr/u8-strcoll-tests (Makefile): Define
26132         test_u8_strcoll_LDADD.
26133         * modules/unistr/u16-strcoll-tests (Makefile): Define
26134         test_u16_strcoll_LDADD.
26135         * modules/unistr/u32-strcoll-tests (Makefile): Define
26136         test_u32_strcoll_LDADD.
26137
26138 2010-03-07  Bruno Haible  <bruno@clisp.org>
26139
26140         Use POSIX declarations for socket functions.
26141         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26142         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26143         rpl_sendto): Change declaration to match POSIX.
26144         * lib/connect.c (rpl_connect): Likewise.
26145         * lib/accept.c (rpl_accept): Likewise.
26146         * lib/bind.c (rpl_bind): Likewise.
26147         * lib/getpeername.c (rpl_getpeername): Likewise.
26148         * lib/getsockname.c (rpl_getsockname): Likewise.
26149         * lib/recv.c (rpl_recv): Likewise.
26150         * lib/send.c (rpl_send): Likewise.
26151         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26152         * lib/sendto.c (rpl_sendto): Likewise.
26153
26154 2010-03-06  Bruno Haible  <bruno@clisp.org>
26155
26156         Clarify access, euidaccess, faccessat.
26157         * doc/posix-functions/faccessat.texi: Mention security problem under
26158         "Other problems", not "Portability problems".
26159         * doc/posix-functions/access.texi: Likewise. Mention a related security
26160         problem.
26161         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26162         * lib/euidaccess.c: Add comments about platforms.
26163         * lib/unistd.in.h (access, euidaccess): Add warnings.
26164
26165 2010-03-07  Bruno Haible  <bruno@clisp.org>
26166
26167         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26168         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26169         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26170         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26171         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26172         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26173         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26174         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26175         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26176         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26177         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26178         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26179         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26180         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26181         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26182         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26183         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26184         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26185         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26186         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26187         Likewise.
26188         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26189         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26190         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26191         Likewise.
26192         * tests/test-spawn.c (main): Make it work when
26193         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26194
26195 2010-03-07  Bruno Haible  <bruno@clisp.org>
26196
26197         Fix incorrect Makefile.am generation in German locale.
26198         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26199         Execute sed command with character range in C locale.
26200
26201 2010-03-06  Bruno Haible  <bruno@clisp.org>
26202
26203         Tests for module 'iconv-h'.
26204         * modules/iconv-h-tests: New file.
26205         * tests/test-iconv-h.c: New file.
26206
26207         New module 'iconv-h'.
26208         * modules/iconv-h: New file.
26209         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26210         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26211         (configure.ac): Remove gl_ICONV_H.
26212         (Makefile.am): Remove rule for iconv.h.
26213
26214 2010-03-06  Bruno Haible  <bruno@clisp.org>
26215
26216         More consistent naming of *.m4 files.
26217         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26218         * modules/wctype (Files): Update.
26219
26220         More consistent naming of *.m4 files.
26221         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26222         * modules/wchar (Files): Update.
26223
26224 2010-03-06  Jim Meyering  <meyering@redhat.com>
26225
26226         euidaccess: relax license to LGPLv2+
26227         * modules/euidaccess (License): Relax to LGPLv2+.
26228
26229 2010-03-06  Bruno Haible  <bruno@clisp.org>
26230
26231         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26232         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26233         (Makefile.am): Augment lib_SOURCES instead.
26234
26235 2010-03-04  Jim Meyering  <meyering@redhat.com>
26236
26237         utime: remove obsolete module
26238         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26239         unnecessary for years, and has been marked as obsolete for 10 months.
26240         * modules/utime: Remove file.
26241         * lib/utime.c: Remove file.
26242         * m4/utime.m4: Remove file.
26243         * m4/utimes-null.m4: Remove file.
26244         * doc/posix-functions/utime.texi (utime): Remove reference to
26245         the module.  Move the sole "fixed by gnulib" item into the
26246         "problems not fixed by Gnulib" list.
26247         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26248
26249 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26250
26251         * modules/exit (License): Relax license to LGPLv2+.
26252         (Status): Mark as obsolete.
26253         * NEWS: Mention deprecated 'exit' module.
26254         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26255         of now obsolete 'exit'.
26256
26257 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26258
26259         fts-lgpl: remove unused module
26260         * modules/fts-lgpl: Remove.
26261         * MODULES.html.sh (func_all_modules): Adjust.
26262         * check-module (find_included_lib_files): Adjust.
26263         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26264
26265 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26266
26267         copy-acl: enhance Solaris ACL error handling
26268         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26269         * lib/set-mode-acl.c (qset_acl): Likewise.
26270
26271 2010-03-02  Bruno Haible  <bruno@clisp.org>
26272
26273         spawn: Don't override the system defined values on FreeBSD 8.
26274         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26275         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26276         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26277         if HAVE_POSIX_SPAWN is 1.
26278         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26279
26280 2010-03-01  Bruno Haible  <bruno@clisp.org>
26281
26282         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26283         regarding Automake.
26284
26285 2010-02-25  Bruno Haible  <bruno@clisp.org>
26286
26287         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26288         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26289         setting, not afterwards.
26290         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26291
26292 2010-02-24  Eric Blake  <eblake@redhat.com>
26293
26294         bootstrap, git-version-gen: use timestamp
26295         * build-aux/git-version-gen (scriptversion): Force UTC.
26296         * build-aux/bootstrap (scriptversion): New variable.
26297
26298         bootstrap: allow older git
26299         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26300         older than 1.6.4.  Requested by the libvirt project.
26301
26302 2010-02-23  Eric Blake  <eblake@redhat.com>
26303
26304         warn-on-use: work with old autoconf
26305         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26306         AS_VAR semantics of autoconf 2.60.
26307         Reported by Bruno Haible.
26308
26309         bootstrap: improve some comments
26310         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26311         clarification comments.
26312
26313         gettimeofday: provide correct function
26314         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26315         when replacement is declared, otherwise provide gettimeofday.
26316         Reported by Michael Goffioul.
26317
26318 2010-02-23  Jim Meyering  <meyering@redhat.com>
26319
26320         lib-ignore: relax license to "unlimited", not LGPLv2+
26321         * modules/lib-ignore (License): Relax to "unlimited".
26322
26323 2010-02-23  Jim Meyering  <meyering@redhat.com>
26324
26325         lib-ignore: relax license to LGPLv2+
26326         * modules/lib-ignore (License): Relax to LGPLv2+.
26327
26328 2010-02-22  Eric Blake  <eblake@redhat.com>
26329
26330         lseek: avoid bash 3.2 broken pipe bug
26331         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26332         warning from bash 3.2.
26333         Reported by Ben Pfaff, with analysis from Bruno Haible.
26334
26335         bootstrap: support non-FSF copyright holder
26336         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26337         bootstrap.conf override of COPYRIGHT_HOLDER.
26338         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26339
26340         bootstrap: interoperate with gettext 0.14.1
26341         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26342
26343         bootstrap: allow for alternate submodule location
26344         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26345         hardcoding submodule location.
26346         (gnulib_mk): Allow direct use of Makefile.am.
26347
26348         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26349         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26350         rather than reconfiguring where the submodule points.
26351
26352         gettimeofday: restore support for platforms that lack function
26353         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26354         replacement if function is missing.
26355         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26356         * modules/sys_time (Makefile.am): Substitute it.
26357         * lib/sys_time.in.h (gettimeofday): Check it.
26358         Reported by Michael Goffioul.
26359
26360 2010-02-21  Bruno Haible  <bruno@clisp.org>
26361
26362         * lib/stdio.in.h (obstack_printf): Fix typo.
26363
26364 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26365
26366         vc-list-files: use bzr ls's -R option
26367         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26368         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26369
26370 2010-02-21  Jim Meyering  <meyering@redhat.com>
26371
26372         init.sh: fix EXEEXT shims to work also for names like test-prog
26373         * tests/init.sh: Re-exec a better shell, when needed.
26374         If the current shell lacks support for posix $(...), an init.sh-using
26375         test will now try to find a shell that supports that.  If EXEEXT is
26376         nonempty, we also require support for hyphen-in-alias-name and shell
26377         substitutions like ${var#glob}.  Failure to find such a shell results
26378         in a skipped test.
26379
26380 2010-02-21  Bruno Haible  <bruno@clisp.org>
26381
26382         Really work around around "broken pipe" error message from bash 3.2.
26383         * gnulib-tool (func_reset_sigpipe): Remove function.
26384         (echo): In bash 3.2, define to a function that uses printf.
26385         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26386
26387 2010-02-20  Bruno Haible  <bruno@clisp.org>
26388
26389         Restore support for automake 1.9.6 with autoconf 2.61.
26390         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26391         Reported by James Youngman <jay@gnu.org>.
26392
26393 2010-02-20  Bruno Haible  <bruno@clisp.org>
26394
26395         Improve *printf warning condition.
26396         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26397         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26398         and the function is overridden due to SIGPIPE emulation.
26399
26400 2010-02-20  Bruno Haible  <bruno@clisp.org>
26401
26402         * lib/stdio.in.h: Tweak comments.
26403
26404 2010-02-19  Bruno Haible  <bruno@clisp.org>
26405
26406         Make it easier to find modules. New gnulib-tool option '--find'.
26407         * gnulib-tool: New option --find.
26408         (func_usage): Document it.
26409         (func_sanitize_modulelist): New function, extracted from
26410         func_all_modules.
26411         (func_all_modules): Invoke it.
26412         * doc/gnulib-tool.texi (Which modules?): New node.
26413
26414 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26415
26416         * lib/sys_select.in.h: Provide select replacement even if
26417         sys/select.h exists on a system, for Interix.
26418
26419 2010-02-18  Jim Meyering  <meyering@redhat.com>
26420
26421         init.sh: don't use $(...) just yet
26422         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26423         to accommodate e.g., Solaris' /bin/sh.
26424
26425 2010-02-17  Bruno Haible  <bruno@clisp.org>
26426
26427         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26428         Reported by Ludovic Courtès <ludo@gnu.org>.
26429
26430 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26431
26432         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26433         linking with -lintl.
26434
26435 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26436
26437         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26438         if not provided by the system's netdb.h.  Reported by
26439         ludo@gnu.org (Ludovic Courtès).
26440
26441 2010-02-15  Jim Meyering  <meyering@redhat.com>
26442
26443         init.sh: improve portability and efficiency
26444         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26445         "dummy" in a for loop.
26446         Use '!', not '^' to select the complement of a character set used
26447         in a "case" statement.
26448         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26449         Suggestions from Eric Blake.
26450
26451         init.sh: automatically accommodate programs with the .exe suffix
26452         Automatically arrange for an invocation of "prog" to execute the
26453         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26454         may use the simpler "prog", yet still work when built on a system
26455         that requires specifying the added suffix.
26456         Do this by constructing a function named "prog" that invokes
26457         "prog.exe" for each .exe file in selected directories.
26458         * tests/init.sh (find_exe_basenames_): New function.
26459         (create_exe_shim_functions_): New function.
26460         (path_prepend_): Use it.
26461
26462         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26463         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26464         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26465
26466 2010-02-14  Jim Meyering  <meyering@redhat.com>
26467
26468         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26469         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26470         (sc_prohibit_hash_pjw_without_use): New rule.
26471
26472         maint.mk: allow the default upload destination dir to be overridden
26473         * top/maint.mk (upload_dest_dir_): Define with a default that
26474         preserves the status quo.
26475         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26476         Reported by Peter Simons.
26477
26478         maint.mk: prohibit inclusion of "hash.h" without_use
26479         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26480
26481 2010-02-10  Jim Meyering  <meyering@redhat.com>
26482
26483         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26484         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26485
26486 2010-02-09  Eric Blake  <ebb9@byu.net>
26487         and Bruno Haible  <bruno@clisp.org>
26488
26489         obstack-printf-posix: ensure declaration
26490         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26491         extracted from gl_FUNC_OBSTACK_PRINTF.
26492         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26493         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26494         Likewise.
26495         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26496         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26497         0.
26498
26499 2010-02-08  Bruno Haible  <bruno@clisp.org>
26500
26501         gnulib-tool: Fix typo in 2010-02-07 commit.
26502         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26503         Reported by Eric Blake.
26504
26505 2010-02-07  Bruno Haible  <bruno@clisp.org>
26506
26507         gnulib-tool: Fix up caching patches.
26508         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26509         option --no-cache. Use associative arrays when supported by the shell.
26510         (sed_comments): New variable.
26511         (modcache): Renamed from do_cache.
26512         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26513         abbreviate unnecessarily.
26514         (have_associative): New variable.
26515         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26516         way also for ksh and zsh.
26517         (func_init_sed_convert_to_cache_statements): New function, extracted
26518         from func_cache_lookup_module. Add support for associative arrays.
26519         Don't set the c_MODULE_cached variable here. Ignore all lines before
26520         the first field header. Remove only the final newline, not all trailing
26521         newlines. Support empty fields correctly. Limit the use of 'eval' to
26522         assignments.
26523         (func_get_description, func_get_status, func_get_notice,
26524         func_get_applicability, func_get_filelist, func_get_dependencies,
26525         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26526         func_get_automake_snippet, func_get_include_directive,
26527         func_get_link_directive, func_get_license, func_get_maintainer):
26528         Update documentation. List the unoptimized code first. Add support for
26529         associative arrays. Limit the use of 'eval' to assignments.
26530         (func_get_applicability): Undo stylistic pessimisations.
26531         (func_get_automake_snippet, func_get_include_directive): Reduce code
26532         duplication.
26533         (func_modules_transitive_closure, func_modules_add_dummy,
26534         func_modules_notice, func_modules_to_filelist, func_add_file,
26535         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26536         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26537         func_create_testdir, func_create_megatestdir): Update documentation.
26538
26539 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26540
26541         * gnulib-tool (func_cache_lookup_module): Store the module name
26542         belonging to the cache variable; error out if two different
26543         module names map to the same cache variable name.
26544
26545 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26546
26547         gnulib-tool: Make caching optional.
26548         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26549         Update matching short versions of --no-changelog.
26550         (func_usage): Update.
26551         (sed_extract_cache_prog): Renamed from ...
26552         (sed_extract_prog): ... this; revert to old extraction script.
26553         (func_get_description, func_get_status)
26554         (func_get_notice, func_get_applicability, func_get_filelist)
26555         (func_get_dependencies, func_get_autoconf_early_snippet)
26556         (func_get_autoconf_snippet, func_get_automake_snippet)
26557         (func_get_include_directive, func_get_link_directive)
26558         (func_get_license, func_get_maintainer): If $do_cache is false,
26559         use old, non-caching extraction scripts.
26560         Suggestion by Bruno Haible.
26561
26562 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26563
26564         gnulib-tool: cache module metainformation.
26565         * gnulib-tool (sed_extract_prog): Match newline before each
26566         header, and rewrite header to a shell variable suffix.
26567         (func_cache_var, func_cache_lookup_module): New functions,
26568         to turn a module name into a cache variable prefix, and to
26569         look up and cache module metainformation.
26570         (func_get_description, func_get_status)
26571         (func_get_notice, func_get_applicability, func_get_filelist)
26572         (func_get_dependencies, func_get_autoconf_early_snippet)
26573         (func_get_autoconf_snippet, func_get_automake_snippet)
26574         (func_get_include_directive, func_get_link_directive)
26575         (func_get_license, func_get_maintainer): Use
26576         func_cache_lookup_module.
26577
26578 2010-02-07  Bruno Haible  <bruno@clisp.org>
26579
26580         fnctl: Fix missing dependency.
26581         * modules/fcntl (Depends-on): Add getdtablesize.
26582         Reported by John W. Eaton <jwe@gnu.org>.
26583
26584 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26585
26586         Argp: fix recognition of short alias options.
26587
26588         * lib/argp-parse.c (convert_options): Fix improper use of
26589         `|' between character values.
26590         * tests/test-argp.c (group1_option): New alias option
26591         --read (-r).
26592         (group1_parser): Special handling for 'r'.
26593         (test15): New test case.
26594         (test_fun): Add test15.
26595         * tests/test-argp-2.sh: Update expected --help and --usage
26596         outputs.
26597
26598 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26599
26600         * tests/test-argp.c: Fix indentation.
26601
26602 2010-02-04  Eric Blake  <ebb9@byu.net>
26603
26604         gettimeofday: expose type of second argument
26605         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26606         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26607         * tests/test-gettimeofday.c: Use it to silence warning.
26608         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26609         the issue.
26610
26611 2010-02-03  Jim Meyering  <meyering@redhat.com>
26612
26613         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26614         * lib/regcomp.c (TYPE_SIGNED): Define.
26615         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26616
26617         regcomp.c: avoid a new -Wshadow warning
26618         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26619
26620 2010-02-01  Jim Meyering  <meyering@redhat.com>
26621
26622         removing useless parentheses in cpp #define directives
26623         For motivation, see commit c0221df4, "define STREQ(a,b)
26624         consistently, removing useless parentheses"
26625         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26626         * lib/mountlist.c (MNT_IGNORE): Likewise.
26627         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26628
26629 2010-02-01  Eric Blake  <ebb9@byu.net>
26630
26631         sys_time: use link-warning
26632         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26633         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26634         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26635         * modules/sys_time (Depends-on): Add warn-on-use.
26636         (Makefile.am): Always build replacement.
26637         (configure.ac): Update substitutions.
26638         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26639         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26640         bother with SYS_TIME_H.
26641         * modules/gettimeofday (configure.ac): Declare indicator.
26642         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26643         in use.
26644
26645         closein-tests: silence compiler warning
26646         * tests/test-closein.c (main): Ignore fread result.
26647         * modules/closein-tests (Depends-on): Add ignore-value.
26648
26649         tests: silence warning about system return
26650         * tests/test-areadlink-with-size.c (main): Ignore system result.
26651         * tests/test-areadlink.c (main): Likewise.
26652         * tests/test-areadlinkat-with-size.c (main): Likewise.
26653         * tests/test-areadlinkat.c (main): Likewise.
26654         * tests/test-canonicalize-lgpl.c (main): Likewise.
26655         * tests/test-canonicalize.c (main): Likewise.
26656         * tests/test-chown.c (main): Likewise.
26657         * tests/test-fchownat.c (main): Likewise.
26658         * tests/test-fdutimensat.c (main): Likewise.
26659         * tests/test-fstatat.c (main): Likewise.
26660         * tests/test-futimens.c (main): Likewise.
26661         * tests/test-lchown.c (main): Likewise.
26662         * tests/test-link.c (main): Likewise.
26663         * tests/test-linkat.c (main): Likewise.
26664         * tests/test-lstat.c (main): Likewise.
26665         * tests/test-mkdir.c (main): Likewise.
26666         * tests/test-mkdirat.c (main): Likewise.
26667         * tests/test-mkfifo.c (main): Likewise.
26668         * tests/test-mkfifoat.c (main): Likewise.
26669         * tests/test-mknod.c (main): Likewise.
26670         * tests/test-readlink.c (main): Likewise.
26671         * tests/test-remove.c (main): Likewise.
26672         * tests/test-rename.c (main): Likewise.
26673         * tests/test-renameat.c (main): Likewise.
26674         * tests/test-rmdir.c (main): Likewise.
26675         * tests/test-symlink.c (main): Likewise.
26676         * tests/test-symlinkat.c (main): Likewise.
26677         * tests/test-unlink.c (main): Likewise.
26678         * tests/test-unlinkat.c (main): Likewise.
26679         * tests/test-utimens.c (main): Likewise.
26680         * tests/test-utimensat.c (main): Likewise.
26681         * modules/areadlink-tests (Depends-on): Add ignore-value.
26682         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26683         * modules/areadlinkat-tests (Depends-on): Likewise.
26684         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26685         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26686         * modules/canonicalize-tests (Depends-on): Likewise.
26687         * modules/chown-tests (Depends-on): Likewise.
26688         * modules/fdutimensat-tests (Depends-on): Likewise.
26689         * modules/futimens-tests (Depends-on): Likewise.
26690         * modules/lchown-tests (Depends-on): Likewise.
26691         * modules/link-tests (Depends-on): Likewise.
26692         * modules/linkat-tests (Depends-on): Likewise.
26693         * modules/lstat-tests (Depends-on): Likewise.
26694         * modules/mkdir-tests (Depends-on): Likewise.
26695         * modules/mkfifo-tests (Depends-on): Likewise.
26696         * modules/mkfifoat-tests (Depends-on): Likewise.
26697         * modules/mknod-tests (Depends-on): Likewise.
26698         * modules/openat-tests (Depends-on): Likewise.
26699         * modules/readlink-tests (Depends-on): Likewise.
26700         * modules/remove-tests (Depends-on): Likewise.
26701         * modules/rename-tests (Depends-on): Likewise.
26702         * modules/renameat-tests (Depends-on): Likewise.
26703         * modules/rmdir-tests (Depends-on): Likewise.
26704         * modules/symlink-tests (Depends-on): Likewise.
26705         * modules/symlinkat-tests (Depends-on): Likewise.
26706         * modules/unlink-tests (Depends-on): Likewise.
26707         * modules/utimens-tests (Depends-on): Likewise.
26708         * modules/utimensat-tests (Depends-on): Likewise.
26709
26710 2010-01-31  Bruno Haible  <bruno@clisp.org>
26711
26712         Perform the same test for many <math.h> functions.
26713         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26714         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26715         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26716         of gl_MATHFUNC.
26717         * modules/acos (configure.ac): Likewise.
26718         * modules/asin (configure.ac): Likewise.
26719         * modules/atan (configure.ac): Likewise.
26720         * modules/atan2 (configure.ac): Likewise.
26721         * modules/cbrt (configure.ac): Likewise.
26722         * modules/copysign (configure.ac): Likewise.
26723         * modules/cos (configure.ac): Likewise.
26724         * modules/cosh (configure.ac): Likewise.
26725         * modules/erf (configure.ac): Likewise.
26726         * modules/erfc (configure.ac): Likewise.
26727         * modules/exp (configure.ac): Likewise.
26728         * modules/fmod (configure.ac): Likewise.
26729         * modules/hypot (configure.ac): Likewise.
26730         * modules/j0 (configure.ac): Likewise.
26731         * modules/j1 (configure.ac): Likewise.
26732         * modules/jn (configure.ac): Likewise.
26733         * modules/lgamma (configure.ac): Likewise.
26734         * modules/log (configure.ac): Likewise.
26735         * modules/log10 (configure.ac): Likewise.
26736         * modules/log1p (configure.ac): Likewise.
26737         * modules/pow (configure.ac): Likewise.
26738         * modules/remainder (configure.ac): Likewise.
26739         * modules/sin (configure.ac): Likewise.
26740         * modules/sinh (configure.ac): Likewise.
26741         * modules/tan (configure.ac): Likewise.
26742         * modules/tanh (configure.ac): Likewise.
26743         * modules/y0 (configure.ac): Likewise.
26744         * modules/y1 (configure.ac): Likewise.
26745         * modules/yn (configure.ac): Likewise.
26746         Suggested by Paolo Bonzini.
26747
26748 2010-01-31  Bruno Haible  <bruno@clisp.org>
26749
26750         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26751
26752 2010-01-31  Bruno Haible  <bruno@clisp.org>
26753
26754         Work around getdelim() bug on FreeBSD 8.0.
26755         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26756         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26757         not work.
26758         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26759         is 1.
26760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26761         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26762         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26763         a non-zero size.
26764         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26765
26766 2010-01-31  Bruno Haible  <bruno@clisp.org>
26767
26768         Work around getline() bug on FreeBSD 8.0.
26769         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26770         and a non-zero size.
26771         * tests/test-getline.c (main): Likewise.
26772         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26773         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26774
26775 2010-01-28  Eric Blake  <ebb9@byu.net>
26776
26777         regex: fix build failure
26778         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26779         platforms.
26780
26781 2010-01-28  Jim Meyering  <meyering@redhat.com>
26782
26783         regex: do not ignore memory allocation failure
26784         * lib/regex_internal.c (create_cd_newstate): Detect
26785         re_node_set_init_copy failure.   Extracted from glibc commit
26786         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26787
26788         regex: sync more white-space changes from libc
26789         * lib/regex_internal.c: White-space only changes.
26790         * lib/regexec.c: Likewise.
26791
26792         regex: add many uses of __attribute_warn_unused_result__
26793         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26794         * lib/regexec.c: Likewise.
26795         Extracted from a messy glibc commit.
26796
26797         regcomp.c: spelling and merge-artifact from glibc
26798         * lib/regcomp.c: Merge remainder of glibc's
26799         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26800
26801         regcomp.c: sync white-space changes from glibc
26802         * lib/regcomp.c: Merge to accommodate white space
26803         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26804
26805         regcomp.c: do not ignore internal return values
26806         * lib/regcomp.c: Do not ignore internal return values.
26807         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26808         but without its white-space changes and spelling fixes.
26809
26810         regex_internal.h: define __attribute_warn_unused_result__
26811         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26812
26813         maint: add a syntax-check rule to check for vulnerable Makefile.in
26814         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26815
26816 2010-01-27  Jim Meyering  <meyering@redhat.com>
26817
26818         ncftpput-ftp: clean up spaces
26819         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26820         Remove trailing blanks.
26821
26822 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26823
26824         * build-aux/git-version-gen: Fix copyright statement.
26825         * build-aux/gnupload: Likewise.
26826         * tests/test-arcfour.c: Likewise.
26827         * tests/test-arctwo.c: Likewise.
26828         * tests/test-count-one-bits.c: Likewise.
26829         * tests/test-crc.c: Likewise.
26830         * tests/test-des.c: Likewise.
26831         * tests/test-gc-arcfour.c: Likewise.
26832         * tests/test-gc-arctwo.c: Likewise.
26833         * tests/test-gc-des.c: Likewise.
26834         * tests/test-gc-hmac-md5.c: Likewise.
26835         * tests/test-gc-hmac-sha1.c: Likewise.
26836         * tests/test-gc-md2.c: Likewise.
26837         * tests/test-gc-md4.c: Likewise.
26838         * tests/test-gc-md5.c: Likewise.
26839         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26840         * tests/test-gc-rijndael.c: Likewise.
26841         * tests/test-gc-sha1.c: Likewise.
26842         * tests/test-gc.c: Likewise.
26843         * tests/test-gethostname.c: Likewise.
26844         * tests/test-gettimeofday.c: Likewise.
26845         * tests/test-hash.c: Likewise.
26846         * tests/test-hmac-md5.c: Likewise.
26847         * tests/test-hmac-sha1.c: Likewise.
26848         * tests/test-md2.c: Likewise.
26849         * tests/test-md4.c: Likewise.
26850         * tests/test-md5.c: Likewise.
26851         * tests/test-memchr.c: Likewise.
26852         * tests/test-memchr2.c: Likewise.
26853         * tests/test-memcmp.c: Likewise.
26854         * tests/test-memmem.c: Likewise.
26855         * tests/test-memrchr.c: Likewise.
26856         * tests/test-rawmemchr.c: Likewise.
26857         * tests/test-read-file.c: Likewise.
26858         * tests/test-rijndael.c: Likewise.
26859         * tests/test-sockets.c: Likewise.
26860         * tests/test-strchrnul.c: Likewise.
26861         * tests/test-strstr.c: Likewise.
26862         * tests/test-strtod.c: Likewise.
26863         * build-aux/ncftpput-ftp: Likewise.
26864
26865 2010-01-26  Eric Blake  <ebb9@byu.net>
26866
26867         ignore-value: update recommended header name
26868         * modules/ignore-value (Include): Only use <> for headers that
26869         exist in glibc.
26870
26871 2010-01-26  Jim Meyering  <meyering@redhat.com>
26872
26873         test-userspec.c: avoid compiler warnings
26874         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26875         and "initialization discards qualifiers..." warnings.
26876         Put the first "uid" in its own scope, and make char* members "const".
26877
26878 2010-01-25  Bruno Haible  <bruno@clisp.org>
26879
26880         gnulib-tool: Make warning diagnostics consistent.
26881         * gnulib-tool (func_warning): New function.
26882         Use it everywhere where gnulib-tool produces output to stderr and it is
26883         not a fatal error.
26884
26885 2010-01-25  Bruno Haible  <bruno@clisp.org>
26886
26887         Fix test dependencies.
26888         * modules/xstrtol-tests (Depends-on): Add inttypes.
26889         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26890
26891 2010-01-25 Pádraig Brady <P@draigBrady.com>
26892
26893         syntax-check: detect incorrect boolean macro values in config.h
26894         * modules/maintainer-makefile (configure.ac): Parameterize the location
26895         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26896         The logic is from Eric Blake and the location indicated by Jim Meyering.
26897         Note the more natural CONFIG_HEADER name is prohibited by automake
26898         for backwards compatibility reasons.
26899         * top/maint.mk (sc_Wundef_boolean): New rule.
26900
26901 2010-01-25  Jim Meyering  <meyering@redhat.com>
26902
26903         bootstrap: detect MacOS 10.6's shasum, too
26904         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26905         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26906
26907 2010-01-23  Jim Meyering  <meyering@redhat.com>
26908
26909         xstrtoll: new module
26910         * modules/xstrtoll: New file.
26911         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26912         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26913         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26914         ./configure fails if you use this module and lack "long long".
26915         * modules/xstrtoll-tests: New module.
26916         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26917         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26918         new init.sh-based test framework.
26919
26920 2010-01-24  Bruno Haible  <bruno@clisp.org>
26921
26922         Tests for module 'yn'.
26923         * modules/yn-tests: New file.
26924         * tests/test-yn.c: New file.
26925
26926         Tests for module 'y1'.
26927         * modules/y1-tests: New file.
26928         * tests/test-y1.c: New file.
26929
26930         Tests for module 'y0'.
26931         * modules/y0-tests: New file.
26932         * tests/test-y0.c: New file.
26933
26934         Tests for module 'tanh'.
26935         * modules/tanh-tests: New file.
26936         * tests/test-tanh.c: New file.
26937
26938         Tests for module 'tan'.
26939         * modules/tan-tests: New file.
26940         * tests/test-tan.c: New file.
26941
26942         Tests for module 'sqrt'.
26943         * modules/sqrt-tests: New file.
26944         * tests/test-sqrt.c: New file.
26945
26946         Tests for module 'sinh'.
26947         * modules/sinh-tests: New file.
26948         * tests/test-sinh.c: New file.
26949
26950         Tests for module 'sin'.
26951         * modules/sin-tests: New file.
26952         * tests/test-sin.c: New file.
26953
26954         Tests for module 'rint'.
26955         * modules/rint-tests: New file.
26956         * tests/test-rint.c: New file.
26957
26958         Tests for module 'remainder'.
26959         * modules/remainder-tests: New file.
26960         * tests/test-remainder.c: New file.
26961
26962         Tests for module 'pow'.
26963         * modules/pow-tests: New file.
26964         * tests/test-pow.c: New file.
26965
26966         Tests for module 'nextafter'.
26967         * modules/nextafter-tests: New file.
26968         * tests/test-nextafter.c: New file.
26969
26970         Tests for module 'modf'.
26971         * modules/modf-tests: New file.
26972         * tests/test-modf.c: New file.
26973
26974         Tests for module 'logb'.
26975         * modules/logb-tests: New file.
26976         * tests/test-logb.c: New file.
26977
26978         Tests for module 'log1p'.
26979         * modules/log1p-tests: New file.
26980         * tests/test-log1p.c: New file.
26981
26982         Tests for module 'log10'.
26983         * modules/log10-tests: New file.
26984         * tests/test-log10.c: New file.
26985
26986         Tests for module 'log'.
26987         * modules/log-tests: New file.
26988         * tests/test-log.c: New file.
26989
26990         Tests for module 'lgamma'.
26991         * modules/lgamma-tests: New file.
26992         * tests/test-lgamma.c: New file.
26993
26994         Tests for module 'ldexp'.
26995         * modules/ldexp-tests: New file.
26996         * tests/test-ldexp.c: New file.
26997
26998         Tests for module 'jn'.
26999         * modules/jn-tests: New file.
27000         * tests/test-jn.c: New file.
27001
27002         Tests for module 'j1'.
27003         * modules/j1-tests: New file.
27004         * tests/test-j1.c: New file.
27005
27006         Tests for module 'j0'.
27007         * modules/j0-tests: New file.
27008         * tests/test-j0.c: New file.
27009
27010         Tests for module 'hypot'.
27011         * modules/hypot-tests: New file.
27012         * tests/test-hypot.c: New file.
27013
27014         Tests for module 'fmod'.
27015         * modules/fmod-tests: New file.
27016         * tests/test-fmod.c: New file.
27017
27018         Tests for module 'fabs'.
27019         * modules/fabs-tests: New file.
27020         * tests/test-fabs.c: New file.
27021
27022         Tests for module 'exp'.
27023         * modules/exp-tests: New file.
27024         * tests/test-exp.c: New file.
27025
27026         Tests for module 'erfc'.
27027         * modules/erfc-tests: New file.
27028         * tests/test-erfc.c: New file.
27029
27030         Tests for module 'erf'.
27031         * modules/erf-tests: New file.
27032         * tests/test-erf.c: New file.
27033
27034         Tests for module 'cosh'.
27035         * modules/cosh-tests: New file.
27036         * tests/test-cosh.c: New file.
27037
27038         Tests for module 'cos'.
27039         * modules/cos-tests: New file.
27040         * tests/test-cos.c: New file.
27041
27042         Tests for module 'copysign'.
27043         * modules/copysign-tests: New file.
27044         * tests/test-copysign.c: New file.
27045
27046         Tests for module 'cbrt'.
27047         * modules/cbrt-tests: New file.
27048         * tests/test-cbrt.c: New file.
27049
27050         Tests for module 'atan2'.
27051         * modules/atan2-tests: New file.
27052         * tests/test-atan2.c: New file.
27053
27054         Tests for module 'atan'.
27055         * modules/atan-tests: New file.
27056         * tests/test-atan.c: New file.
27057
27058         Tests for module 'asin'.
27059         * modules/asin-tests: New file.
27060         * tests/test-asin.c: New file.
27061
27062         Tests for module 'acos'.
27063         * modules/acos-tests: New file.
27064         * tests/test-acos.c: New file.
27065
27066 2010-01-24  Bruno Haible  <bruno@clisp.org>
27067
27068         Fix tests for common <math.h> functions.
27069         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27070         code snippet that references the function pointer, rather than merely
27071         calling the function. Substitute the FUNC_LIBM variable.
27072         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27073         * modules/acos (configure.ac): Likewise.
27074         * modules/asin (configure.ac): Likewise.
27075         * modules/atan (configure.ac): Likewise.
27076         * modules/atan2 (configure.ac): Likewise.
27077         * modules/cbrt (configure.ac): Likewise.
27078         * modules/copysign (configure.ac): Likewise.
27079         * modules/cos (configure.ac): Likewise.
27080         * modules/cosh (configure.ac): Likewise.
27081         * modules/erf (configure.ac): Likewise.
27082         * modules/erfc (configure.ac): Likewise.
27083         * modules/exp (configure.ac): Likewise.
27084         * modules/fabs (configure.ac): Likewise.
27085         * modules/fmod (configure.ac): Likewise.
27086         * modules/hypot (configure.ac): Likewise.
27087         * modules/j0 (configure.ac): Likewise.
27088         * modules/j1 (configure.ac): Likewise.
27089         * modules/jn (configure.ac): Likewise.
27090         * modules/ldexp (configure.ac): Likewise.
27091         * modules/lgamma (configure.ac): Likewise.
27092         * modules/log (configure.ac): Likewise.
27093         * modules/log10 (configure.ac): Likewise.
27094         * modules/log1p (configure.ac): Likewise.
27095         * modules/logb (configure.ac): Likewise.
27096         * modules/modf (configure.ac): Likewise.
27097         * modules/nextafter (configure.ac): Likewise.
27098         * modules/pow (configure.ac): Likewise.
27099         * modules/remainder (configure.ac): Likewise.
27100         * modules/rint (configure.ac): Likewise.
27101         * modules/sin (configure.ac): Likewise.
27102         * modules/sinh (configure.ac): Likewise.
27103         * modules/tan (configure.ac): Likewise.
27104         * modules/tanh (configure.ac): Likewise.
27105         * modules/y0 (configure.ac): Likewise.
27106         * modules/y1 (configure.ac): Likewise.
27107         * modules/yn (configure.ac): Likewise.
27108
27109 2010-01-24  Bruno Haible  <bruno@clisp.org>
27110
27111         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27112         * tests/test-acosl.c (x): New variable.
27113         (main): Store argument in x and fetch it from x.
27114         * tests/test-asinl.c (x): New variable.
27115         (main): Store argument in x and fetch it from x.
27116         * tests/test-atanl.c (x): New variable.
27117         (main): Store argument in x and fetch it from x.
27118         * tests/test-cosl.c (x): New variable.
27119         (main): Store argument in x and fetch it from x.
27120         * tests/test-expl.c (x): New variable.
27121         (main): Store argument in x and fetch it from x.
27122         * tests/test-logl.c (x): New variable.
27123         (main): Store argument in x and fetch it from x.
27124         * tests/test-sinl.c (x): New variable.
27125         (main): Store argument in x and fetch it from x.
27126         * tests/test-sqrtl.c (x): New variable.
27127         (main): Store argument in x and fetch it from x.
27128         * tests/test-tanl.c (x): New variable.
27129         (main): Store argument in x and fetch it from x.
27130
27131 2010-01-24  Bruno Haible  <bruno@clisp.org>
27132
27133         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27134         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27135         assignments to the initial TESTS_ENVIRONMENT.
27136         * doc/gnulib.texi (Unit test modules): Document it.
27137         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27138         TESTS_ENVIRONMENT.
27139         * modules/btowc-tests (Makefile.am): Likewise.
27140         * modules/c-stack-tests (Makefile.am): Likewise.
27141         * modules/c-strcase-tests (Makefile.am): Likewise.
27142         * modules/copy-file-tests (Makefile.am): Likewise.
27143         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27144         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27145         * modules/mbrtowc-tests (Makefile.am): Likewise.
27146         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27147         * modules/mbscasestr-tests (Makefile.am): Likewise.
27148         * modules/mbschr-tests (Makefile.am): Likewise.
27149         * modules/mbscspn-tests (Makefile.am): Likewise.
27150         * modules/mbsinit-tests (Makefile.am): Likewise.
27151         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27152         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27153         * modules/mbspbrk-tests (Makefile.am): Likewise.
27154         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27155         * modules/mbsrchr-tests (Makefile.am): Likewise.
27156         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27157         * modules/mbsspn-tests (Makefile.am): Likewise.
27158         * modules/mbsstr-tests (Makefile.am): Likewise.
27159         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27160         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27161         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27162         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27163         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27164         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27165         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27166         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27167         * modules/wcrtomb-tests (Makefile.am): Likewise.
27168         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27169         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27170         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27171         assignments from TESTS_ENVIRONMENT.
27172         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27173         augmentation.
27174         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27175         * modules/atexit-tests (Makefile.am): Likewise.
27176         * modules/binary-io-tests (Makefile.am): Likewise.
27177         * modules/closein-tests (Makefile.am): Likewise.
27178         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27179         * modules/exclude-tests (Makefile.am): Likewise.
27180         * modules/fflush-tests (Makefile.am): Likewise.
27181         * modules/fpending-tests (Makefile.am): Likewise.
27182         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27183         * modules/freadahead-tests (Makefile.am): Likewise.
27184         * modules/freadptr-tests (Makefile.am): Likewise.
27185         * modules/freadseek-tests (Makefile.am): Likewise.
27186         * modules/fseek-tests (Makefile.am): Likewise.
27187         * modules/fseeko-tests (Makefile.am): Likewise.
27188         * modules/ftell-tests (Makefile.am): Likewise.
27189         * modules/ftello-tests (Makefile.am): Likewise.
27190         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27191         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27192         * modules/lseek-tests (Makefile.am): Likewise.
27193         * modules/parse-duration-tests (Makefile.am): Likewise.
27194         * modules/perror-tests (Makefile.am): Likewise.
27195         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27196         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27197         * modules/pipe-tests (Makefile.am): Likewise.
27198         * modules/pread-tests (Makefile.am): Likewise.
27199         * modules/printf-posix-tests (Makefile.am): Likewise.
27200         * modules/select-tests (Makefile.am): Likewise.
27201         * modules/sigpipe-tests (Makefile.am): Likewise.
27202         * modules/tsearch-tests (Makefile.am): Likewise.
27203         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27204         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27205         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27206         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27207         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27208         * modules/version-etc-tests (Makefile.am): Likewise.
27209         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27210         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27211         * modules/xalloc-die-tests (Makefile.am): Likewise.
27212         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27213         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27214         * modules/xstrtol-tests (Makefile.am): Likewise.
27215         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27216         * modules/yesno-tests (Makefile.am): Likewise.
27217         Suggested by Jim Meyering.
27218
27219 2010-01-24  Bruno Haible  <bruno@clisp.org>
27220
27221         More documentation.
27222         * doc/gnulib.texi (Writing modules): New chapter.
27223         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27224         the new chapter.
27225
27226 2010-01-24  Jim Meyering  <meyering@redhat.com>
27227
27228         maint.mk: do not prepend "./" after filtering
27229         * top/maint.mk (_prepend_srcdir_prefix): New variable
27230         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27231         "./" when $(srcdir) is ".".
27232
27233         define STREQ(a,b) consistently, removing useless parentheses
27234         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27235         since the only risk is that "a" or "b" contains an unparenthesized
27236         comma, but if either did that, STREQ would have 3 or more arguments.
27237         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27238         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27239         * lib/hash-triple.c (STREQ): Likewise.
27240         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27241         * lib/getugroups.c (STREQ): Likewise.
27242
27243 2010-01-23  Jim Meyering  <meyering@redhat.com>
27244
27245         maint.mk: fix syntax-check in a non-srcdir build directory
27246         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27247         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27248
27249 2010-01-22  Jim Meyering  <meyering@redhat.com>
27250
27251         userspec: add unit tests
27252         * tests/test-userspec.c: New file.
27253         * modules/userspec-tests: Likewise.
27254
27255 2010-01-21  Jim Meyering  <meyering@redhat.com>
27256
27257         maint.mk: handle source file names containing "." robustly
27258         * top/maint.mk (_dot_escaped_srcdir): Define.
27259         (VC_LIST): Use it in LHS of sed substitution.
27260
27261 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27262
27263         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27264         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27265         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27266         from a non-srcdir build.
27267
27268 2010-01-20  Eric Blake  <ebb9@byu.net>
27269
27270         warn-on-use: use instead of link-warning
27271         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27272         * modules/unistd (Depends-on, Makefile.am): Likewise.
27273         * modules/arpa_inet (Depends-on): Replace link-warning with
27274         warn-on-use.
27275         (Makefile.am): Update rules accordingly.
27276         * modules/ctype (Depends-on, Makefile.am): Likewise.
27277         * modules/dirent (Depends-on, Makefile.am): Likewise.
27278         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27279         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27280         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27281         * modules/locale (Depends-on, Makefile.am): Likewise.
27282         * modules/math (Depends-on, Makefile.am): Likewise.
27283         * modules/search (Depends-on, Makefile.am): Likewise.
27284         * modules/signal (Depends-on, Makefile.am): Likewise.
27285         * modules/spawn (Depends-on, Makefile.am): Likewise.
27286         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27287         * modules/string (Depends-on, Makefile.am): Likewise.
27288         * modules/strings (Depends-on, Makefile.am): Likewise.
27289         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27290         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27291         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27292         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27293         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27294         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27295         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27296         * modules/wchar (Depends-on, Makefile.am): Likewise.
27297         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27298         should be poisoned.
27299         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27300         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27301         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27302         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27303         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27304         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27305         * m4/math_h.m4 (gl_MATH_H): Likewise.
27306         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27307         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27308         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27309         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27310         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27311         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27312         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27313         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27314         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27315         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27316         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27317         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27318         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27319         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27320         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27321         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27322         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27323         GL_LINK_WARNING.
27324         * lib/ctype.in.h: Likewise.
27325         * lib/dirent.in.h: Likewise.
27326         * lib/fcntl.in.h: Likewise.
27327         * lib/inttypes.in.h: Likewise.
27328         * lib/langinfo.in.h: Likewise.
27329         * lib/locale.in.h: Likewise.
27330         * lib/math.in.h: Likewise.
27331         * lib/search.in.h: Likewise.
27332         * lib/signal.in.h: Likewise.
27333         * lib/spawn.in.h: Likewise.
27334         * lib/stdio.in.h: Likewise.
27335         * lib/stdlib.in.h: Likewise.
27336         * lib/string.in.h: Likewise.
27337         * lib/strings.in.h: Likewise.
27338         * lib/sys_file.in.h: Likewise.
27339         * lib/sys_ioctl.in.h: Likewise.
27340         * lib/sys_select.in.h: Likewise.
27341         * lib/sys_socket.in.h: Likewise.
27342         * lib/sys_stat.in.h: Likewise.
27343         * lib/sys_times.in.h: Likewise.
27344         * lib/sys_utsname.in.h: Likewise.
27345         * lib/unistd.in.h: Likewise.
27346         * lib/wchar.in.h: Likewise.
27347
27348 2010-01-20  Bruno Haible  <bruno@clisp.org>
27349
27350         Avoid duplicate -lm.
27351         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27352         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27353         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27354         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27355         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27356         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27357         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27358         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27359         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27360         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27361         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27362         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27363         Reported by Paolo Bonzini.
27364
27365 2010-01-19  Bruno Haible  <bruno@clisp.org>
27366
27367         langinfo, nl_langinfo: Relicense under LGPLv2+.
27368         * modules/langinfo (License): Change to LGPLv2+.
27369         * modules/nl_langinfo (License): Likewise.
27370         Patch by David Lutterkort <lutter@redhat.com>.
27371
27372 2010-01-19  Bruno Haible  <bruno@clisp.org>
27373
27374         Avoid compilation error with cc on OSF/1 5.1.
27375         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27376         statement, not before.
27377         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27378
27379 2010-01-18  Bruno Haible  <bruno@clisp.org>
27380
27381         Avoid a link error due to the __printf__ symbol.
27382         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27383         and 2.6.x.
27384         (__format__, __printf__): Remove definitions.
27385         * lib/argp-fmtstream.h: Likewise.
27386         * lib/argp.h: Likewise.
27387         * lib/error.h: Likewise.
27388         * lib/vasnprintf.h: Likewise.
27389         * lib/xprintf.h: Likewise.
27390         * lib/xvasprintf.h: Likewise.
27391         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27392
27393 2010-01-18  Bruno Haible  <bruno@clisp.org>
27394
27395         Tests for module 'tanl'.
27396         * modules/tanl-tests: New file.
27397         * tests/test-tanl.c: New file.
27398
27399         Tests for module 'sqrtl'.
27400         * modules/sqrtl-tests: New file.
27401         * tests/test-sqrtl.c: New file.
27402
27403         Tests for module 'sinl'.
27404         * modules/sinl-tests: New file.
27405         * tests/test-sinl.c: New file.
27406
27407         Tests for module 'logl'.
27408         * modules/logl-tests: New file.
27409         * tests/test-logl.c: New file.
27410
27411         Tests for module 'expl'.
27412         * modules/expl-tests: New file.
27413         * tests/test-expl.c: New file.
27414
27415         Tests for module 'cosl'.
27416         * modules/cosl-tests: New file.
27417         * tests/test-cosl.c: New file.
27418
27419         Tests for module 'atanl'.
27420         * modules/atanl-tests: New file.
27421         * tests/test-atanl.c: New file.
27422
27423         Tests for module 'asinl'.
27424         * modules/asinl-tests: New file.
27425         * tests/test-asinl.c: New file.
27426
27427         Tests for module 'acosl'.
27428         * modules/acosl-tests: New file.
27429         * tests/test-acosl.c: New file.
27430
27431         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27432         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27433         tanl): Use the standard gnulib idiom.
27434         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27435         * lib/sinl.c: Likewise.
27436         * lib/tanl.c: Don't include trigl.c.
27437         (kernel_tanl): Make static.
27438         * lib/sincosl.c: Include trigl.h first.
27439         * lib/trigl.c: Likewise.
27440         * m4/acosl.m4: New file.
27441         * m4/asinl.m4: New file.
27442         * m4/atanl.m4: New file.
27443         * m4/cosl.m4: New file.
27444         * m4/expl.m4: New file.
27445         * m4/logl.m4: New file.
27446         * m4/sinl.m4: New file.
27447         * m4/sqrtl.m4: New file.
27448         * m4/tanl.m4: New file.
27449         * m4/mathl.m4: Remove file.
27450         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27451         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27452         Don't initialize GNULIB_MATHL.
27453         * modules/acosl: New file.
27454         * modules/asinl: New file.
27455         * modules/atanl: New file.
27456         * modules/cosl: New file.
27457         * modules/expl: New file.
27458         * modules/logl: New file.
27459         * modules/sinl: New file.
27460         * modules/sqrtl: New file.
27461         * modules/tanl: New file.
27462         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27463         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27464         substitute GNULIB_MATHL.
27465         * modules/mathl: Rewritten.
27466         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27467         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27468         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27469         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27470         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27471         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27472         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27473         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27474         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27475
27476 2010-01-18  Bruno Haible  <bruno@clisp.org>
27477
27478         sqrt: Make gl_FUNC_SQRT requirable.
27479         * m4/sqrt.m4: New file.
27480         * modules/sqrt (Files): Add it.
27481         (configure.ac): Invoke gl_FUNC_SQRT.
27482
27483 2010-01-18  Bruno Haible  <bruno@clisp.org>
27484
27485         New modules for common <math.h> functions.
27486         * m4/mathfunc.m4: New file.
27487         * modules/acos: New file.
27488         * modules/asin: New file.
27489         * modules/atan: New file.
27490         * modules/atan2: New file.
27491         * modules/cbrt: New file.
27492         * modules/copysign: New file.
27493         * modules/cos: New file.
27494         * modules/cosh: New file.
27495         * modules/erf: New file.
27496         * modules/erfc: New file.
27497         * modules/exp: New file.
27498         * modules/fabs: New file.
27499         * modules/fmod: New file.
27500         * modules/hypot: New file.
27501         * modules/j0: New file.
27502         * modules/j1: New file.
27503         * modules/jn: New file.
27504         * modules/ldexp: New file.
27505         * modules/lgamma: New file.
27506         * modules/log: New file.
27507         * modules/log10: New file.
27508         * modules/log1p: New file.
27509         * modules/logb: New file.
27510         * modules/modf: New file.
27511         * modules/nextafter: New file.
27512         * modules/pow: New file.
27513         * modules/remainder: New file.
27514         * modules/rint: New file.
27515         * modules/sin: New file.
27516         * modules/sinh: New file.
27517         * modules/sqrt: New file.
27518         * modules/tan: New file.
27519         * modules/tanh: New file.
27520         * modules/y0: New file.
27521         * modules/y1: New file.
27522         * modules/yn: New file.
27523         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27524         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27525         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27526         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27527         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27528         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27529         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27530         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27531         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27532         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27533         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27534         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27535         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27536         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27537         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27538         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27539         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27540         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27541         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27542         * doc/posix-functions/log.texi: Mention the 'log' module.
27543         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27544         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27545         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27546         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27547         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27548         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27549         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27550         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27551         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27552         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27553         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27554         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27555         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27556         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27557         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27558         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27559
27560 2010-01-18  Jim Meyering  <meyering@redhat.com>
27561
27562         ignore-value: relax license to LGPLv2+
27563         * modules/ignore-value (License): Relax to LGPLv2+.
27564
27565         getdate: don't leak when TZ contains two or more '"'s
27566         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27567         double quote in TZ after the first one.
27568
27569         readtokens: do not leak internal token_lengths buffer
27570         * lib/readtokens.c (readtokens): Free the local, lengths,
27571         when the supplied "token_lengths" parameter is NULL.
27572
27573 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27574
27575         Fix a couple of missing LIBTHREAD link failures on AIX.
27576         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27577         $(LIBTHREAD).
27578         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27579
27580         Link test-poll against INET_PTON_LIB.
27581         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27582         for inet_pton on Solaris 10.
27583
27584 2010-01-17  Bruno Haible  <bruno@clisp.org>
27585
27586         unistdio/*-sprintf: Fix typo in module description.
27587         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27588         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27589         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27590         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27591         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27592         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27593         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27594         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27595
27596 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27597
27598         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27599         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27600         variables in shell case patterns, for AIX and HP-UX ksh.
27601
27602         Split large sed scripts, for HP-UX sed.
27603         * modules/stdio: Split sed scripts around 50 sed commands,
27604         to avoid HP-UX limit of 99 commands, in the near future.
27605         * modules/string: Likewise.
27606         * modules/unistd: Likewise.
27607
27608         gnulib-tool: avoid writing in the current directory.
27609         * gnulib-tool (func_emit_lib_Makefile_am)
27610         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27611         not in the current directory, so concurrent gnulib-tool
27612         instances do not interfere.
27613
27614 2010-01-16  Jim Meyering  <meyering@redhat.com>
27615
27616         doc: update users.txt
27617         * users.txt: Add grep.
27618         (diffutils, gzip): Update URLs.
27619
27620 2010-01-12  Bruno Haible  <bruno@clisp.org>
27621
27622         posix_spawn: Avoid test failure on Cygwin.
27623         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27624         characters.
27625         Reported by Simon Josefsson.
27626
27627 2010-01-12  Bruno Haible  <bruno@clisp.org>
27628
27629         * tests/test-cond.c (main): When skipping the test, show the reason.
27630
27631 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27632
27633         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27634
27635 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27636
27637         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27638         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27639
27640 2010-01-12  Eric Blake  <ebb9@byu.net>
27641
27642         build: guarantee AS_VAR_IF
27643         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27644         (gl_AS_VAR_IF): Move...
27645         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27646         Reported by Simon Josefsson.
27647
27648 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27649
27650         * lib/stdio.in.h: Fix typo.
27651
27652 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27653
27654         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27655         libgpg-error.
27656
27657 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27658
27659         * tests/test-xalloc-die.sh: Use $EXEEXT.
27660
27661 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27662             Bruno Haible  <bruno@clisp.org>
27663
27664         getlogin, getlogin_r: Avoid test failure.
27665         * tests/test-getlogin.c: Include <stdio.h>.
27666         (main): Skip the test when the function fails because stdin is not a
27667         tty.
27668         * tests/test-getlogin_r.c: Include <stdio.h>.
27669         (main): Skip the test when the function fails because stdin is not a
27670         tty.
27671
27672 2010-01-11  Eric Blake  <ebb9@byu.net>
27673
27674         tests: avoid more large file warnings
27675         * tests/test-fflush.c: Avoid warning about ftell use.
27676         * tests/test-fseek.c: Avoid warning about fseek use.
27677
27678 2010-01-10  Bruno Haible  <bruno@clisp.org>
27679
27680         nproc: Work better on Linux when /proc and /sys are not mounted.
27681         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27682         as lower bound when, on glibc/Linux systems,
27683         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27684         Suggested by Pádraig Brady <P@draigbrady.com>.
27685         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27686
27687         nproc: Refactor.
27688         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27689         extracted from num_processors.
27690         (num_processors): Call it.
27691
27692 2010-01-11  Jim Meyering  <meyering@redhat.com>
27693
27694         utimecmp: avoid new warning from upcoming gcc-4.5.0
27695         * lib/utimecmp.c (BILLION): Define using #define rather than an
27696         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27697
27698 2010-01-11  Eric Blake  <ebb9@byu.net>
27699
27700         math: add portability warnings for classification macros
27701         * modules/math (Depends-on): Add warn-on-use.
27702         (Makefile.am): Provide new substitutions.
27703         * m4/math_h.m4 (gl_MATH_H): Require inline.
27704         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27705         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27706         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27707         implement warnings.
27708
27709         unistd: warn on use of environ without module
27710         * modules/unistd (Depends-on): Add warn-on-use.
27711         (Makefile.am): Provide new substitutions.
27712         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27713         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27714
27715         stdio: warn on suspicious uses
27716         * modules/stdio (Depends-on): Add warn-on-use.
27717         (Makefile.am): Provide new substitutions.
27718         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27719         fseeko.
27720         * lib/stdio.in.h (gets): Always warn on use.
27721         (fseek, ftell): Adjust when warnings are issued, and honor
27722         _GL_NO_LARGE_FILES as a way to silence the warning.
27723         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27724         any warning about large file offsets.
27725         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27726         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27727         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27728         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27729         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27730         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27731         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27732         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27733
27734         warn-on-use: new module
27735         * modules/warn-on-use: New file.
27736         * build-aux/warn-on-use.h: Likewise.
27737         * m4/warn-on-use.m4: Likewise.
27738         * MODULES.html.sh (Support for building): Mention it.
27739
27740 2010-01-10  Bruno Haible  <bruno@clisp.org>
27741
27742         Tests for module 'unistr/u32-strdup'.
27743         * modules/unistr/u32-strdup-tests: New file.
27744         * tests/unistr/test-u32-strdup.c: New file.
27745
27746         Tests for module 'unistr/u16-strdup'.
27747         * modules/unistr/u16-strdup-tests: New file.
27748         * tests/unistr/test-u16-strdup.c: New file.
27749
27750         Tests for module 'unistr/u8-strdup'.
27751         * modules/unistr/u8-strdup-tests: New file.
27752         * tests/unistr/test-u8-strdup.c: New file.
27753         * tests/unistr/test-strdup.h: New file.
27754
27755         Tests for module 'unistr/u32-strncmp'.
27756         * modules/unistr/u32-strncmp-tests: New file.
27757         * tests/unistr/test-u32-strncmp.c: New file.
27758
27759         Tests for module 'unistr/u16-strncmp'.
27760         * modules/unistr/u16-strncmp-tests: New file.
27761         * tests/unistr/test-u16-strncmp.c: New file.
27762
27763         Tests for module 'unistr/u8-strncmp'.
27764         * modules/unistr/u8-strncmp-tests: New file.
27765         * tests/unistr/test-u8-strncmp.c: New file.
27766         * tests/unistr/test-strncmp.h: New file.
27767
27768         Tests for module 'unistr/u32-strcoll'.
27769         * modules/unistr/u32-strcoll-tests: New file.
27770         * tests/unistr/test-u32-strcoll.c: New file.
27771
27772         Tests for module 'unistr/u16-strcoll'.
27773         * modules/unistr/u16-strcoll-tests: New file.
27774         * tests/unistr/test-u16-strcoll.c: New file.
27775
27776         Tests for module 'unistr/u8-strcoll'.
27777         * modules/unistr/u8-strcoll-tests: New file.
27778         * tests/unistr/test-u8-strcoll.c: New file.
27779
27780         Tests for module 'unistr/u32-strcmp'.
27781         * modules/unistr/u32-strcmp-tests: New file.
27782         * tests/unistr/test-u32-strcmp.c: New file.
27783         * tests/unistr/test-u32-strcmp.h: New file.
27784
27785         Tests for module 'unistr/u16-strcmp'.
27786         * modules/unistr/u16-strcmp-tests: New file.
27787         * tests/unistr/test-u16-strcmp.c: New file.
27788         * tests/unistr/test-u16-strcmp.h: New file.
27789
27790         Tests for module 'unistr/u8-strcmp'.
27791         * modules/unistr/u8-strcmp-tests: New file.
27792         * tests/unistr/test-u8-strcmp.c: New file.
27793         * tests/unistr/test-u8-strcmp.h: New file.
27794         * tests/unistr/test-strcmp.h: New file.
27795
27796         Tests for module 'unistr/u32-strncat'.
27797         * modules/unistr/u32-strncat-tests: New file.
27798         * tests/unistr/test-u32-strncat.c: New file.
27799
27800         Tests for module 'unistr/u16-strncat'.
27801         * modules/unistr/u16-strncat-tests: New file.
27802         * tests/unistr/test-u16-strncat.c: New file.
27803
27804         Tests for module 'unistr/u8-strncat'.
27805         * modules/unistr/u8-strncat-tests: New file.
27806         * tests/unistr/test-u8-strncat.c: New file.
27807         * tests/unistr/test-strncat.h: New file.
27808
27809         Tests for module 'unistr/u32-strcat'.
27810         * modules/unistr/u32-strcat-tests: New file.
27811         * tests/unistr/test-u32-strcat.c: New file.
27812
27813         Tests for module 'unistr/u16-strcat'.
27814         * modules/unistr/u16-strcat-tests: New file.
27815         * tests/unistr/test-u16-strcat.c: New file.
27816
27817         Tests for module 'unistr/u8-strcat'.
27818         * modules/unistr/u8-strcat-tests: New file.
27819         * tests/unistr/test-u8-strcat.c: New file.
27820         * tests/unistr/test-strcat.h: New file.
27821
27822         Tests for module 'unistr/u32-stpncpy'.
27823         * modules/unistr/u32-stpncpy-tests: New file.
27824         * tests/unistr/test-u32-stpncpy.c: New file.
27825
27826         Tests for module 'unistr/u16-stpncpy'.
27827         * modules/unistr/u16-stpncpy-tests: New file.
27828         * tests/unistr/test-u16-stpncpy.c: New file.
27829
27830         Tests for module 'unistr/u8-stpncpy'.
27831         * modules/unistr/u8-stpncpy-tests: New file.
27832         * tests/unistr/test-u8-stpncpy.c: New file.
27833         * tests/unistr/test-stpncpy.h: New file.
27834
27835         Tests for module 'unistr/u32-strncpy'.
27836         * modules/unistr/u32-strncpy-tests: New file.
27837         * tests/unistr/test-u32-strncpy.c: New file.
27838
27839         Tests for module 'unistr/u16-strncpy'.
27840         * modules/unistr/u16-strncpy-tests: New file.
27841         * tests/unistr/test-u16-strncpy.c: New file.
27842
27843         Tests for module 'unistr/u8-strncpy'.
27844         * modules/unistr/u8-strncpy-tests: New file.
27845         * tests/unistr/test-u8-strncpy.c: New file.
27846         * tests/unistr/test-strncpy.h: New file.
27847
27848         Tests for module 'unistr/u32-stpcpy'.
27849         * modules/unistr/u32-stpcpy-tests: New file.
27850         * tests/unistr/test-u32-stpcpy.c: New file.
27851
27852         Tests for module 'unistr/u16-stpcpy'.
27853         * modules/unistr/u16-stpcpy-tests: New file.
27854         * tests/unistr/test-u16-stpcpy.c: New file.
27855
27856         Tests for module 'unistr/u8-stpcpy'.
27857         * modules/unistr/u8-stpcpy-tests: New file.
27858         * tests/unistr/test-u8-stpcpy.c: New file.
27859         * tests/unistr/test-stpcpy.h: New file.
27860
27861         Tests for module 'unistr/u32-strcpy'.
27862         * modules/unistr/u32-strcpy-tests: New file.
27863         * tests/unistr/test-u32-strcpy.c: New file.
27864
27865         Tests for module 'unistr/u16-strcpy'.
27866         * modules/unistr/u16-strcpy-tests: New file.
27867         * tests/unistr/test-u16-strcpy.c: New file.
27868
27869         Tests for module 'unistr/u8-strcpy'.
27870         * modules/unistr/u8-strcpy-tests: New file.
27871         * tests/unistr/test-u8-strcpy.c: New file.
27872         * tests/unistr/test-strcpy.h: New file.
27873
27874         Tests for module 'unistr/u32-strnlen'.
27875         * modules/unistr/u32-strnlen-tests: New file.
27876         * tests/unistr/test-u32-strnlen.c: New file.
27877
27878         Tests for module 'unistr/u16-strnlen'.
27879         * modules/unistr/u16-strnlen-tests: New file.
27880         * tests/unistr/test-u16-strnlen.c: New file.
27881
27882         Tests for module 'unistr/u8-strnlen'.
27883         * modules/unistr/u8-strnlen-tests: New file.
27884         * tests/unistr/test-u8-strnlen.c: New file.
27885         * tests/unistr/test-strnlen.h: New file.
27886
27887         Tests for module 'unistr/u32-strlen'.
27888         * modules/unistr/u32-strlen-tests: New file.
27889         * tests/unistr/test-u32-strlen.c: New file.
27890
27891         Tests for module 'unistr/u16-strlen'.
27892         * modules/unistr/u16-strlen-tests: New file.
27893         * tests/unistr/test-u16-strlen.c: New file.
27894
27895         Tests for module 'unistr/u8-strlen'.
27896         * modules/unistr/u8-strlen-tests: New file.
27897         * tests/unistr/test-u8-strlen.c: New file.
27898
27899         Tests for module 'unistr/u32-prev'.
27900         * modules/unistr/u32-prev-tests: New file.
27901         * tests/unistr/test-u32-prev.c: New file.
27902
27903         Tests for module 'unistr/u16-prev'.
27904         * modules/unistr/u16-prev-tests: New file.
27905         * tests/unistr/test-u16-prev.c: New file.
27906
27907         Tests for module 'unistr/u8-prev'.
27908         * modules/unistr/u8-prev-tests: New file.
27909         * tests/unistr/test-u8-prev.c: New file.
27910
27911         Tests for module 'unistr/u32-next'.
27912         * modules/unistr/u32-next-tests: New file.
27913         * tests/unistr/test-u32-next.c: New file.
27914
27915         Tests for module 'unistr/u16-next'.
27916         * modules/unistr/u16-next-tests: New file.
27917         * tests/unistr/test-u16-next.c: New file.
27918
27919         Tests for module 'unistr/u8-next'.
27920         * modules/unistr/u8-next-tests: New file.
27921         * tests/unistr/test-u8-next.c: New file.
27922
27923         Tests for module 'unistr/u32-strmbtouc'.
27924         * modules/unistr/u32-strmbtouc-tests: New file.
27925         * tests/unistr/test-u32-strmbtouc.c: New file.
27926
27927         Tests for module 'unistr/u16-strmbtouc'.
27928         * modules/unistr/u16-strmbtouc-tests: New file.
27929         * tests/unistr/test-u16-strmbtouc.c: New file.
27930
27931         Tests for module 'unistr/u8-strmbtouc'.
27932         * modules/unistr/u8-strmbtouc-tests: New file.
27933         * tests/unistr/test-u8-strmbtouc.c: New file.
27934
27935         Tests for module 'unistr/u32-strmblen'.
27936         * modules/unistr/u32-strmblen-tests: New file.
27937         * tests/unistr/test-u32-strmblen.c: New file.
27938
27939         Tests for module 'unistr/u16-strmblen'.
27940         * modules/unistr/u16-strmblen-tests: New file.
27941         * tests/unistr/test-u16-strmblen.c: New file.
27942
27943         Tests for module 'unistr/u8-strmblen'.
27944         * modules/unistr/u8-strmblen-tests: New file.
27945         * tests/unistr/test-u8-strmblen.c: New file.
27946
27947         Tests for module 'unistr/u32-cpy-alloc'.
27948         * modules/unistr/u32-cpy-alloc-tests: New file.
27949         * tests/unistr/test-u32-cpy-alloc.c: New file.
27950
27951         Tests for module 'unistr/u16-cpy-alloc'.
27952         * modules/unistr/u16-cpy-alloc-tests: New file.
27953         * tests/unistr/test-u16-cpy-alloc.c: New file.
27954
27955         Tests for module 'unistr/u8-cpy-alloc'.
27956         * modules/unistr/u8-cpy-alloc-tests: New file.
27957         * tests/unistr/test-u8-cpy-alloc.c: New file.
27958         * tests/unistr/test-cpy-alloc.h: New file.
27959
27960         Tests for module 'unistr/u32-mbsnlen'.
27961         * modules/unistr/u32-mbsnlen-tests: New file.
27962         * tests/unistr/test-u32-mbsnlen.c: New file.
27963
27964         Tests for module 'unistr/u16-mbsnlen'.
27965         * modules/unistr/u16-mbsnlen-tests: New file.
27966         * tests/unistr/test-u16-mbsnlen.c: New file.
27967
27968         Tests for module 'unistr/u8-mbsnlen'.
27969         * modules/unistr/u8-mbsnlen-tests: New file.
27970         * tests/unistr/test-u8-mbsnlen.c: New file.
27971
27972         Tests for module 'unistr/u32-chr'.
27973         * modules/unistr/u32-chr-tests: New file.
27974         * tests/unistr/test-u32-chr.c: New file.
27975
27976         Tests for module 'unistr/u16-chr'.
27977         * modules/unistr/u16-chr-tests: New file.
27978         * tests/unistr/test-u16-chr.c: New file.
27979
27980         Tests for module 'unistr/u8-chr'.
27981         * modules/unistr/u8-chr-tests: New file.
27982         * tests/unistr/test-u8-chr.c: New file.
27983         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
27984
27985         Tests for module 'unistr/u32-cmp2'.
27986         * modules/unistr/u32-cmp2-tests: New file.
27987         * tests/unistr/test-u32-cmp2.c: New file.
27988
27989         Tests for module 'unistr/u16-cmp2'.
27990         * modules/unistr/u16-cmp2-tests: New file.
27991         * tests/unistr/test-u16-cmp2.c: New file.
27992
27993         Tests for module 'unistr/u8-cmp2'.
27994         * modules/unistr/u8-cmp2-tests: New file.
27995         * tests/unistr/test-u8-cmp2.c: New file.
27996         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
27997
27998         Tests for module 'unistr/u32-cmp'.
27999         * modules/unistr/u32-cmp-tests: New file.
28000         * tests/unistr/test-u32-cmp.c: New file.
28001
28002         Tests for module 'unistr/u16-cmp'.
28003         * modules/unistr/u16-cmp-tests: New file.
28004         * tests/unistr/test-u16-cmp.c: New file.
28005
28006         Tests for module 'unistr/u8-cmp'.
28007         * modules/unistr/u8-cmp-tests: New file.
28008         * tests/unistr/test-u8-cmp.c: New file.
28009         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28010
28011         Tests for module 'unistr/u32-set'.
28012         * modules/unistr/u32-set-tests: New file.
28013         * tests/unistr/test-u32-set.c: New file.
28014
28015         Tests for module 'unistr/u16-set'.
28016         * modules/unistr/u16-set-tests: New file.
28017         * tests/unistr/test-u16-set.c: New file.
28018
28019         Tests for module 'unistr/u8-set'.
28020         * modules/unistr/u8-set-tests: New file.
28021         * tests/unistr/test-u8-set.c: New file.
28022         * tests/unistr/test-set.h: New file.
28023
28024         Tests for module 'unistr/u32-move'.
28025         * modules/unistr/u32-move-tests: New file.
28026         * tests/unistr/test-u32-move.c: New file.
28027
28028         Tests for module 'unistr/u16-move'.
28029         * modules/unistr/u16-move-tests: New file.
28030         * tests/unistr/test-u16-move.c: New file.
28031
28032         Tests for module 'unistr/u8-move'.
28033         * modules/unistr/u8-move-tests: New file.
28034         * tests/unistr/test-u8-move.c: New file.
28035         * tests/unistr/test-move.h: New file.
28036
28037         Tests for module 'unistr/u32-cpy'.
28038         * modules/unistr/u32-cpy-tests: New file.
28039         * tests/unistr/test-u32-cpy.c: New file.
28040
28041         Tests for module 'unistr/u16-cpy'.
28042         * modules/unistr/u16-cpy-tests: New file.
28043         * tests/unistr/test-u16-cpy.c: New file.
28044
28045         Tests for module 'unistr/u8-cpy'.
28046         * modules/unistr/u8-cpy-tests: New file.
28047         * tests/unistr/test-u8-cpy.c: New file.
28048         * tests/unistr/test-cpy.h: New file.
28049
28050 2010-01-09  Bruno Haible  <bruno@clisp.org>
28051
28052         Tests for module 'unistr/u32-uctomb'.
28053         * modules/unistr/u32-uctomb-tests: New file.
28054         * tests/unistr/test-u32-uctomb.c: New file.
28055
28056         Tests for module 'unistr/u16-uctomb'.
28057         * modules/unistr/u16-uctomb-tests: New file.
28058         * tests/unistr/test-u16-uctomb.c: New file.
28059
28060         Tests for module 'unistr/u8-uctomb'.
28061         * modules/unistr/u8-uctomb-tests: New file.
28062         * tests/unistr/test-u8-uctomb.c: New file.
28063
28064         Tests for module 'unistr/u32-mbtoucr'.
28065         * modules/unistr/u32-mbtoucr-tests: New file.
28066         * tests/unistr/test-u32-mbtoucr.c: New file.
28067
28068         Tests for module 'unistr/u16-mbtoucr'.
28069         * modules/unistr/u16-mbtoucr-tests: New file.
28070         * tests/unistr/test-u16-mbtoucr.c: New file.
28071
28072         Tests for module 'unistr/u8-mbtoucr'.
28073         * modules/unistr/u8-mbtoucr-tests: New file.
28074         * tests/unistr/test-u8-mbtoucr.c: New file.
28075
28076         Tests for module 'unistr/u32-mbtouc'.
28077         * modules/unistr/u32-mbtouc-tests: New file.
28078         * tests/unistr/test-u32-mbtouc.c: New file.
28079
28080         Tests for module 'unistr/u16-mbtouc'.
28081         * modules/unistr/u16-mbtouc-tests: New file.
28082         * tests/unistr/test-u16-mbtouc.c: New file.
28083
28084         Tests for module 'unistr/u8-mbtouc'.
28085         * modules/unistr/u8-mbtouc-tests: New file.
28086         * tests/unistr/test-u8-mbtouc.c: New file.
28087
28088         Tests for module 'unistr/u32-mbtouc-unsafe'.
28089         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28090         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28091         * tests/unistr/test-u32-mbtouc.h: New file.
28092
28093         Tests for module 'unistr/u16-mbtouc-unsafe'.
28094         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28095         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28096         * tests/unistr/test-u16-mbtouc.h: New file.
28097
28098         Tests for module 'unistr/u8-mbtouc-unsafe'.
28099         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28100         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28101         * tests/unistr/test-u8-mbtouc.h: New file.
28102
28103         Tests for module 'unistr/u32-mblen'.
28104         * modules/unistr/u32-mblen-tests: New file.
28105         * tests/unistr/test-u32-mblen.c: New file.
28106
28107         Tests for module 'unistr/u16-mblen'.
28108         * modules/unistr/u16-mblen-tests: New file.
28109         * tests/unistr/test-u16-mblen.c: New file.
28110
28111         Tests for module 'unistr/u8-mblen'.
28112         * modules/unistr/u8-mblen-tests: New file.
28113         * tests/unistr/test-u8-mblen.c: New file.
28114
28115         Tests for module 'unistr/u32-to-u16'.
28116         * modules/unistr/u32-to-u16-tests: New file.
28117         * tests/unistr/test-u32-to-u16.c: New file.
28118
28119         Tests for module 'unistr/u32-to-u8'.
28120         * modules/unistr/u32-to-u8-tests: New file.
28121         * tests/unistr/test-u32-to-u8.c: New file.
28122
28123         Tests for module 'unistr/u16-to-u32'.
28124         * modules/unistr/u16-to-u32-tests: New file.
28125         * tests/unistr/test-u16-to-u32.c: New file.
28126
28127         Tests for module 'unistr/u16-to-u8'.
28128         * modules/unistr/u16-to-u8-tests: New file.
28129         * tests/unistr/test-u16-to-u8.c: New file.
28130
28131         Tests for module 'unistr/u8-to-u32'.
28132         * modules/unistr/u8-to-u32-tests: New file.
28133         * tests/unistr/test-u8-to-u32.c: New file.
28134
28135         Tests for module 'unistr/u8-to-u16'.
28136         * modules/unistr/u8-to-u16-tests: New file.
28137         * tests/unistr/test-u8-to-u16.c: New file.
28138
28139         Tests for module 'unistr/u32-check'.
28140         * modules/unistr/u32-check-tests: New file.
28141         * tests/unistr/test-u32-check.c: New file.
28142
28143         Tests for module 'unistr/u16-check'.
28144         * modules/unistr/u16-check-tests: New file.
28145         * tests/unistr/test-u16-check.c: New file.
28146
28147         Tests for module 'unistr/u8-check'.
28148         * modules/unistr/u8-check-tests: New file.
28149         * tests/unistr/test-u8-check.c: New file.
28150
28151         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28152         (category_equals): New function.
28153         (main): Add more tests.
28154         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28155
28156         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28157
28158 2010-01-10  Bruno Haible  <bruno@clisp.org>
28159
28160         unistr/u*-strcoll: Try harder to distinguish different strings.
28161         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28162         compare s1 and s2 to see if they are different.
28163
28164 2010-01-10  Bruno Haible  <bruno@clisp.org>
28165
28166         unistr/u*-stpncpy: Fix the return value.
28167         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28168         description of the return value consistent with stpncpy in glibc.
28169         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28170         written non-NUL unit.
28171
28172 2010-01-10  Bruno Haible  <bruno@clisp.org>
28173
28174         unistr/u*-next: Add missing dependencies.
28175         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28176         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28177         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28178
28179 2010-01-10  Bruno Haible  <bruno@clisp.org>
28180
28181         unistr/u8-mbsnlen: Fix return value for incomplete character.
28182         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28183         u8_mblen.
28184         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28185         Remove unistr/u8-mblen.
28186         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28187         u16_mblen.
28188         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28189         Remove unistr/u16-mblen.
28190
28191 2010-01-10  Bruno Haible  <bruno@clisp.org>
28192
28193         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28194         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28195         Reported by Brian Gough <bjg@gnu.org> and
28196         Chris Clayton <chris2553@googlemail.com> via
28197         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28198
28199 2010-01-09  Bruno Haible  <bruno@clisp.org>
28200
28201         unistr/u16-to-u32: Reject invalid input.
28202         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28203         u16_mbtouc.
28204         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28205         Remove unistr/u16-mbtouc.
28206
28207         unistr/u16-to-u8: Reject invalid input.
28208         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28209         u16_mbtouc.
28210         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28211         Remove unistr/u16-mbtouc.
28212
28213         unistr/u8-to-u32: Reject invalid input.
28214         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28215         u8_mbtouc.
28216         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28217         Remove unistr/u8-mbtouc.
28218
28219         unistr/u8-to-u16: Reject invalid input.
28220         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28221         u8_mbtouc.
28222         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28223         Remove unistr/u8-mbtouc.
28224
28225 2010-01-09  Bruno Haible  <bruno@clisp.org>
28226
28227         Tests for module 'getlogin'.
28228         * modules/getlogin-tests: New file.
28229         * tests/test-getlogin.c: New file.
28230
28231         New module 'getlogin'.
28232         * lib/unistd.in.h (getlogin): New declaration.
28233         * lib/getlogin.c: New file.
28234         * m4/getlogin.m4: New file.
28235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28236         HAVE_GETLOGIN.
28237         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28238         HAVE_GETLOGIN.
28239         * modules/getlogin: New file.
28240         * doc/posix-functions/getlogin.texi: Mention the new module.
28241         Reported by John W. Eaton <jwe@gnu.org>.
28242
28243 2010-01-09  Bruno Haible  <bruno@clisp.org>
28244
28245         getlogin_r: Support for native Windows.
28246         * lib/getlogin_r.c: Include <windows.h>
28247         (getlogin_r): Implement for native Windows.
28248         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28249         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28250         via John W. Eaton <jwe@gnu.org>.
28251
28252 2010-01-09  Bruno Haible  <bruno@clisp.org>
28253
28254         getlogin_r: Small fixes.
28255         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28256         succeeds.
28257         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28258         before testing whether getlogin_r is declared. No need to set
28259         HAVE_DECL_GETLOGIN_R to 1.
28260         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28261
28262 2010-01-09  Bruno Haible  <bruno@clisp.org>
28263
28264         * lib/unistd.in.h (getlogin_r): Add comment.
28265
28266 2010-01-09  Bruno Haible  <bruno@clisp.org>
28267
28268         Tests for module 'getlogin_r'.
28269         * modules/getlogin_r-tests: New file.
28270         * tests/test-getlogin_r.c: New file.
28271
28272 2010-01-09  Jim Meyering  <meyering@redhat.com>
28273
28274         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28275         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28276         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28277
28278 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28279
28280         * lib/dup2.c (rpl_dup2): Improve comment.
28281
28282 2010-01-08  Eric Blake  <ebb9@byu.net>
28283
28284         maint.mk: allow packages to add makefile @@ exceptions
28285         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28286         (sc_makefile_check): Rename...
28287         (sc_makefile_at_at_check): ...to this, and use hook.
28288
28289         dup2: work around mingw bug
28290         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28291         Reported by Simon Josefsson.
28292
28293 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28294
28295         glob: Fix C++ compilation.
28296         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28297         C++.
28298
28299 2010-01-07  Bruno Haible  <bruno@clisp.org>
28300
28301         Fix indentation of wctype.in.h, broken since 2007-01-06.
28302         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28303
28304 2010-01-07  Bruno Haible  <bruno@clisp.org>
28305
28306         mbslen: Avoid collision with system function.
28307         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28308         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28309         * m4/mbslen.m4: New file.
28310         * modules/mbslen (Files): Add it.
28311         (configure.ac): Invoke gl_MBSLEN.
28312         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28313         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28314         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28315         via Ian Beckwith <ianb@erislabs.net>.
28316
28317 2010-01-07  Bruno Haible  <bruno@clisp.org>
28318
28319         dirent: Document the last fix.
28320         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28321
28322 2010-01-07  Bruno Haible  <bruno@clisp.org>
28323
28324         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28325         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28326         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28327         va_list are defined.
28328         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28329         Reported by Eric Blake.
28330
28331 2010-01-07  Bruno Haible  <bruno@clisp.org>
28332
28333         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28334         * modules/xlist (Depends-on): Add 'list',
28335         * modules/xoset (Depends-on): Add 'oset'.
28336         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28337
28338 2010-01-07  Bruno Haible  <bruno@clisp.org>
28339
28340         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28341         * doc/posix-functions/strncasecmp.texi: Likewise.
28342
28343 2010-01-07  Bruno Haible  <bruno@clisp.org>
28344
28345         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28346
28347 2010-01-07  John W. Eaton  <jwe@octave.org>
28348
28349         wctype: allow C++ use
28350         * lib/wctype.in.h: Add extern "C" block for C++.
28351
28352 2010-01-06  Eric Blake  <ebb9@byu.net>
28353
28354         maint.mk: detect incorrect GFDL usage
28355         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28356
28357 2010-01-06  Jim Meyering  <meyering@redhat.com>
28358         and Eric Blake  <ebb9@byu.net>
28359
28360         maint.mk: ignore multi-line copyright in NEWS
28361         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28362
28363 2010-01-06  Eric Blake  <ebb9@byu.net>
28364
28365         select: add missing dependency
28366         * modules/select-tests (Depends-on): Move sockets dependency...
28367         * modules/select (Depends-on): ...here.
28368         Reported by Ian Beckwith.
28369
28370         doc: regenerate INSTALL
28371         * doc/INSTALL: Reflect recent autoconf update.
28372         * doc/INSTALL.ISO: Likewise.
28373         * doc/INSTALL.UTF-8: Likewise.
28374
28375         pread: fix compilation on glibc
28376         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28377         Reported by Ralf Wildenhues.
28378
28379         dirent: fix test failure
28380         * lib/dirent.in.h (includes): Guarantee ino_t.
28381         Reported by Ralf Wildenhues.
28382
28383 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28384
28385         linkat, renameat: avoid bad free
28386         * lib/at-func2.c (at_func2): Fix typo.
28387         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28388
28389 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28390
28391         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28392         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28393         to avoid failure of symlink test later.
28394
28395 2010-01-06  Eric Blake  <ebb9@byu.net>
28396
28397         stdio, unistd: guarantee ssize_t
28398         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28399         2008 are exposed when needed.
28400         * lib/stdio.in.h (includes): Likewise.
28401         Reported by Ralf Wildenhues.
28402
28403 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28404
28405         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28406         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28407         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28408
28409 2010-01-06  Jim Meyering  <meyering@redhat.com>
28410
28411         readtokens: this module *does* require xalloc.h
28412         It uses only functions that were omitted by the old syntax-check rule.
28413         * lib/readtokens.c: Include "xalloc.h" once again.
28414         * modules/readtokens (Depends-on): Add xalloc.
28415         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28416
28417 2010-01-05  Eric Blake  <ebb9@byu.net>
28418
28419         maint: support 'make announcement' from a VPATH build
28420         * top/maint.mk (announcement): Look for correct NEWS file.
28421
28422 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28423
28424         utimens (fdutimens): ignore a negative FD, per contract
28425         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28426         when we have a valid file descriptor.  Otherwise, using a brand
28427         new glibc (with just-patched futimens that now fails with EBADF)
28428         would cause this function to fail with ENOSYS.
28429         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28430         See also http://bugzilla.redhat.com/552320.
28431
28432 2010-01-05  Eric Blake  <ebb9@byu.net>
28433
28434         strcase: document what it provides
28435         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28436         gnulib module.
28437         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28438         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28439
28440 2010-01-05  Jim Meyering  <meyering@redhat.com>
28441
28442         maint: remove useless inclusions of "xalloc.h"
28443         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28444         * lib/readtokens.c: Likewise.
28445         * lib/same.c: Likewise.
28446         * modules/getloadavg (Depends-on): Remove xalloc.
28447         * modules/readtokens: Likewise.
28448         * modules/same: Likewise.
28449
28450         maint.mk: include 4 more function names in alloca.h-checking regexp
28451         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28452         regexp.  Before, we would give a false-positive (saying alloca.h
28453         is included unnecessarily) when the only uses involved omitted symbols.
28454
28455         xalloc.h: use consistent formatting
28456         * lib/xalloc.h: Move declarations to start in the first column.
28457
28458 2010-01-05  Eric Blake  <ebb9@byu.net>
28459
28460         mkdir: avoid xalloc
28461         * lib/mkdir.c (includes): Drop unused header.
28462         Reported by John W. Eaton.
28463
28464 2010-01-04  Jim Meyering  <meyering@redhat.com>
28465
28466         nl_langinfo: avoid configure-time syntax error
28467         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28468         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28469         the empty string.  Don't let that provoke a shell syntax error.
28470
28471         regcomp, regexec, fnmatch: avoid array bounds read error
28472         * lib/regcomp.c (build_equiv_class): From glibc:
28473         Use only the low 24 bits of a findidx return value as an index
28474         into the weights array.  Patch by Ulrich Drepper:
28475         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28476         * lib/regexec.c (check_node_accept_bytes): Likewise.
28477         * lib/fnmatch_loop.c (FCT): Likewise.
28478
28479         regcomp: skip collseq lookup when there are no rules
28480         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28481         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28482
28483         regcomp: recognize ill-formed { } expressions
28484         * lib/regcomp.c (parse_dup_op): From glibc:
28485         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28486
28487         regcomp: fix typo in comment
28488         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28489         s/satisfy/satisfies/.
28490
28491         regcomp: sync from glibc: remove dead store
28492         * lib/regcomp.c (duplicate_node_closure): Remove useless
28493         search_duplicated_node call and dead store.
28494
28495         regcomp: sync from glibc; always use nl_langinfo
28496         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28497         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28498         * modules/regex (Depends-on): Add nl_langinfo.
28499
28500 2010-01-04  Eric Blake  <ebb9@byu.net>
28501
28502         fdopendir: fix configure test
28503         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28504
28505 2010-01-01  Bruno Haible  <bruno@clisp.org>
28506
28507         wchar: Remove unused configure check.
28508         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28509
28510 2010-01-01  Eric Blake  <ebb9@byu.net>
28511
28512         headers: make check of system header explicit
28513         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28514         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28515         ourselves.
28516         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28517         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28518         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28519         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28520         internals.
28521         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28522         missing.
28523         Suggested by Bruno Haible.
28524
28525 2010-01-01  Jim Meyering  <meyering@redhat.com>
28526
28527         ChangeLog: tweak to eliminate unnecessary copyright line
28528         * ChangeLog: Remove a copyright line that was mistakenly updated
28529         by today's update-copyright run.  Reported by Eric Blake.
28530
28531         test-update-copyright: don't let envvar setting cause test failure
28532         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28533
28534 2010-01-01  Bruno Haible  <bruno@clisp.org>
28535
28536         localename: Avoid gcc warning.
28537         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28538         function if it is not used.
28539
28540 2010-01-01  Jim Meyering  <meyering@redhat.com>
28541
28542         update nearly all FSF copyright year lists to include 2010
28543         Use the same procedure as for 2009, outlined in
28544         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28545
28546         version-etc: set COPYRIGHT_YEAR to 2010
28547         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28548
28549 2009-12-31  Eric Blake  <ebb9@byu.net>
28550
28551         doc: correct availability of cygwin 1.5.x getopt
28552         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28553         variables.
28554         * doc/posix-functions/opterr.texi (opterr): Likewise.
28555         * doc/posix-functions/optind.texi (optind): Likewise.
28556         * doc/posix-functions/optopt.texi (optopt): Likewise.
28557         * doc/posix-functions/tzname.texi (tzname): Likewise.
28558
28559         openat: update maintainer
28560         * modules/openat (Maintainer): Add myself.
28561
28562         utimens: avoid shadowing warning
28563         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28564         buffers into one, to avoid shadowing, as well as avoiding a
28565         redundant stat.
28566         Reported by Jim Meyering.
28567
28568         test-dup2: avoid compiler warning
28569         * tests/test-dup2.c (is_inheritable): Only define if used.
28570
28571 2010-01-01  Bruno Haible  <bruno@clisp.org>
28572
28573         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28574         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28575         defined, use wctomb instead of wcrtomb.
28576
28577 2010-01-01  Bruno Haible  <bruno@clisp.org>
28578
28579         iconv: Reject native Solaris iconv.
28580         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28581         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28582
28583 2009-12-31  Bruno Haible  <bruno@clisp.org>
28584
28585         * tests/test-signal.c (main): Remove test of 'SIG'.
28586
28587 2009-12-31  Bruno Haible  <bruno@clisp.org>
28588
28589         spawn: Fix incomplete fix.
28590         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28591         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28592         warnings for GNULIB_POSIXCHECK again.
28593         Reported by Eric Blake.
28594
28595 2009-12-31  Bruno Haible  <bruno@clisp.org>
28596
28597         Avoid namespace pollution on glibc systems.
28598         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28599         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28600         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28601         glibc systems.
28602
28603 2009-12-31  Bruno Haible  <bruno@clisp.org>
28604
28605         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28606         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28607         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28608         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28609         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28610         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28611         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28612
28613 2009-12-31  Bruno Haible  <bruno@clisp.org>
28614
28615         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28616         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28617         afterwards.
28618
28619 2009-12-31  Bruno Haible  <bruno@clisp.org>
28620
28621         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28622         SYS_UTSNAME_H.
28623
28624 2009-12-31  Bruno Haible  <bruno@clisp.org>
28625
28626         spawn: Fix misapplied patch.
28627         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28628         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28629         warnings for GNULIB_POSIXCHECK.
28630
28631 2009-12-31  Bruno Haible  <bruno@clisp.org>
28632
28633         times: Update after sys_times changed.
28634         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28635         * modules/times (Files): Add it.
28636         (configure.ac): Invoke gl_FUNC_TIMES.
28637
28638 2009-12-31  Bruno Haible  <bruno@clisp.org>
28639
28640         Use AC_C_INLINE where necessary.
28641         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28642         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28643         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28644         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28645         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28646         * m4/mbiter.m4 (gl_MBITER): Likewise.
28647         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28648         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28649         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28650         * modules/u64 (configure.ac): Likewise.
28651
28652 2009-12-31  Bruno Haible  <bruno@clisp.org>
28653
28654         Use AC_C_INLINE instead of module 'inline' where possible.
28655         * modules/inline (Description): Clarify purpose.
28656         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28657         * modules/count-one-bits (Depends-on): Remove inline.
28658         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28659         * modules/openat (Depends-on): Remove inline.
28660         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28661         instead of depending on module 'inline'.
28662         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28663         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28664         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28665         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28666         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28667         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28668         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28669         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28670         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28671         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28672         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28673         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28674         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28675         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28676         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28677         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28678         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28679         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28680         Likewise.
28681         * modules/unictype/property-ascii-hex-digit (Depends-on,
28682         configure.ac): Likewise.
28683         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28684         configure.ac): Likewise.
28685         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28686         configure.ac): Likewise.
28687         * modules/unictype/property-bidi-block-separator (Depends-on,
28688         configure.ac): Likewise.
28689         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28690         configure.ac): Likewise.
28691         * modules/unictype/property-bidi-common-separator (Depends-on,
28692         configure.ac): Likewise.
28693         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28694         Likewise.
28695         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28696         configure.ac): Likewise.
28697         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28698         configure.ac): Likewise.
28699         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28700         configure.ac): Likewise.
28701         * modules/unictype/property-bidi-european-digit (Depends-on,
28702         configure.ac): Likewise.
28703         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28704         configure.ac): Likewise.
28705         * modules/unictype/property-bidi-left-to-right (Depends-on,
28706         configure.ac): Likewise.
28707         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28708         configure.ac): Likewise.
28709         * modules/unictype/property-bidi-other-neutral (Depends-on,
28710         configure.ac): Likewise.
28711         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28712         Likewise.
28713         * modules/unictype/property-bidi-segment-separator (Depends-on,
28714         configure.ac): Likewise.
28715         * modules/unictype/property-bidi-whitespace (Depends-on,
28716         configure.ac): Likewise.
28717         * modules/unictype/property-combining (Depends-on, configure.ac):
28718         Likewise.
28719         * modules/unictype/property-composite (Depends-on, configure.ac):
28720         Likewise.
28721         * modules/unictype/property-currency-symbol (Depends-on,
28722         configure.ac): Likewise.
28723         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28724         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28725         Likewise.
28726         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28727         configure.ac): Likewise.
28728         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28729         Likewise.
28730         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28731         Likewise.
28732         * modules/unictype/property-extender (Depends-on, configure.ac):
28733         Likewise.
28734         * modules/unictype/property-format-control (Depends-on, configure.ac):
28735         Likewise.
28736         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28737         Likewise.
28738         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28739         Likewise.
28740         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28741         Likewise.
28742         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28743         Likewise.
28744         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28745         Likewise.
28746         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28747         Likewise.
28748         * modules/unictype/property-id-start (Depends-on, configure.ac):
28749         Likewise.
28750         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28751         Likewise.
28752         * modules/unictype/property-ids-binary-operator (Depends-on,
28753         configure.ac): Likewise.
28754         * modules/unictype/property-ids-trinary-operator (Depends-on,
28755         configure.ac): Likewise.
28756         * modules/unictype/property-ignorable-control (Depends-on,
28757         configure.ac): Likewise.
28758         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28759         Likewise.
28760         * modules/unictype/property-join-control (Depends-on, configure.ac):
28761         Likewise.
28762         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28763         Likewise.
28764         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28765         Likewise.
28766         * modules/unictype/property-logical-order-exception (Depends-on,
28767         configure.ac): Likewise.
28768         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28769         Likewise.
28770         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28771         * modules/unictype/property-non-break (Depends-on, configure.ac):
28772         Likewise.
28773         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28774         Likewise.
28775         * modules/unictype/property-numeric (Depends-on, configure.ac):
28776         Likewise.
28777         * modules/unictype/property-other-alphabetic (Depends-on,
28778         configure.ac): Likewise.
28779         * modules/unictype/property-other-default-ignorable-code-point
28780         (Depends-on, configure.ac): Likewise.
28781         * modules/unictype/property-other-grapheme-extend (Depends-on,
28782         configure.ac): Likewise.
28783         * modules/unictype/property-other-id-continue (Depends-on,
28784         configure.ac): Likewise.
28785         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28786         Likewise.
28787         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28788         Likewise.
28789         * modules/unictype/property-other-math (Depends-on, configure.ac):
28790         Likewise.
28791         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28792         Likewise.
28793         * modules/unictype/property-paired-punctuation (Depends-on,
28794         configure.ac): Likewise.
28795         * modules/unictype/property-paragraph-separator (Depends-on,
28796         configure.ac): Likewise.
28797         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28798         Likewise.
28799         * modules/unictype/property-pattern-white-space (Depends-on,
28800         configure.ac): Likewise.
28801         * modules/unictype/property-private-use (Depends-on, configure.ac):
28802         Likewise.
28803         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28804         Likewise.
28805         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28806         Likewise.
28807         * modules/unictype/property-radical (Depends-on, configure.ac):
28808         Likewise.
28809         * modules/unictype/property-sentence-terminal (Depends-on,
28810         configure.ac): Likewise.
28811         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28812         Likewise.
28813         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28814         * modules/unictype/property-terminal-punctuation (Depends-on,
28815         configure.ac): Likewise.
28816         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28817         Likewise.
28818         * modules/unictype/property-unassigned-code-value (Depends-on,
28819         configure.ac): Likewise.
28820         * modules/unictype/property-unified-ideograph (Depends-on,
28821         configure.ac): Likewise.
28822         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28823         Likewise.
28824         * modules/unictype/property-variation-selector (Depends-on,
28825         configure.ac): Likewise.
28826         * modules/unictype/property-white-space (Depends-on, configure.ac):
28827         Likewise.
28828         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28829         Likewise.
28830         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28831         Likewise.
28832         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28833         Likewise.
28834         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28835         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28836         Likewise.
28837
28838 2009-12-31  Bruno Haible  <bruno@clisp.org>
28839
28840         Remove unnecessary AC_C_INLINE invocation.
28841         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28842         since 2009-08-21.
28843
28844 2009-12-31  Jim Meyering  <meyering@redhat.com>
28845
28846         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28847         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28848         With this change, we can all remove the gpg_key_ID = ... definition
28849         from our respective cfg.mk files.
28850
28851         maint.mk: create announcement template in ~/, not in /tmp
28852         * top/maint.mk (emit_upload_commands): Adjust.
28853         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28854         Remove temporary file, .ci-msg.
28855
28856 2009-12-31  Eric Blake  <ebb9@byu.net>
28857
28858         link-warning: always build headers with link warnings
28859         * modules/arpa_inet (Makefile.am): Always build replacement
28860         header.
28861         * modules/ctype (Makefile.am): Likewise.
28862         * modules/dirent (Makefile.am): Likewise.
28863         * modules/inttypes (Makefile.am): Likewise.
28864         * modules/langinfo (Makefile.am): Likewise.
28865         * modules/locale (Makefile.am): Likewise.
28866         * modules/spawn (Makefile.am): Likewise.
28867         * modules/sys_file (Makefile.am): Likewise.
28868         * modules/sys_ioctl (Makefile.am): Likewise.
28869         * modules/sys_select (Makefile.am): Likewise.
28870         * modules/sys_socket (Makefile.am): Likewise.
28871         * modules/sys_times (Makefile.am): Likewise.
28872         * modules/sys_utsname (Makefile.am): Likewise.
28873         * modules/sys_wait (Makefile.am): Likewise.
28874         * modules/wchar (Makefile.am): Likewise.
28875         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28876         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28877         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28878         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28879         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28880         Likewise.
28881         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28882         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28883         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28884         Likewise.
28885         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28886         Likewise.
28887         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28888         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28889         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28890         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28891         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28892         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28893         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28894         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28895         (gl_WCHAR_H_DEFAULTS): Likewise.
28896
28897 2009-12-31  Eric Blake  <ebb9@byu.net>
28898
28899         signal, spawn: use link warnings
28900         * lib/signal.in.h (sigset_t): Make unconditional.
28901         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28902         (sigpending, sigprocmask, sigaction): Add link warnings.
28903         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28904         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28905         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28906         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28907         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28908         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28909         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28910         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28911         (posix_spawn_file_actions_destroy)
28912         (posix_spawn_file_actions_addopen)
28913         (posix_spawn_file_actions_addclose)
28914         (posix_spawn_file_actions_adddup2): Likewise.
28915         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28916         * tests/test-signal.c (main): Enhance test.
28917
28918         spawn: improve wrapper support
28919         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28920         (gl_SPAWN_H_DEFAULTS): New defaults.
28921         * modules/spawn (Makefile.am): Substitute them.
28922         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28923         Only declare if missing or broken.
28924
28925         sys_times, sys_utsname: use include_next
28926         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
28927         header.
28928         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
28929         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28930         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28931         * modules/sys_times (Depends-on): Add include_next.
28932         (Makefile.am): Substitute additional values.
28933         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28934         * lib/sys_times.in.h (includes): Include native header, if
28935         available.
28936         * lib/sys_utsname.in.h (includes): Likewise.
28937         * tests/test-sys_times.c (main): Enhance test.
28938
28939         fdutimensat: revert prior patch
28940         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
28941         utimens.h.
28942         Reported by Bruno Haible.
28943
28944 2009-12-30  Eric Blake  <ebb9@byu.net>
28945
28946         sys_wait: drop link-warning dependency
28947         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
28948         link-warning efforts.
28949         * lib/sys_wait.in.h: Likewise.
28950
28951         fdutimensat: remove bogus dependency
28952         * modules/fdutimensat (Depends-on): Drop inline.
28953
28954         unistd: fix typo
28955         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
28956
28957 2009-12-30  Bruno Haible  <bruno@clisp.org>
28958
28959         Fix compilation error with Solaris cc.
28960         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
28961         * lib/unicase/u16-is-invariant.c: Likewise.
28962         * lib/unicase/u32-is-invariant.c: Likewise.
28963         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28964
28965 2009-12-30  Bruno Haible  <bruno@clisp.org>
28966
28967         Fix test crash.
28968         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
28969         locales.
28970         Reported by Simon Josefsson <simon@josefsson.org>.
28971
28972 2009-12-30  Bruno Haible  <bruno@clisp.org>
28973
28974         Fix compilation error on most platforms.
28975         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
28976         Reported by Simon Josefsson <simon@josefsson.org>
28977         and Nelson H. F. Beebe <beebe@math.utah.edu>.
28978
28979 2009-12-30  Eric Blake  <ebb9@byu.net>
28980
28981         futimens, utimensat: work around ntfs-3g bug
28982         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
28983         a ctime bug is present, and expand workaround to cover ntfs-3g.
28984         * lib/utimens.c (fdutimens, lutimens): Likewise.
28985         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
28986         (validate_timespec): Adjust return value.
28987         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
28988         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28989         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
28990
28991 2009-12-29  Eric Blake  <ebb9@byu.net>
28992
28993         link-warning: make usage consistent
28994         * modules/ctype (Depends-on): Add link-warning.
28995         (Makefile.am): Update rules accordingly.
28996         * modules/langinfo (Depends-on, Makefile.am): Likewise.
28997         * modules/locale (Depends-on, Makefile.am): Likewise.
28998         * modules/sys_file (Makefile.am): Likewise.
28999         * modules/getopt-posix (Makefile.am): Delete unused link warning
29000         efforts.
29001         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29002         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29003         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29004         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29005
29006         stdio: remove unused variables
29007         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29008         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29009         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29010
29011         tests: test more substitute headers
29012         * modules/ctype-tests: New file.
29013         * modules/dirent-tests: Likewise.
29014         * modules/spawn-tests: Likewise.
29015         * modules/sys_file-tests: Likewise.
29016         * modules/sys_ioctl-tests: Likewise.
29017         * modules/sys_wait-tests: Likewise.
29018         * tests/test-ctype.c: Likewise.
29019         * tests/test-dirent.c: Likewise.
29020         * tests/test-spawn.c: Likewise.
29021         * tests/test-sys_file.c: Likewise.
29022         * tests/test-sys_ioctl.c: Likewise.
29023         * tests/test-sys_wait.c: Likewise.
29024         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29025         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29026         whether or not flock is in use.
29027
29028         tests: remove License section from module
29029         * modules/arpa_inet-tests: Remove unneeded section.
29030         * modules/byteswap-tests: Likewise.
29031         * modules/ceilf-tests: Likewise.
29032         * modules/ceill-tests: Likewise.
29033         * modules/crypto/des-tests: Likewise.
29034         * modules/crypto/gc-arcfour-tests: Likewise.
29035         * modules/crypto/gc-arctwo-tests: Likewise.
29036         * modules/crypto/gc-des-tests: Likewise.
29037         * modules/crypto/gc-hmac-md5-tests: Likewise.
29038         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29039         * modules/crypto/gc-md2-tests: Likewise.
29040         * modules/crypto/gc-md4-tests: Likewise.
29041         * modules/crypto/gc-md5-tests: Likewise.
29042         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29043         * modules/crypto/gc-rijndael-tests: Likewise.
29044         * modules/crypto/gc-sha1-tests: Likewise.
29045         * modules/crypto/gc-tests: Likewise.
29046         * modules/crypto/md2-tests: Likewise.
29047         * modules/crypto/md4-tests: Likewise.
29048         * modules/fcntl-h-tests: Likewise.
29049         * modules/floorf-tests: Likewise.
29050         * modules/floorl-tests: Likewise.
29051         * modules/frexp-nolibm-tests: Likewise.
29052         * modules/frexp-tests: Likewise.
29053         * modules/frexpl-nolibm-tests: Likewise.
29054         * modules/frexpl-tests: Likewise.
29055         * modules/getaddrinfo-tests: Likewise.
29056         * modules/inttypes-tests: Likewise.
29057         * modules/isfinite-tests: Likewise.
29058         * modules/isinf-tests: Likewise.
29059         * modules/ldexpl-tests: Likewise.
29060         * modules/locale-tests: Likewise.
29061         * modules/math-tests: Likewise.
29062         * modules/netdb-tests: Likewise.
29063         * modules/netinet_in-tests: Likewise.
29064         * modules/printf-frexp-tests: Likewise.
29065         * modules/printf-frexpl-tests: Likewise.
29066         * modules/priv-set-tests: Likewise.
29067         * modules/random_r-tests: Likewise.
29068         * modules/round-tests: Likewise.
29069         * modules/roundf-tests: Likewise.
29070         * modules/roundl-tests: Likewise.
29071         * modules/search-tests: Likewise.
29072         * modules/select-tests: Likewise.
29073         * modules/signal-tests: Likewise.
29074         * modules/stdbool-tests: Likewise.
29075         * modules/stddef-tests: Likewise.
29076         * modules/stdint-tests: Likewise.
29077         * modules/stdio-tests: Likewise.
29078         * modules/stdlib-tests: Likewise.
29079         * modules/string-tests: Likewise.
29080         * modules/strings-tests: Likewise.
29081         * modules/sys_select-tests: Likewise.
29082         * modules/sys_socket-tests: Likewise.
29083         * modules/sys_stat-tests: Likewise.
29084         * modules/sys_time-tests: Likewise.
29085         * modules/sys_utsname-tests: Likewise.
29086         * modules/sysexits-tests: Likewise.
29087         * modules/time-tests: Likewise.
29088         * modules/trunc-tests: Likewise.
29089         * modules/truncf-tests: Likewise.
29090         * modules/truncl-tests: Likewise.
29091         * modules/tsearch-tests: Likewise.
29092         * modules/unistd-tests: Likewise.
29093         * modules/wchar-tests: Likewise.
29094         * modules/wctype-tests: Likewise.
29095
29096         tests: fix license on several tests
29097         * tests/test-des.c: Update to GPLv3+.
29098         * tests/test-flock.c: Likewise.
29099         * tests/test-fsync.c: Likewise.
29100         * tests/test-futimens.h: Likewise.
29101         * tests/test-gc-arcfour.c: Likewise.
29102         * tests/test-gc-arctwo.c: Likewise.
29103         * tests/test-gc-des.c: Likewise.
29104         * tests/test-gc-hmac-md5.c: Likewise.
29105         * tests/test-gc-hmac-sha1.c: Likewise.
29106         * tests/test-gc-md2.c: Likewise.
29107         * tests/test-gc-md4.c: Likewise.
29108         * tests/test-gc-md5.c: Likewise.
29109         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29110         * tests/test-gc-rijndael.c: Likewise.
29111         * tests/test-gc-sha1.c: Likewise.
29112         * tests/test-gc.c: Likewise.
29113         * tests/test-getcwd.c: Likewise.
29114         * tests/test-link.c: Likewise.
29115         * tests/test-link.h: Likewise.
29116         * tests/test-lutimens.h: Likewise.
29117         * tests/test-md2.c: Likewise.
29118         * tests/test-md4.c: Likewise.
29119         * tests/test-mkdir.h: Likewise.
29120         * tests/test-rename.c: Likewise.
29121         * tests/test-rename.h: Likewise.
29122         * tests/test-safe-alloc.c: Likewise.
29123         * tests/test-utimens-common.h: Likewise.
29124         * tests/test-utimens.h: Likewise.
29125
29126         maint: sync license texts
29127         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29128         * doc/gpl-3.0.texi: Revert copyright year update.
29129         * doc/lgpl-3.0.texi: Likewise.
29130
29131 2009-12-29  Jim Meyering  <meyering@redhat.com>
29132
29133         update nearly all FSF copyright year lists to include 2009
29134         The files named by the following are exempted:
29135             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29136               test -f "$dst" && { echo "$dst"; continue; }
29137               test -d "$dst" || continue
29138               echo "$dst"/$(basename "$src")
29139             done > exempt
29140             git ls-files tests/unictype >> exempt
29141         In the remaining files, convert to all-interval notation if
29142         - there is already at least one year interval like 2000-2003
29143         - the file is maintained by me
29144         - the file is in lib/uni*/, where that style already prevails
29145         Otherwise, use update-copyright's default.
29146
29147 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29148         and Eric Blake  <ebb9@byu.net>
29149
29150         tests: don't require debug system() to pass
29151         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29152         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29153         * tests/test-unlink.h (test_unlink_func): Likewise.
29154         * tests/test-fstatat.c (main): ...into callers.
29155         * tests/test-lstat.c (main): Likewise.
29156         * tests/test-rmdir.c (main): Likewise.
29157         * tests/test-unlink.c (main): Likewise.
29158         * tests/test-unlinkat.c (main): Likewise.
29159         * tests/test-areadlink-with-size.c (main): Don't require a
29160         debug-only system call to pass, aiding cross-testing to mingw.
29161         * tests/test-areadlink.c (main): Likewise.
29162         * tests/test-areadlinkat-with-size.c (main): Likewise.
29163         * tests/test-areadlinkat.c (main): Likewise.
29164         * tests/test-canonicalize-lgpl.c (main): Likewise.
29165         * tests/test-canonicalize.c (main): Likewise.
29166         * tests/test-chown.c (main): Likewise.
29167         * tests/test-fchownat.c (main): Likewise.
29168         * tests/test-lchown.c (main): Likewise.
29169         * tests/test-fdutimensat.c (main): Likewise.
29170         * tests/test-futimens.c (main): Likewise.
29171         * tests/test-link.c (main): Likewise.
29172         * tests/test-linkat.c (main): Likewise.
29173         * tests/test-mkdir.c (main): Likewise.
29174         * tests/test-mkdirat.c (main): Likewise.
29175         * tests/test-mkfifo.c (main): Likewise.
29176         * tests/test-mkfifoat.c (main): Likewise.
29177         * tests/test-mknod.c (main): Likewise.
29178         * tests/test-readlink.c (main): Likewise.
29179         * tests/test-remove.c (main): Likewise.
29180         * tests/test-rename.c (main): Likewise.
29181         * tests/test-renameat.c (main): Likewise.
29182         * tests/test-symlink.c (main): Likewise.
29183         * tests/test-symlinkat.c (main): Likewise.
29184         * tests/test-utimens.c (main): Likewise.
29185         * tests/test-utimensat.c (main): Likewise.
29186
29187 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29188
29189         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29190         on $(UNUSED_PARAMETER_H) to avoid build failure.
29191
29192 2009-12-28  Jim Meyering  <meyering@redhat.com>
29193
29194         update-copyright: you may specify a max. line length other than 72
29195         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29196
29197         maint: use consistent FSF copyright line syntax
29198         * lib/posixtm.c: Add missing comma in FSF copyright line.
29199         * lib/posixtm.h: Likewise.
29200         * lib/getugroups.c: Add missing ", Inc.".
29201
29202         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29203         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29204         FSF copyright line.  Remove trailing blanks.
29205
29206 2009-12-28  Eric Blake  <ebb9@byu.net>
29207
29208         test-dup2: reduce dependencies
29209         * modules/cloexec (Configure.ac): Set witness.
29210         * modules/dup2-tests (Depends-on): Drop cloexec.
29211         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29212         not present.
29213         Suggested by Bruno Haible.
29214
29215 2009-12-26  Bruno Haible  <bruno@clisp.org>
29216
29217         Remove an unneeded dependency.
29218         * modules/fseterr (Depends-on): Remove dup2.
29219
29220 2009-12-26  Eric Blake  <ebb9@byu.net>
29221
29222         tests: use macros.h in more places
29223         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29224         (ASSERT_STREAM): Provide default of stderr.
29225         * tests/test-dirent-safer.c: Include macros.h, using alternate
29226         stream for assertions.
29227         * tests/test-dup-safer.c: Likewise.
29228         * tests/test-freopen-safer.c: Likewise.
29229         * tests/test-getopt.c: Likewise.
29230         * tests/test-openat-safer.c: Likewise.
29231         * tests/test-pipe.c: Likewise.
29232         * tests/test-popen-safer.c: Likewise.
29233         * modules/dirent-safer-tests (Files): Include macros.h.
29234         * modules/unistd-safer-tests (Files): Likewise.
29235         * modules/freopen-safer-tests (Files): Likewise.
29236         * modules/getopt-posix-tests (Files): Likewise.
29237         * modules/openat-safer-tests (Files): Likewise.
29238         * modules/pipe-tests (Files): Likewise.
29239
29240 2009-12-26  Bruno Haible  <bruno@clisp.org>
29241
29242         javacomp: Portability fix.
29243         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29244         that it also works on Solaris.
29245
29246 2009-12-26  Bruno Haible  <bruno@clisp.org>
29247
29248         localename: Fix storage allocation of gl_locale_name_thread's result.
29249         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29250         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29251         all platforms that have 'uselocale'.
29252         (gl_locale_name_thread_unsafe): New function, extracted from
29253         gl_locale_name_thread.
29254         (gl_locale_name_thread): Call struniq on all platforms that have
29255         'uselocale'.
29256         * tests/test-localename.c (test_locale_name_thread): Check that the
29257         resulting strings are permanently allocated.
29258         * modules/localename-tests (Depends-on): Add strdup.
29259
29260 2009-12-26  Bruno Haible  <bruno@clisp.org>
29261
29262         * tests/test-localename.c (categories): Fill in the strings.
29263
29264 2009-12-26  Jim Meyering  <meyering@redhat.com>
29265
29266         isdir: complete the removal of m4/isdir.m4
29267         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29268
29269         isdir: clean up, since at least grep still uses it
29270         * lib/isdir.c: Include "isdir.h".
29271         (S_ISDIR): Remove now-unneeded definition.
29272         * modules/isdir (Files): Add lib/isdir.h.
29273         * lib/isdir.h: New file, with declaration.
29274         * m4/isdir.m4: Remove file -- unneeded.
29275
29276 2009-12-25  Bruno Haible  <bruno@clisp.org>
29277
29278         selinux-h: Make generated .h files standalone.
29279         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29280         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29281         * lib/se-selinux.in.h: Likewise.
29282         * modules/selinux-h (Depends-on): Add unused-parameter.
29283         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29284         selinux/selinux.h and selinux/context.h.
29285         Suggested by Eric Blake.
29286
29287 2009-12-25  Bruno Haible  <bruno@clisp.org>
29288
29289         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29290         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29291         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29292         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29293         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29294
29295 2009-12-24  Bruno Haible  <bruno@clisp.org>
29296
29297         openat: Fix warning.
29298         * lib/openat-proc.c: Include <unistd.h>.
29299
29300 2009-12-24  Bruno Haible  <bruno@clisp.org>
29301
29302         New module 'unused-parameter'.
29303         * build-aux/unused-parameter.h: New file, extracted from earlier
29304         gnulib-common.m4.
29305         * modules/unused-parameter: New file.
29306         * lib/unistr.h: Include unused-parameter.h.
29307         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29308         _GL_UNUSED.
29309         * modules/unistr/base (Depends-on): Add unused-parameter.
29310
29311 2009-12-24  Bruno Haible  <bruno@clisp.org>
29312
29313         Add missing dependencies to 'extensions' module.
29314         * m4/extensions.m4: Add comment.
29315         * modules/accept4 (Depends-on): Add extensions.
29316         * modules/dup3 (Depends-on): Likewise.
29317         * modules/fcntl (Depends-on): Likewise.
29318         * modules/futimens (Depends-on): Likewise.
29319         * modules/mknod (Depends-on): Likewise.
29320         * modules/pipe2 (Depends-on): Likewise.
29321         * modules/stat-time (Depends-on): Likewise.
29322         * modules/strcasestr-simple (Depends-on): Likewise.
29323         * modules/strsignal (Depends-on): Likewise.
29324         * modules/utimensat (Depends-on): Likewise.
29325         * modules/localcharset (Depends-on): Likewise. Needed because of
29326         gl_FCNTL_O_FLAGS.
29327         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29328         AC_TYPE_MBSTATE_T.
29329         * modules/wcsnrtombs (Depends-on): Likewise.
29330         * modules/wcsrtombs (Depends-on): Likewise.
29331
29332 2009-12-24  Bruno Haible  <bruno@clisp.org>
29333
29334         binary-io: Avoid gcc warning due to SET_BINARY.
29335         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29336         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29337
29338 2009-12-24  Bruno Haible  <bruno@clisp.org>
29339
29340         Avoid future namespace pollution on glibc systems.
29341         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29342         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29343         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29344         glibc systems.
29345
29346 2009-12-24  Bruno Haible  <bruno@clisp.org>
29347
29348         Refactor common macros used in tests.
29349         * tests/macros.h: New file.
29350         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29351         and/or <stdlib.h>, if appropriate.
29352         (ASSERT, SIZEOF): Remove macros.
29353         * tests/test-areadlink-with-size.c: Likewise.
29354         * tests/test-areadlinkat.c: Likewise.
29355         * tests/test-areadlinkat-with-size.c: Likewise.
29356         * tests/test-argmatch.c: Likewise.
29357         * tests/test-argv-iter.c: Likewise.
29358         * tests/test-array-mergesort.c: Likewise.
29359         * tests/test-array_list.c: Likewise.
29360         * tests/test-array_oset.c: Likewise.
29361         * tests/test-avltree_list.c: Likewise.
29362         * tests/test-avltree_oset.c: Likewise.
29363         * tests/test-avltreehash_list.c: Likewise.
29364         * tests/test-base64.c: Likewise.
29365         * tests/test-binary-io.c: Likewise.
29366         * tests/test-bitrotate.c: Likewise.
29367         * tests/test-btowc.c: Likewise.
29368         * tests/test-byteswap.c: Likewise.
29369         * tests/test-c-ctype.c: Likewise.
29370         * tests/test-c-stack.c: Likewise.
29371         * tests/test-c-strcasecmp.c: Likewise.
29372         * tests/test-c-strcasestr.c: Likewise.
29373         * tests/test-c-strncasecmp.c: Likewise.
29374         * tests/test-c-strstr.c: Likewise.
29375         * tests/test-canonicalize-lgpl.c: Likewise.
29376         * tests/test-canonicalize.c: Likewise.
29377         * tests/test-carray_list.c: Likewise.
29378         * tests/test-ceilf1.c: Likewise.
29379         * tests/test-ceilf2.c: Likewise.
29380         * tests/test-ceill.c: Likewise.
29381         * tests/test-chown.c: Likewise.
29382         * tests/test-cloexec.c: Likewise.
29383         * tests/test-copy-acl.c: Likewise.
29384         * tests/test-copy-file.c: Likewise.
29385         * tests/test-count-one-bits.c: Likewise.
29386         * tests/test-dprintf-posix.c: Likewise.
29387         * tests/test-dup2.c: Likewise.
29388         * tests/test-dup3.c: Likewise.
29389         * tests/test-duplocale.c: Likewise.
29390         * tests/test-fbufmode.c: Likewise.
29391         * tests/test-fchdir.c: Likewise.
29392         * tests/test-fchownat.c: Likewise.
29393         * tests/test-fcntl-safer.c: Likewise.
29394         * tests/test-fcntl.c: Likewise.
29395         * tests/test-fdopendir.c: Likewise.
29396         * tests/test-fdutimensat.c: Likewise.
29397         * tests/test-fflush2.c: Likewise.
29398         * tests/test-file-has-acl.c: Likewise.
29399         * tests/test-filevercmp.c: Likewise.
29400         * tests/test-flock.c: Likewise.
29401         * tests/test-floorf1.c: Likewise.
29402         * tests/test-floorf2.c: Likewise.
29403         * tests/test-floorl.c: Likewise.
29404         * tests/test-fnmatch.c: Likewise.
29405         * tests/test-fopen.h: Likewise.
29406         * tests/test-fpending.c: Likewise.
29407         * tests/test-fprintf-posix.c: Likewise.
29408         * tests/test-fpurge.c: Likewise.
29409         * tests/test-freadable.c: Likewise.
29410         * tests/test-freadahead.c: Likewise.
29411         * tests/test-freading.c: Likewise.
29412         * tests/test-freadptr.c: Likewise.
29413         * tests/test-freadptr2.c: Likewise.
29414         * tests/test-freadseek.c: Likewise.
29415         * tests/test-freopen.c: Likewise.
29416         * tests/test-frexp.c: Likewise.
29417         * tests/test-frexpl.c: Likewise.
29418         * tests/test-fseek.c: Likewise.
29419         * tests/test-fseeko.c: Likewise.
29420         * tests/test-fstatat.c: Likewise.
29421         * tests/test-fstrcmp.c: Likewise.
29422         * tests/test-fsync.c: Likewise.
29423         * tests/test-ftell.c: Likewise.
29424         * tests/test-ftello.c: Likewise.
29425         * tests/test-func.c: Likewise.
29426         * tests/test-futimens.c: Likewise.
29427         * tests/test-fwritable.c: Likewise.
29428         * tests/test-fwriting.c: Likewise.
29429         * tests/test-getcwd.c: Likewise.
29430         * tests/test-getdate.c: Likewise.
29431         * tests/test-getdelim.c: Likewise.
29432         * tests/test-getdtablesize.c: Likewise.
29433         * tests/test-getgroups.c: Likewise.
29434         * tests/test-getline.c: Likewise.
29435         * tests/test-getndelim2.c: Likewise.
29436         * tests/test-glob.c: Likewise.
29437         * tests/test-hash.c: Likewise.
29438         * tests/test-i-ring.c: Likewise.
29439         * tests/test-iconv-utf.c: Likewise.
29440         * tests/test-iconv.c: Likewise.
29441         * tests/test-idpriv-drop.c: Likewise.
29442         * tests/test-idpriv-droptemp.c: Likewise.
29443         * tests/test-inet_ntop.c: Likewise.
29444         * tests/test-inet_pton.c: Likewise.
29445         * tests/test-isblank.c: Likewise.
29446         * tests/test-isfinite.c: Likewise.
29447         * tests/test-isinf.c: Likewise.
29448         * tests/test-isnan.c: Likewise.
29449         * tests/test-isnand.h: Likewise.
29450         * tests/test-isnanf.h: Likewise.
29451         * tests/test-isnanl.h: Likewise.
29452         * tests/test-lchown.c: Likewise.
29453         * tests/test-ldexpl.c: Likewise.
29454         * tests/test-link.c: Likewise.
29455         * tests/test-linkat.c: Likewise.
29456         * tests/test-linked_list.c: Likewise.
29457         * tests/test-linkedhash_list.c: Likewise.
29458         * tests/test-localename.c: Likewise.
29459         * tests/test-lseek.c: Likewise.
29460         * tests/test-lstat.c: Likewise.
29461         * tests/test-mbmemcasecmp.c: Likewise.
29462         * tests/test-mbmemcasecoll.c: Likewise.
29463         * tests/test-mbrtowc.c: Likewise.
29464         * tests/test-mbscasecmp.c: Likewise.
29465         * tests/test-mbscasestr1.c: Likewise.
29466         * tests/test-mbscasestr2.c: Likewise.
29467         * tests/test-mbscasestr3.c: Likewise.
29468         * tests/test-mbscasestr4.c: Likewise.
29469         * tests/test-mbschr.c: Likewise.
29470         * tests/test-mbscspn.c: Likewise.
29471         * tests/test-mbsinit.c: Likewise.
29472         * tests/test-mbsncasecmp.c: Likewise.
29473         * tests/test-mbsnrtowcs.c: Likewise.
29474         * tests/test-mbspbrk.c: Likewise.
29475         * tests/test-mbspcasecmp.c: Likewise.
29476         * tests/test-mbsrchr.c: Likewise.
29477         * tests/test-mbsrtowcs.c: Likewise.
29478         * tests/test-mbsspn.c: Likewise.
29479         * tests/test-mbsstr1.c: Likewise.
29480         * tests/test-mbsstr2.c: Likewise.
29481         * tests/test-mbsstr3.c: Likewise.
29482         * tests/test-memchr.c: Likewise.
29483         * tests/test-memchr2.c: Likewise.
29484         * tests/test-memcmp.c: Likewise.
29485         * tests/test-memmem.c: Likewise.
29486         * tests/test-memrchr.c: Likewise.
29487         * tests/test-mkdir.c: Likewise.
29488         * tests/test-mkdirat.c: Likewise.
29489         * tests/test-mkfifo.c: Likewise.
29490         * tests/test-mkfifoat.c: Likewise.
29491         * tests/test-mknod.c: Likewise.
29492         * tests/test-nanosleep.c: Likewise.
29493         * tests/test-nl_langinfo.c: Likewise.
29494         * tests/test-obstack-printf.c: Likewise.
29495         * tests/test-open.c: Likewise.
29496         * tests/test-openat.c: Likewise.
29497         * tests/test-pipe-filter-gi1.c: Likewise.
29498         * tests/test-pipe-filter-gi2-main.c: Likewise.
29499         * tests/test-pipe-filter-ii1.c: Likewise.
29500         * tests/test-pipe-filter-ii2-main.c: Likewise.
29501         * tests/test-pipe2.c: Likewise.
29502         * tests/test-popen.h: Likewise.
29503         * tests/test-posixtm.c: Likewise.
29504         * tests/test-pread.c: Likewise.
29505         * tests/test-printf-frexp.c: Likewise.
29506         * tests/test-printf-frexpl.c: Likewise.
29507         * tests/test-printf-posix.c: Likewise.
29508         * tests/test-priv-set.c: Likewise.
29509         * tests/test-quotearg.c: Likewise.
29510         * tests/test-random_r.c: Likewise.
29511         * tests/test-rawmemchr.c: Likewise.
29512         * tests/test-rbtree_list.c: Likewise.
29513         * tests/test-rbtree_oset.c: Likewise.
29514         * tests/test-rbtreehash_list.c: Likewise.
29515         * tests/test-readlink.c: Likewise.
29516         * tests/test-remove.c: Likewise.
29517         * tests/test-rename.c: Likewise.
29518         * tests/test-renameat.c: Likewise.
29519         * tests/test-rmdir.c: Likewise.
29520         * tests/test-round1.c: Likewise.
29521         * tests/test-roundf1.c: Likewise.
29522         * tests/test-roundl.c: Likewise.
29523         * tests/test-safe-alloc.c: Likewise.
29524         * tests/test-sameacls.c: Likewise.
29525         * tests/test-set-mode-acl.c: Likewise.
29526         * tests/test-setenv.c: Likewise.
29527         * tests/test-sigaction.c: Likewise.
29528         * tests/test-signbit.c: Likewise.
29529         * tests/test-sleep.c: Likewise.
29530         * tests/test-snprintf-posix.c: Likewise.
29531         * tests/test-snprintf.c: Likewise.
29532         * tests/test-sprintf-posix.c: Likewise.
29533         * tests/test-stat-time.c: Likewise.
29534         * tests/test-stat.c: Likewise.
29535         * tests/test-strcasestr.c: Likewise.
29536         * tests/test-strchrnul.c: Likewise.
29537         * tests/test-strerror.c: Likewise.
29538         * tests/test-striconv.c: Likewise.
29539         * tests/test-striconveh.c: Likewise.
29540         * tests/test-striconveha.c: Likewise.
29541         * tests/test-strsignal.c: Likewise.
29542         * tests/test-strstr.c: Likewise.
29543         * tests/test-strtod.c: Likewise.
29544         * tests/test-strverscmp.c: Likewise.
29545         * tests/test-symlink.c: Likewise.
29546         * tests/test-symlinkat.c: Likewise.
29547         * tests/test-trunc1.c: Likewise.
29548         * tests/test-trunc2.c: Likewise.
29549         * tests/test-truncf1.c: Likewise.
29550         * tests/test-truncf2.c: Likewise.
29551         * tests/test-truncl.c: Likewise.
29552         * tests/test-uname.c: Likewise.
29553         * tests/test-unlink.c: Likewise.
29554         * tests/test-unlinkat.c: Likewise.
29555         * tests/test-unsetenv.c: Likewise.
29556         * tests/test-usleep.c: Likewise.
29557         * tests/test-utimens.c: Likewise.
29558         * tests/test-utimensat.c: Likewise.
29559         * tests/test-vasnprintf-posix.c: Likewise.
29560         * tests/test-vasnprintf-posix2.c: Likewise.
29561         * tests/test-vasnprintf.c: Likewise.
29562         * tests/test-vasprintf-posix.c: Likewise.
29563         * tests/test-vasprintf.c: Likewise.
29564         * tests/test-vdprintf-posix.c: Likewise.
29565         * tests/test-vfprintf-posix.c: Likewise.
29566         * tests/test-vprintf-posix.c: Likewise.
29567         * tests/test-vsnprintf-posix.c: Likewise.
29568         * tests/test-vsnprintf.c: Likewise.
29569         * tests/test-vsprintf-posix.c: Likewise.
29570         * tests/test-wcrtomb.c: Likewise.
29571         * tests/test-wcsnrtombs.c: Likewise.
29572         * tests/test-wcsrtombs.c: Likewise.
29573         * tests/test-wctype.c: Likewise.
29574         * tests/test-wcwidth.c: Likewise.
29575         * tests/test-xfprintf-posix.c: Likewise.
29576         * tests/test-xmemdup0.c: Likewise.
29577         * tests/test-xprintf-posix.c: Likewise.
29578         * tests/test-xvasprintf.c: Likewise.
29579         * tests/unicase/test-locale-language.c: Likewise.
29580         * tests/unicase/test-mapping-part1.h: Likewise.
29581         * tests/unicase/test-predicate-part1.h: Likewise.
29582         * tests/unicase/test-u8-casecmp.c: Likewise.
29583         * tests/unicase/test-u8-casecoll.c: Likewise.
29584         * tests/unicase/test-u8-casefold.c: Likewise.
29585         * tests/unicase/test-u8-is-cased.c: Likewise.
29586         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29587         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29588         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29589         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29590         * tests/unicase/test-u8-tolower.c: Likewise.
29591         * tests/unicase/test-u8-totitle.c: Likewise.
29592         * tests/unicase/test-u8-toupper.c: Likewise.
29593         * tests/unicase/test-u16-casecmp.c: Likewise.
29594         * tests/unicase/test-u16-casecoll.c: Likewise.
29595         * tests/unicase/test-u16-casefold.c: Likewise.
29596         * tests/unicase/test-u16-is-cased.c: Likewise.
29597         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29598         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29599         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29600         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29601         * tests/unicase/test-u16-tolower.c: Likewise.
29602         * tests/unicase/test-u16-totitle.c: Likewise.
29603         * tests/unicase/test-u16-toupper.c: Likewise.
29604         * tests/unicase/test-u32-casecmp.c: Likewise.
29605         * tests/unicase/test-u32-casecoll.c: Likewise.
29606         * tests/unicase/test-u32-casefold.c: Likewise.
29607         * tests/unicase/test-u32-is-cased.c: Likewise.
29608         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29609         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29610         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29611         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29612         * tests/unicase/test-u32-tolower.c: Likewise.
29613         * tests/unicase/test-u32-totitle.c: Likewise.
29614         * tests/unicase/test-u32-toupper.c: Likewise.
29615         * tests/unicase/test-ulc-casecmp.c: Likewise.
29616         * tests/unicase/test-ulc-casecoll.c: Likewise.
29617         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29618         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29619         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29620         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29621         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29622         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29623         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29624         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29625         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29626         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29627         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29628         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29629         * tests/unictype/test-bidi_byname.c: Likewise.
29630         * tests/unictype/test-bidi_name.c: Likewise.
29631         * tests/unictype/test-bidi_of.c: Likewise.
29632         * tests/unictype/test-bidi_test.c: Likewise.
29633         * tests/unictype/test-block_list.c: Likewise.
29634         * tests/unictype/test-block_of.c: Likewise.
29635         * tests/unictype/test-block_test.c: Likewise.
29636         * tests/unictype/test-categ_and.c: Likewise.
29637         * tests/unictype/test-categ_and_not.c: Likewise.
29638         * tests/unictype/test-categ_byname.c: Likewise.
29639         * tests/unictype/test-categ_name.c: Likewise.
29640         * tests/unictype/test-categ_none.c: Likewise.
29641         * tests/unictype/test-categ_of.c: Likewise.
29642         * tests/unictype/test-categ_or.c: Likewise.
29643         * tests/unictype/test-categ_test_withtable.c: Likewise.
29644         * tests/unictype/test-combining.c: Likewise.
29645         * tests/unictype/test-decdigit.c: Likewise.
29646         * tests/unictype/test-digit.c: Likewise.
29647         * tests/unictype/test-mirror.c: Likewise.
29648         * tests/unictype/test-numeric.c: Likewise.
29649         * tests/unictype/test-pr_byname.c: Likewise.
29650         * tests/unictype/test-pr_test.c: Likewise.
29651         * tests/unictype/test-predicate-part1.h: Likewise.
29652         * tests/unictype/test-scripts.c: Likewise.
29653         * tests/unictype/test-sy_c_ident.c: Likewise.
29654         * tests/unictype/test-sy_java_ident.c: Likewise.
29655         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29656         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29657         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29658         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29659         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29660         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29661         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29662         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29663         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29664         * tests/uninorm/test-compat-decomposition.c: Likewise.
29665         * tests/uninorm/test-composition.c: Likewise.
29666         * tests/uninorm/test-decomposing-form.c: Likewise.
29667         * tests/uninorm/test-decomposition.c: Likewise.
29668         * tests/uninorm/test-u8-nfc.c: Likewise.
29669         * tests/uninorm/test-u8-nfd.c: Likewise.
29670         * tests/uninorm/test-u8-nfkc.c: Likewise.
29671         * tests/uninorm/test-u8-nfkd.c: Likewise.
29672         * tests/uninorm/test-u8-normcmp.c: Likewise.
29673         * tests/uninorm/test-u8-normcoll.c: Likewise.
29674         * tests/uninorm/test-u16-nfc.c: Likewise.
29675         * tests/uninorm/test-u16-nfd.c: Likewise.
29676         * tests/uninorm/test-u16-nfkc.c: Likewise.
29677         * tests/uninorm/test-u16-nfkd.c: Likewise.
29678         * tests/uninorm/test-u16-normcmp.c: Likewise.
29679         * tests/uninorm/test-u16-normcoll.c: Likewise.
29680         * tests/uninorm/test-u32-nfc.c: Likewise.
29681         * tests/uninorm/test-u32-nfd.c: Likewise.
29682         * tests/uninorm/test-u32-nfkc.c: Likewise.
29683         * tests/uninorm/test-u32-nfkd.c: Likewise.
29684         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29685         * tests/uninorm/test-u32-normcmp.c: Likewise.
29686         * tests/uninorm/test-u32-normcoll.c: Likewise.
29687         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29688         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29689         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29690         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29691         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29692         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29693         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29694         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29695         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29696         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29697         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29698         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29699         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29700         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29701         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29702         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29703         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29704         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29705         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29706         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29707         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29708         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29709         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29710         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29711         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29712         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29713         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29714         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29715         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29716         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29717         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29718         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29719         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29720         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29721         * tests/uniwidth/test-u8-width.c: Likewise.
29722         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29723         * tests/uniwidth/test-u16-width.c: Likewise.
29724         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29725         * tests/uniwidth/test-u32-width.c: Likewise.
29726         * tests/uniwidth/test-uc_width.c: Likewise.
29727         * tests/uniwidth/test-uc_width2.c: Likewise.
29728         * modules/acl-tests (Files): Add tests/macros.h.
29729         * modules/areadlink-tests (Files): Likewise.
29730         * modules/areadlink-with-size-tests (Files): Likewise.
29731         * modules/areadlinkat-tests (Files): Likewise.
29732         * modules/areadlinkat-with-size-tests (Files): Likewise.
29733         * modules/argmatch-tests (Files): Likewise.
29734         * modules/argv-iter-tests (Files): Likewise.
29735         * modules/array-list-tests (Files): Likewise.
29736         * modules/array-mergesort-tests (Files): Likewise.
29737         * modules/array-oset-tests (Files): Likewise.
29738         * modules/avltree-list-tests (Files): Likewise.
29739         * modules/avltree-oset-tests (Files): Likewise.
29740         * modules/avltreehash-list-tests (Files): Likewise.
29741         * modules/base64-tests (Files): Likewise.
29742         * modules/binary-io-tests (Files): Likewise.
29743         * modules/bitrotate-tests (Files): Likewise.
29744         * modules/btowc-tests (Files): Likewise.
29745         * modules/byteswap-tests (Files): Likewise.
29746         * modules/c-ctype-tests (Files): Likewise.
29747         * modules/c-stack-tests (Files): Likewise.
29748         * modules/c-strcase-tests (Files): Likewise.
29749         * modules/c-strcasestr-tests (Files): Likewise.
29750         * modules/c-strstr-tests (Files): Likewise.
29751         * modules/canonicalize-lgpl-tests (Files): Likewise.
29752         * modules/canonicalize-tests (Files): Likewise.
29753         * modules/carray-list-tests (Files): Likewise.
29754         * modules/ceilf-tests (Files): Likewise.
29755         * modules/ceill-tests (Files): Likewise.
29756         * modules/chown-tests (Files): Likewise.
29757         * modules/cloexec-tests (Files): Likewise.
29758         * modules/copy-file-tests (Files): Likewise.
29759         * modules/count-one-bits-tests (Files): Likewise.
29760         * modules/dprintf-posix-tests (Files): Likewise.
29761         * modules/dup2-tests (Files): Likewise.
29762         * modules/dup3-tests (Files): Likewise.
29763         * modules/duplocale-tests (Files): Likewise.
29764         * modules/fbufmode-tests (Files): Likewise.
29765         * modules/fchdir-tests (Files): Likewise.
29766         * modules/fcntl-safer-tests (Files): Likewise.
29767         * modules/fcntl-tests (Files): Likewise.
29768         * modules/fdopendir-tests (Files): Likewise.
29769         * modules/fdutimensat-tests (Files): Likewise.
29770         * modules/fflush-tests (Files): Likewise.
29771         * modules/filevercmp-tests (Files): Likewise.
29772         * modules/flock-tests (Files): Likewise.
29773         * modules/floorf-tests (Files): Likewise.
29774         * modules/floorl-tests (Files): Likewise.
29775         * modules/fnmatch-tests (Files): Likewise.
29776         * modules/fopen-safer-tests (Files): Likewise.
29777         * modules/fopen-tests (Files): Likewise.
29778         * modules/fpending-tests (Files): Likewise.
29779         * modules/fprintf-posix-tests (Files): Likewise.
29780         * modules/fpurge-tests (Files): Likewise.
29781         * modules/freadable-tests (Files): Likewise.
29782         * modules/freadahead-tests (Files): Likewise.
29783         * modules/freading-tests (Files): Likewise.
29784         * modules/freadptr-tests (Files): Likewise.
29785         * modules/freadseek-tests (Files): Likewise.
29786         * modules/freopen-tests (Files): Likewise.
29787         * modules/frexp-nolibm-tests (Files): Likewise.
29788         * modules/frexp-tests (Files): Likewise.
29789         * modules/frexpl-nolibm-tests (Files): Likewise.
29790         * modules/frexpl-tests (Files): Likewise.
29791         * modules/fseek-tests (Files): Likewise.
29792         * modules/fseeko-tests (Files): Likewise.
29793         * modules/fstrcmp-tests (Files): Likewise.
29794         * modules/fsync-tests (Files): Likewise.
29795         * modules/ftell-tests (Files): Likewise.
29796         * modules/ftello-tests (Files): Likewise.
29797         * modules/func-tests (Files): Likewise.
29798         * modules/futimens-tests (Files): Likewise.
29799         * modules/fwritable-tests (Files): Likewise.
29800         * modules/fwriting-tests (Files): Likewise.
29801         * modules/getcwd-tests (Files): Likewise.
29802         * modules/getdate-tests (Files): Likewise.
29803         * modules/getdelim-tests (Files): Likewise.
29804         * modules/getdtablesize-tests (Files): Likewise.
29805         * modules/getgroups-tests (Files): Likewise.
29806         * modules/getline-tests (Files): Likewise.
29807         * modules/getndelim2-tests (Files): Likewise.
29808         * modules/glob-tests (Files): Likewise.
29809         * modules/hash-tests (Files): Likewise.
29810         * modules/i-ring-tests (Files): Likewise.
29811         * modules/iconv-tests (Files): Likewise.
29812         * modules/iconv_open-utf-tests (Files): Likewise.
29813         * modules/idpriv-drop-tests (Files): Likewise.
29814         * modules/idpriv-droptemp-tests (Files): Likewise.
29815         * modules/inet_ntop-tests (Files): Likewise.
29816         * modules/inet_pton-tests (Files): Likewise.
29817         * modules/isblank-tests (Files): Likewise.
29818         * modules/isfinite-tests (Files): Likewise.
29819         * modules/isinf-tests (Files): Likewise.
29820         * modules/isnan-tests (Files): Likewise.
29821         * modules/isnand-nolibm-tests (Files): Likewise.
29822         * modules/isnand-tests (Files): Likewise.
29823         * modules/isnanf-nolibm-tests (Files): Likewise.
29824         * modules/isnanf-tests (Files): Likewise.
29825         * modules/isnanl-nolibm-tests (Files): Likewise.
29826         * modules/isnanl-tests (Files): Likewise.
29827         * modules/lchown-tests (Files): Likewise.
29828         * modules/ldexpl-tests (Files): Likewise.
29829         * modules/link-tests (Files): Likewise.
29830         * modules/linkat-tests (Files): Likewise.
29831         * modules/linked-list-tests (Files): Likewise.
29832         * modules/linkedhash-list-tests (Files): Likewise.
29833         * modules/localename-tests (Files): Likewise.
29834         * modules/lseek-tests (Files): Likewise.
29835         * modules/lstat-tests (Files): Likewise.
29836         * modules/mbmemcasecmp-tests (Files): Likewise.
29837         * modules/mbmemcasecoll-tests (Files): Likewise.
29838         * modules/mbrtowc-tests (Files): Likewise.
29839         * modules/mbscasecmp-tests (Files): Likewise.
29840         * modules/mbscasestr-tests (Files): Likewise.
29841         * modules/mbschr-tests (Files): Likewise.
29842         * modules/mbscspn-tests (Files): Likewise.
29843         * modules/mbsinit-tests (Files): Likewise.
29844         * modules/mbsncasecmp-tests (Files): Likewise.
29845         * modules/mbsnrtowcs-tests (Files): Likewise.
29846         * modules/mbspbrk-tests (Files): Likewise.
29847         * modules/mbspcasecmp-tests (Files): Likewise.
29848         * modules/mbsrchr-tests (Files): Likewise.
29849         * modules/mbsrtowcs-tests (Files): Likewise.
29850         * modules/mbsspn-tests (Files): Likewise.
29851         * modules/mbsstr-tests (Files): Likewise.
29852         * modules/memchr-tests (Files): Likewise.
29853         * modules/memchr2-tests (Files): Likewise.
29854         * modules/memcmp-tests (Files): Likewise.
29855         * modules/memmem-tests (Files): Likewise.
29856         * modules/memrchr-tests (Files): Likewise.
29857         * modules/mkdir-tests (Files): Likewise.
29858         * modules/mkfifo-tests (Files): Likewise.
29859         * modules/mkfifoat-tests (Files): Likewise.
29860         * modules/mknod-tests (Files): Likewise.
29861         * modules/nanosleep-tests (Files): Likewise.
29862         * modules/nl_langinfo-tests (Files): Likewise.
29863         * modules/obstack-printf-tests (Files): Likewise.
29864         * modules/open-tests (Files): Likewise.
29865         * modules/openat-tests (Files): Likewise.
29866         * modules/pipe-filter-gi-tests (Files): Likewise.
29867         * modules/pipe-filter-ii-tests (Files): Likewise.
29868         * modules/pipe2-tests (Files): Likewise.
29869         * modules/popen-safer-tests (Files): Likewise.
29870         * modules/popen-tests (Files): Likewise.
29871         * modules/posixtm-tests (Files): Likewise.
29872         * modules/pread-tests (Files): Likewise.
29873         * modules/printf-frexp-tests (Files): Likewise.
29874         * modules/printf-frexpl-tests (Files): Likewise.
29875         * modules/printf-posix-tests (Files): Likewise.
29876         * modules/priv-set-tests (Files): Likewise.
29877         * modules/quotearg-tests (Files): Likewise.
29878         * modules/random_r-tests (Files): Likewise.
29879         * modules/rawmemchr-tests (Files): Likewise.
29880         * modules/rbtree-list-tests (Files): Likewise.
29881         * modules/rbtree-oset-tests (Files): Likewise.
29882         * modules/rbtreehash-list-tests (Files): Likewise.
29883         * modules/readlink-tests (Files): Likewise.
29884         * modules/remove-tests (Files): Likewise.
29885         * modules/rename-tests (Files): Likewise.
29886         * modules/renameat-tests (Files): Likewise.
29887         * modules/rmdir-tests (Files): Likewise.
29888         * modules/round-tests (Files): Likewise.
29889         * modules/roundf-tests (Files): Likewise.
29890         * modules/roundl-tests (Files): Likewise.
29891         * modules/safe-alloc-tests (Files): Likewise.
29892         * modules/setenv-tests (Files): Likewise.
29893         * modules/sigaction-tests (Files): Likewise.
29894         * modules/signbit-tests (Files): Likewise.
29895         * modules/sleep-tests (Files): Likewise.
29896         * modules/snprintf-posix-tests (Files): Likewise.
29897         * modules/snprintf-tests (Files): Likewise.
29898         * modules/sprintf-posix-tests (Files): Likewise.
29899         * modules/stat-tests (Files): Likewise.
29900         * modules/stat-time-tests (Files): Likewise.
29901         * modules/strcasestr-tests (Files): Likewise.
29902         * modules/strchrnul-tests (Files): Likewise.
29903         * modules/strerror-tests (Files): Likewise.
29904         * modules/striconv-tests (Files): Likewise.
29905         * modules/striconveh-tests (Files): Likewise.
29906         * modules/striconveha-tests (Files): Likewise.
29907         * modules/strsignal-tests (Files): Likewise.
29908         * modules/strstr-tests (Files): Likewise.
29909         * modules/strtod-tests (Files): Likewise.
29910         * modules/strverscmp-tests (Files): Likewise.
29911         * modules/symlink-tests (Files): Likewise.
29912         * modules/symlinkat-tests (Files): Likewise.
29913         * modules/trunc-tests (Files): Likewise.
29914         * modules/truncf-tests (Files): Likewise.
29915         * modules/truncl-tests (Files): Likewise.
29916         * modules/uname-tests (Files): Likewise.
29917         * modules/unicase/cased-tests (Files): Likewise.
29918         * modules/unicase/ignorable-tests (Files): Likewise.
29919         * modules/unicase/locale-language-tests (Files): Likewise.
29920         * modules/unicase/tolower-tests (Files): Likewise.
29921         * modules/unicase/totitle-tests (Files): Likewise.
29922         * modules/unicase/toupper-tests (Files): Likewise.
29923         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29924         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29925         * modules/unicase/u8-casefold-tests (Files): Likewise.
29926         * modules/unicase/u8-is-cased-tests (Files): Likewise.
29927         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
29928         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
29929         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
29930         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
29931         * modules/unicase/u8-tolower-tests (Files): Likewise.
29932         * modules/unicase/u8-totitle-tests (Files): Likewise.
29933         * modules/unicase/u8-toupper-tests (Files): Likewise.
29934         * modules/unicase/u16-casecmp-tests (Files): Likewise.
29935         * modules/unicase/u16-casecoll-tests (Files): Likewise.
29936         * modules/unicase/u16-casefold-tests (Files): Likewise.
29937         * modules/unicase/u16-is-cased-tests (Files): Likewise.
29938         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
29939         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
29940         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
29941         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
29942         * modules/unicase/u16-tolower-tests (Files): Likewise.
29943         * modules/unicase/u16-totitle-tests (Files): Likewise.
29944         * modules/unicase/u16-toupper-tests (Files): Likewise.
29945         * modules/unicase/u32-casecmp-tests (Files): Likewise.
29946         * modules/unicase/u32-casecoll-tests (Files): Likewise.
29947         * modules/unicase/u32-casefold-tests (Files): Likewise.
29948         * modules/unicase/u32-is-cased-tests (Files): Likewise.
29949         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
29950         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
29951         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
29952         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
29953         * modules/unicase/u32-tolower-tests (Files): Likewise.
29954         * modules/unicase/u32-totitle-tests (Files): Likewise.
29955         * modules/unicase/u32-toupper-tests (Files): Likewise.
29956         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
29957         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
29958         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
29959         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
29960         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
29961         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
29962         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
29963         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
29964         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
29965         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
29966         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
29967         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
29968         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
29969         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
29970         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
29971         * modules/unictype/bidicategory-name-tests (Files): Likewise.
29972         * modules/unictype/bidicategory-of-tests (Files): Likewise.
29973         * modules/unictype/bidicategory-test-tests (Files): Likewise.
29974         * modules/unictype/block-list-tests (Files): Likewise.
29975         * modules/unictype/block-of-tests (Files): Likewise.
29976         * modules/unictype/block-test-tests (Files): Likewise.
29977         * modules/unictype/category-C-tests (Files): Likewise.
29978         * modules/unictype/category-Cc-tests (Files): Likewise.
29979         * modules/unictype/category-Cf-tests (Files): Likewise.
29980         * modules/unictype/category-Cn-tests (Files): Likewise.
29981         * modules/unictype/category-Co-tests (Files): Likewise.
29982         * modules/unictype/category-Cs-tests (Files): Likewise.
29983         * modules/unictype/category-L-tests (Files): Likewise.
29984         * modules/unictype/category-Ll-tests (Files): Likewise.
29985         * modules/unictype/category-Lm-tests (Files): Likewise.
29986         * modules/unictype/category-Lo-tests (Files): Likewise.
29987         * modules/unictype/category-Lt-tests (Files): Likewise.
29988         * modules/unictype/category-Lu-tests (Files): Likewise.
29989         * modules/unictype/category-M-tests (Files): Likewise.
29990         * modules/unictype/category-Mc-tests (Files): Likewise.
29991         * modules/unictype/category-Me-tests (Files): Likewise.
29992         * modules/unictype/category-Mn-tests (Files): Likewise.
29993         * modules/unictype/category-N-tests (Files): Likewise.
29994         * modules/unictype/category-Nd-tests (Files): Likewise.
29995         * modules/unictype/category-Nl-tests (Files): Likewise.
29996         * modules/unictype/category-No-tests (Files): Likewise.
29997         * modules/unictype/category-P-tests (Files): Likewise.
29998         * modules/unictype/category-Pc-tests (Files): Likewise.
29999         * modules/unictype/category-Pd-tests (Files): Likewise.
30000         * modules/unictype/category-Pe-tests (Files): Likewise.
30001         * modules/unictype/category-Pf-tests (Files): Likewise.
30002         * modules/unictype/category-Pi-tests (Files): Likewise.
30003         * modules/unictype/category-Po-tests (Files): Likewise.
30004         * modules/unictype/category-Ps-tests (Files): Likewise.
30005         * modules/unictype/category-S-tests (Files): Likewise.
30006         * modules/unictype/category-Sc-tests (Files): Likewise.
30007         * modules/unictype/category-Sk-tests (Files): Likewise.
30008         * modules/unictype/category-Sm-tests (Files): Likewise.
30009         * modules/unictype/category-So-tests (Files): Likewise.
30010         * modules/unictype/category-Z-tests (Files): Likewise.
30011         * modules/unictype/category-Zl-tests (Files): Likewise.
30012         * modules/unictype/category-Zp-tests (Files): Likewise.
30013         * modules/unictype/category-Zs-tests (Files): Likewise.
30014         * modules/unictype/category-and-not-tests (Files): Likewise.
30015         * modules/unictype/category-and-tests (Files): Likewise.
30016         * modules/unictype/category-byname-tests (Files): Likewise.
30017         * modules/unictype/category-name-tests (Files): Likewise.
30018         * modules/unictype/category-none-tests (Files): Likewise.
30019         * modules/unictype/category-of-tests (Files): Likewise.
30020         * modules/unictype/category-or-tests (Files): Likewise.
30021         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30022         * modules/unictype/combining-class-tests (Files): Likewise.
30023         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30024         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30025         * modules/unictype/ctype-blank-tests (Files): Likewise.
30026         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30027         * modules/unictype/ctype-digit-tests (Files): Likewise.
30028         * modules/unictype/ctype-graph-tests (Files): Likewise.
30029         * modules/unictype/ctype-lower-tests (Files): Likewise.
30030         * modules/unictype/ctype-print-tests (Files): Likewise.
30031         * modules/unictype/ctype-punct-tests (Files): Likewise.
30032         * modules/unictype/ctype-space-tests (Files): Likewise.
30033         * modules/unictype/ctype-upper-tests (Files): Likewise.
30034         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30035         * modules/unictype/decimal-digit-tests (Files): Likewise.
30036         * modules/unictype/digit-tests (Files): Likewise.
30037         * modules/unictype/mirror-tests (Files): Likewise.
30038         * modules/unictype/numeric-tests (Files): Likewise.
30039         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30040         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30041         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30042         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30043         Likewise.
30044         * modules/unictype/property-bidi-block-separator-tests (Files):
30045         Likewise.
30046         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30047         Likewise.
30048         * modules/unictype/property-bidi-common-separator-tests (Files):
30049         Likewise.
30050         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30051         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30052         Likewise.
30053         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30054         Likewise.
30055         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30056         Likewise.
30057         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30058         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30059         Likewise.
30060         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30061         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30062         Likewise.
30063         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30064         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30065         * modules/unictype/property-bidi-segment-separator-tests (Files):
30066         Likewise.
30067         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30068         * modules/unictype/property-byname-tests (Files): Likewise.
30069         * modules/unictype/property-combining-tests (Files): Likewise.
30070         * modules/unictype/property-composite-tests (Files): Likewise.
30071         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30072         * modules/unictype/property-dash-tests (Files): Likewise.
30073         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30074         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30075         Likewise.
30076         * modules/unictype/property-deprecated-tests (Files): Likewise.
30077         * modules/unictype/property-diacritic-tests (Files): Likewise.
30078         * modules/unictype/property-extender-tests (Files): Likewise.
30079         * modules/unictype/property-format-control-tests (Files): Likewise.
30080         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30081         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30082         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30083         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30084         * modules/unictype/property-hyphen-tests (Files): Likewise.
30085         * modules/unictype/property-id-continue-tests (Files): Likewise.
30086         * modules/unictype/property-id-start-tests (Files): Likewise.
30087         * modules/unictype/property-ideographic-tests (Files): Likewise.
30088         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30089         * modules/unictype/property-ids-trinary-operator-tests (Files):
30090         Likewise.
30091         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30092         * modules/unictype/property-iso-control-tests (Files): Likewise.
30093         * modules/unictype/property-join-control-tests (Files): Likewise.
30094         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30095         * modules/unictype/property-line-separator-tests (Files): Likewise.
30096         * modules/unictype/property-logical-order-exception-tests (Files):
30097         Likewise.
30098         * modules/unictype/property-lowercase-tests (Files): Likewise.
30099         * modules/unictype/property-math-tests (Files): Likewise.
30100         * modules/unictype/property-non-break-tests (Files): Likewise.
30101         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30102         * modules/unictype/property-numeric-tests (Files): Likewise.
30103         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30104         * modules/unictype/property-other-default-ignorable-code-point-tests
30105         (Files): Likewise.
30106         * modules/unictype/property-other-grapheme-extend-tests (Files):
30107         Likewise.
30108         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30109         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30110         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30111         * modules/unictype/property-other-math-tests (Files): Likewise.
30112         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30113         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30114         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30115         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30116         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30117         * modules/unictype/property-private-use-tests (Files): Likewise.
30118         * modules/unictype/property-punctuation-tests (Files): Likewise.
30119         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30120         * modules/unictype/property-radical-tests (Files): Likewise.
30121         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30122         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30123         * modules/unictype/property-space-tests (Files): Likewise.
30124         * modules/unictype/property-terminal-punctuation-tests (Files):
30125         Likewise.
30126         * modules/unictype/property-test-tests (Files): Likewise.
30127         * modules/unictype/property-titlecase-tests (Files): Likewise.
30128         * modules/unictype/property-unassigned-code-value-tests (Files):
30129         Likewise.
30130         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30131         * modules/unictype/property-uppercase-tests (Files): Likewise.
30132         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30133         * modules/unictype/property-white-space-tests (Files): Likewise.
30134         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30135         * modules/unictype/property-xid-start-tests (Files): Likewise.
30136         * modules/unictype/property-zero-width-tests (Files): Likewise.
30137         * modules/unictype/scripts-tests (Files): Likewise.
30138         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30139         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30140         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30141         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30142         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30143         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30144         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30145         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30146         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30147         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30148         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30149         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30150         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30151         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30152         * modules/uninorm/composition-tests (Files): Likewise.
30153         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30154         * modules/uninorm/decomposition-tests (Files): Likewise.
30155         * modules/uninorm/filter-tests (Files): Likewise.
30156         * modules/uninorm/nfc-tests (Files): Likewise.
30157         * modules/uninorm/nfd-tests (Files): Likewise.
30158         * modules/uninorm/nfkc-tests (Files): Likewise.
30159         * modules/uninorm/nfkd-tests (Files): Likewise.
30160         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30161         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30162         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30163         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30164         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30165         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30166         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30167         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30168         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30169         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30170         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30171         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30172         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30173         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30174         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30175         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30176         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30177         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30178         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30179         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30180         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30181         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30182         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30183         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30184         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30185         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30186         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30187         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30188         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30189         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30190         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30191         * modules/uniwidth/u8-width-tests (Files): Likewise.
30192         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30193         * modules/uniwidth/u16-width-tests (Files): Likewise.
30194         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30195         * modules/uniwidth/u32-width-tests (Files): Likewise.
30196         * modules/uniwidth/width-tests (Files): Likewise.
30197         * modules/unlink-tests (Files): Likewise.
30198         * modules/unsetenv-tests (Files): Likewise.
30199         * modules/usleep-tests (Files): Likewise.
30200         * modules/utimens-tests (Files): Likewise.
30201         * modules/utimensat-tests (Files): Likewise.
30202         * modules/vasnprintf-posix-tests (Files): Likewise.
30203         * modules/vasnprintf-tests (Files): Likewise.
30204         * modules/vasprintf-posix-tests (Files): Likewise.
30205         * modules/vasprintf-tests (Files): Likewise.
30206         * modules/vdprintf-posix-tests (Files): Likewise.
30207         * modules/vfprintf-posix-tests (Files): Likewise.
30208         * modules/vprintf-posix-tests (Files): Likewise.
30209         * modules/vsnprintf-posix-tests (Files): Likewise.
30210         * modules/vsnprintf-tests (Files): Likewise.
30211         * modules/vsprintf-posix-tests (Files): Likewise.
30212         * modules/wcrtomb-tests (Files): Likewise.
30213         * modules/wcsnrtombs-tests (Files): Likewise.
30214         * modules/wcsrtombs-tests (Files): Likewise.
30215         * modules/wctype-tests (Files): Likewise.
30216         * modules/wcwidth-tests (Files): Likewise.
30217         * modules/xmemdup0-tests (Files): Likewise.
30218         * modules/xprintf-posix-tests (Files): Likewise.
30219         * modules/xvasprintf-tests (Files): Likewise.
30220
30221 2009-12-24  Eric Blake  <ebb9@byu.net>
30222
30223         test-nanosleep: fix typo
30224         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30225         patch.
30226         Reported by Bruno Haible.
30227
30228 2009-12-24  Bruno Haible  <bruno@clisp.org>
30229
30230         Reduce namespace pollution on glibc systems.
30231         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30232         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30233         systems.
30234         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30235         <getopt.h> on glibc systems.
30236         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30237         systems.
30238         * lib/fcntl.c: Include <unistd.h> here instead.
30239
30240 2009-12-24  Bruno Haible  <bruno@clisp.org>
30241
30242         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30243
30244 2009-12-24  Eric Blake  <ebb9@byu.net>
30245
30246         tests: add signature checks
30247         * tests/signature.h (SIGNATURE_CHECK): New file.
30248         * modules/atexit-tests (Files): Use it.
30249         * modules/btowc-tests (Files): Likewise.
30250         * modules/canonicalize-lgpl-tests (Files): Likewise.
30251         * modules/ceilf-tests (Files): Likewise.
30252         * modules/ceill-tests (Files): Likewise.
30253         * modules/chown-tests (Files): Likewise.
30254         * modules/dprintf-posix-tests (Files): Likewise.
30255         * modules/dup2-tests (Files): Likewise.
30256         * modules/dup3-tests (Files): Likewise.
30257         * modules/duplocale-tests (Files): Likewise.
30258         * modules/fchdir-tests (Files): Likewise.
30259         * modules/fcntl-tests (Files): Likewise.
30260         * modules/fdopendir-tests (Files): Likewise.
30261         * modules/fflush-tests (Files): Likewise.
30262         * modules/flock-tests (Files): Likewise.
30263         * modules/floorf-tests (Files): Likewise.
30264         * modules/floorl-tests (Files): Likewise.
30265         * modules/fnmatch-tests (Files): Likewise.
30266         * modules/fopen-tests (Files): Likewise.
30267         * modules/fprintf-posix-tests (Files): Likewise.
30268         * modules/freopen-tests (Files): Likewise.
30269         * modules/frexp-nolibm-tests (Files): Likewise.
30270         * modules/frexp-tests (Files): Likewise.
30271         * modules/frexpl-nolibm-tests (Files): Likewise.
30272         * modules/frexpl-tests (Files): Likewise.
30273         * modules/fseek-tests (Files): Likewise.
30274         * modules/fseeko-tests (Files): Likewise.
30275         * modules/fsync-tests (Files): Likewise.
30276         * modules/ftell-tests (Files): Likewise.
30277         * modules/ftello-tests (Files): Likewise.
30278         * modules/futimens-tests (Files): Likewise.
30279         * modules/getaddrinfo-tests (Files): Likewise.
30280         * modules/getcwd-tests (Files): Likewise.
30281         * modules/getdelim-tests (Files): Likewise.
30282         * modules/getdtablesize-tests (Files): Likewise.
30283         * modules/getgroups-tests (Files): Likewise.
30284         * modules/gethostname-tests (Files): Likewise.
30285         * modules/getline-tests (Files): Likewise.
30286         * modules/getopt-posix-tests (Files): Likewise.
30287         * modules/gettimeofday-tests (Files): Likewise.
30288         * modules/glob-tests (Files): Likewise.
30289         * modules/iconv-tests (Files): Likewise.
30290         * modules/inet_ntop-tests (Files): Likewise.
30291         * modules/inet_pton-tests (Files): Likewise.
30292         * modules/isblank-tests (Files): Likewise.
30293         * modules/lchown-tests (Files): Likewise.
30294         * modules/ldexpl-tests (Files): Likewise.
30295         * modules/link-tests (Files): Likewise.
30296         * modules/linkat-tests (Files): Likewise.
30297         * modules/lseek-tests (Files): Likewise.
30298         * modules/lstat-tests (Files): Likewise.
30299         * modules/mbrtowc-tests (Files): Likewise.
30300         * modules/mbsinit-tests (Files): Likewise.
30301         * modules/mbsnrtowcs-tests (Files): Likewise.
30302         * modules/mbsrtowcs-tests (Files): Likewise.
30303         * modules/memchr-tests (Files): Likewise.
30304         * modules/memcmp-tests (Files): Likewise.
30305         * modules/memmem-tests (Files): Likewise.
30306         * modules/memrchr-tests (Files): Likewise.
30307         * modules/mkdir-tests (Files): Likewise.
30308         * modules/mkfifo-tests (Files): Likewise.
30309         * modules/mkfifoat-tests (Files): Likewise.
30310         * modules/mknod-tests (Files): Likewise.
30311         * modules/nanosleep-tests (Files): Likewise.
30312         * modules/nl_langinfo-tests (Files): Likewise.
30313         * modules/obstack-printf-tests (Files): Likewise.
30314         * modules/open-tests (Files): Likewise.
30315         * modules/openat-tests (Files): Likewise.
30316         * modules/perror-tests (Files): Likewise.
30317         * modules/pipe2-tests (Files): Likewise.
30318         * modules/poll-tests (Files): Likewise.
30319         * modules/popen-tests (Files): Likewise.
30320         * modules/posix_spawn-tests (Files): Likewise.
30321         * modules/posix_spawnp-tests (Files): Likewise.
30322         * modules/pread-tests (Files): Likewise.
30323         * modules/printf-posix-tests (Files): Likewise.
30324         * modules/pty-tests (Files): Likewise.
30325         * modules/random_r-tests (Files): Likewise.
30326         * modules/rawmemchr-tests (Files): Likewise.
30327         * modules/readlink-tests (Files): Likewise.
30328         * modules/remove-tests (Files): Likewise.
30329         * modules/rename-tests (Files): Likewise.
30330         * modules/renameat-tests (Files): Likewise.
30331         * modules/rmdir-tests (Files): Likewise.
30332         * modules/round-tests (Files): Likewise.
30333         * modules/roundf-tests (Files): Likewise.
30334         * modules/roundl-tests (Files): Likewise.
30335         * modules/select-tests (Files): Likewise.
30336         * modules/setenv-tests (Files): Likewise.
30337         * modules/sigaction-tests (Files): Likewise.
30338         * modules/sleep-tests (Files): Likewise.
30339         * modules/snprintf-posix-tests (Files): Likewise.
30340         * modules/snprintf-tests (Files): Likewise.
30341         * modules/sprintf-posix-tests (Files): Likewise.
30342         * modules/stat-tests (Files): Likewise.
30343         * modules/strcasestr-tests (Files): Likewise.
30344         * modules/strchrnul-tests (Files): Likewise.
30345         * modules/strerror-tests (Files): Likewise.
30346         * modules/strsignal-tests (Files): Likewise.
30347         * modules/strstr-tests (Files): Likewise.
30348         * modules/strtod-tests (Files): Likewise.
30349         * modules/strverscmp-tests (Files): Likewise.
30350         * modules/symlink-tests (Files): Likewise.
30351         * modules/symlinkat-tests (Files): Likewise.
30352         * modules/times-tests (Files): Likewise.
30353         * modules/trunc-tests (Files): Likewise.
30354         * modules/truncf-tests (Files): Likewise.
30355         * modules/truncl-tests (Files): Likewise.
30356         * modules/tsearch-tests (Files): Likewise.
30357         * modules/uname-tests (Files): Likewise.
30358         * modules/unlink-tests (Files): Likewise.
30359         * modules/unsetenv-tests (Files): Likewise.
30360         * modules/usleep-tests (Files): Likewise.
30361         * modules/utimensat-tests (Files): Likewise.
30362         * modules/vasprintf-tests (Files): Likewise.
30363         * modules/vdprintf-posix-tests (Files): Likewise.
30364         * modules/vfprintf-posix-tests (Files): Likewise.
30365         * modules/vprintf-posix-tests (Files): Likewise.
30366         * modules/vsnprintf-posix-tests (Files): Likewise.
30367         * modules/vsnprintf-tests (Files): Likewise.
30368         * modules/vsprintf-posix-tests (Files): Likewise.
30369         * modules/wcrtomb-tests (Files): Likewise.
30370         * modules/wcsnrtombs-tests (Files): Likewise.
30371         * modules/wcsrtombs-tests (Files): Likewise.
30372         * modules/wcwidth-tests (Files): Likewise.
30373         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30374         * tests/test-isinf.c (isinf): Likewise.
30375         * tests/test-isnan.c (isnan): Likewise.
30376         * tests/test-signbit.c (signbit): Likewise.
30377         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30378         declaration, either as macro or with correct signature.
30379         (select): Ensure function under test is declared with correct
30380         signature in correct header.
30381         * tests/test-atexit.c (atexit): Likewise.
30382         * tests/test-btowc.c (btowc): Likewise.
30383         * tests/test-canonicalize-lgpl.c (realpath)
30384         (canonicalize_file_name): Likewise.
30385         * tests/test-ceilf1.c (ceilf): Likewise.
30386         * tests/test-ceill.c (ceill): Likewise.
30387         * tests/test-chown.c (chown): Likewise.
30388         * tests/test-dprintf-posix.c (dprintf): Likewise.
30389         * tests/test-dup2.c (dup2): Likewise.
30390         * tests/test-dup3.c (dup3): Likewise.
30391         * tests/test-duplocale.c (duplocale): Likewise.
30392         * tests/test-fchdir.c (fchdir): Likewise.
30393         * tests/test-fchownat.c (fchownat): Likewise.
30394         * tests/test-fcntl.c (fcntl): Likewise.
30395         * tests/test-fdopendir.c (fdopendir): Likewise.
30396         * tests/test-fflush.c (fflush): Likewise.
30397         * tests/test-flock.c (flock): Likewise.
30398         * tests/test-floorf1.c (floorf): Likewise.
30399         * tests/test-floorl.c (floorl): Likewise.
30400         * tests/test-fnmatch.c (fnmatch): Likewise.
30401         * tests/test-fopen.c (fopen): Likewise.
30402         * tests/test-fprintf-posix.c (fprintf): Likewise.
30403         * tests/test-freopen.c (freopen): Likewise.
30404         * tests/test-frexp.c (frexp): Likewise.
30405         * tests/test-frexpl.c (frexpl): Likewise.
30406         * tests/test-fseek.c (fseek): Likewise.
30407         * tests/test-fseeko.c (fseeko): Likewise.
30408         * tests/test-fstatat.c (fstatat): Likewise.
30409         * tests/test-fsync.c (fsync): Likewise.
30410         * tests/test-ftell.c (ftell): Likewise.
30411         * tests/test-ftello.c (ftello): Likewise.
30412         * tests/test-futimens.c (futimens): Likewise.
30413         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30414         (gai_strerror): Likewise.
30415         * tests/test-getcwd.c (getcwd): Likewise.
30416         * tests/test-getdelim.c (getdelim): Likewise.
30417         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30418         * tests/test-getgroups.c (getgroups): Likewise.
30419         * tests/test-gethostname.c (gethostname): Likewise.
30420         * tests/test-getline.c (getline): Likewise.
30421         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30422         Likewise.
30423         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30424         * tests/test-glob.c (glob, globfree): Likewise.
30425         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30426         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30427         * tests/test-inet_pton.c (inet_pton): Likewise.
30428         * tests/test-isblank.c (isblank): Likewise.
30429         * tests/test-lchown.c (lchown): Likewise.
30430         * tests/test-ldexpl.c (ldexpl): Likewise.
30431         * tests/test-link.c (link): Likewise.
30432         * tests/test-linkat.c (linkat): Likewise.
30433         * tests/test-lseek.c (lseek): Likewise.
30434         * tests/test-lstat.c (lstat): Likewise.
30435         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30436         * tests/test-mbsinit.c (mbsinit): Likewise.
30437         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30438         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30439         * tests/test-memchr.c (memchr): Likewise.
30440         * tests/test-memcmp.c (memcmp): Likewise.
30441         * tests/test-memmem.c (memmem): Likewise.
30442         * tests/test-memrchr.c (memrchr): Likewise.
30443         * tests/test-mkdir.c (mkdir): Likewise.
30444         * tests/test-mkdirat.c (mkdirat): Likewise.
30445         * tests/test-mkfifo.c (mkfifo): Likewise.
30446         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30447         * tests/test-mknod.c (mknod): Likewise.
30448         * tests/test-nanosleep.c (nanosleep): Likewise.
30449         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30450         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30451         Likewise.
30452         * tests/test-open.c (open): Likewise.
30453         * tests/test-openat.c (openat): Likewise.
30454         * tests/test-perror.c (perror): Likewise.
30455         * tests/test-pipe2.c (pipe2): Likewise.
30456         * tests/test-poll.c (poll): Likewise.
30457         * tests/test-popen.c (popen, pclose): Likewise.
30458         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30459         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30460         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30461         (posix_spawn_file_actions_destroy)
30462         (posix_spawn_file_actions_addclose)
30463         (posix_spawn_file_actions_addopen)
30464         (posix_spawn_file_actions_adddup2): Likewise.
30465         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30466         * tests/test-pread.c (pread): Likewise.
30467         * tests/test-printf-posix.c (printf): Likewise.
30468         * tests/test-pty.c (openpty, forkpty): Likewise.
30469         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30470         (random_r): Likewise.
30471         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30472         * tests/test-readlink.c (readlink): Likewise.
30473         * tests/test-remove.c (remove): Likewise.
30474         * tests/test-rename.c (rename): Likewise.
30475         * tests/test-renameat.c (renameat): Likewise.
30476         * tests/test-rmdir.c (rmdir): Likewise.
30477         * tests/test-round1.c (round): Likewise.
30478         * tests/test-roundf1.c (roundf): Likewise.
30479         * tests/test-roundl.c (roundl): Likewise.
30480         * tests/test-setenv.c (setenv): Likewise.
30481         * tests/test-sigaction.c (sigaction): Likewise.
30482         * tests/test-sleep.c (sleep): Likewise.
30483         * tests/test-snprintf.c (snprintf): Likewise.
30484         * tests/test-sprintf-posix.c (sprintf): Likewise.
30485         * tests/test-stat.c (stat): Likewise.
30486         * tests/test-stpncpy.c (stpncpy): Likewise.
30487         * tests/test-strcasestr.c (strcasestr): Likewise.
30488         * tests/test-strchrnul.c (strchrnul): Likewise.
30489         * tests/test-strerror.c (strerror): Likewise.
30490         * tests/test-strsignal.c (strsignal): Likewise.
30491         * tests/test-strstr.c (strstr): Likewise.
30492         * tests/test-strtod.c (strtod): Likewise.
30493         * tests/test-strverscmp.c (strverscmp): Likewise.
30494         * tests/test-symlink.c (symlink): Likewise.
30495         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30496         * tests/test-times.c (times): Likewise.
30497         * tests/test-trunc1.c (trunc): Likewise.
30498         * tests/test-truncf1.c (truncf): Likewise.
30499         * tests/test-truncl.c (truncl): Likewise.
30500         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30501         Likewise.
30502         * tests/test-uname.c (uname): Likewise.
30503         * tests/test-unlink.c (unlink): Likewise.
30504         * tests/test-unlinkat.c (unlinkat): Likewise.
30505         * tests/test-unsetenv.c (unsetenv): Likewise.
30506         * tests/test-usleep.c (usleep): Likewise.
30507         * tests/test-utimensat.c (utimensat): Likewise.
30508         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30509         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30510         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30511         * tests/test-vprintf-posix.c (vprintf): Likewise.
30512         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30513         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30514         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30515         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30516         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30517         * tests/test-wcwidth.c (wcwidth): Likewise.
30518
30519         build: pull in conditional headers during GNULIB_POSIXCHECK
30520         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30521         definitions from any conditionally-included headers.
30522         * lib/stdlib.in.h (includes): Likewise.
30523         * lib/unistd.in.h (includes): Likewise.
30524
30525 2009-12-24  Bruno Haible  <bruno@clisp.org>
30526
30527         * tests/test-argv-iter.c: Include header file being tested immediately
30528         after config.h.
30529         * tests/test-base64.c: Likewise.
30530         * tests/test-flock.c: Likewise.
30531         * tests/test-fsync.c: Likewise.
30532         * tests/test-getdate.c: Likewise.
30533         * tests/test-getndelim2.c: Likewise.
30534         * tests/test-isfinite.c: Likewise.
30535         * tests/test-isinf.c: Likewise.
30536         * tests/test-strerror.c: Likewise.
30537         * tests/test-strsignal.c: Likewise.
30538
30539 2009-12-23  Eric Blake  <ebb9@byu.net>
30540
30541         unistd: work around cygwin bug
30542         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30543         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30544         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30545
30546 2009-12-23  Bruno Haible  <bruno@clisp.org>
30547
30548         localename: More tests.
30549         * tests/test-localename.c (SIZEOF): New macro.
30550         (categories): New variable.
30551         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30552         test_locale_name_default): Add test w.r.t. thread locale.
30553         (test_locale_name_thread): New function.
30554         (main): Invoke it.
30555
30556         localename: Make aware of thread locale.
30557         * lib/localename.h (gl_locale_name_thread): New declaration.
30558         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30559         behaviour with respect to thread locale.
30560         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30561         <langinfo.h>, glthread/lock.h.
30562         (SIZE_BITS): New macro.
30563         (string_hash): New function.
30564         (struct hash_node): New type.
30565         (HASH_TABLE_SIZE): New macro.
30566         (struniq_hash_table, struniq_lock): New variables.
30567         (struniq): New function.
30568         (gl_locale_name_thread): New function.
30569         (gl_locale_name): Invoke it.
30570         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30571         * modules/localename (Depends-on): Add lock.
30572         Reported by Mike Gran <spk121@yahoo.com>.
30573
30574 2009-12-23  Eric Blake  <ebb9@byu.net>
30575
30576         va-args: new module
30577         * modules/va-args: New file.
30578         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30579         * MODULES.html.sh (Core language properties): Mention it.
30580
30581         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30582         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30583         named alias for __attribute__((__unused__)).
30584         * lib/chown.c: Update client.
30585         * lib/fchmodat.c: Likewise.
30586         * lib/fts.c: Likewise.
30587         * lib/getdate.y: Likewise.
30588         * lib/getgroups.c: Likewise.
30589         * lib/getopt.c: Likewise.
30590         * lib/getugroups.c: Likewise.
30591         * lib/mkdir.c: Likewise.
30592         * lib/mkfifo.c: Likewise.
30593         * lib/mkfifoat.c: Likewise.
30594         * lib/mknod.c: Likewise.
30595         * lib/mknodat.c: Likewise.
30596         * lib/readlink.c: Likewise.
30597         * lib/se-context.in.h: Likewise.
30598         * lib/se-selinux.in.h: Likewise.
30599         * lib/sockets.c: Likewise.
30600         * lib/symlink.c: Likewise.
30601         * lib/symlinkat.c: Likewise.
30602         * lib/unicodeio.c: Likewise.
30603         * lib/unistr.h: Likewise.
30604         * tests/test-areadlink.c: Likewise.
30605         * tests/test-areadlinkat.c: Likewise.
30606         * tests/test-filenamecat.c: Likewise.
30607         * tests/test-fseeko.c: Likewise.
30608         * tests/test-ftello.c: Likewise.
30609         * tests/test-getdate.c: Likewise.
30610         * tests/test-getgroups.c: Likewise.
30611         * tests/test-gethostname.c: Likewise.
30612         * tests/test-quotearg.c: Likewise.
30613         * tests/test-version-etc.c: Likewise.
30614         * tests/test-xalloc-die.c: Likewise.
30615         * tests/test-xfprintf-posix.c: Likewise.
30616         * tests/test-xprintf-posix.c: Likewise.
30617         * tests/test-xvasprintf.c: Likewise.
30618
30619         tests: avoid compiler warnings
30620         * tests/test-fcntl.c (main): Delete unused parameters.
30621         * tests/test-freopen-safer.c (main): Likewise.
30622         * tests/test-xalloc-die.c (main): Mark unused parameters.
30623         * tests/test-fseeko.c (main): Likewise.
30624         * tests/test-ftello.c (main): Likewise.
30625         * tests/test-nanosleep.c (main): Avoid declaration warning.
30626         * tests/test-sleep.c (main): Likewise.
30627         * tests/test-unsetenv.c (main): Silence warning about string
30628         literal.
30629         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30630
30631 2009-12-23  Bruno Haible  <bruno@clisp.org>
30632
30633         * tests/test-localename.c (test_locale_name): New function, extracted
30634         from main. Also test mixed situations.
30635         (test_locale_name_posix, test_locale_name_environ,
30636         test_locale_name_default): New functions.
30637         (main): Invoke them all.
30638         * modules/localename-tests (configure.ac): Test for newlocale.
30639
30640 2009-12-23  Bruno Haible  <bruno@clisp.org>
30641
30642         unistd: Ensure getcwd gets declared before being overridden.
30643         * lib/unistd.in.h: Conditionally include <io.h>.
30644
30645 2009-12-22  Bruno Haible  <bruno@clisp.org>
30646
30647         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30648         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30649         (gl_WCHAR_H): Invoke it.
30650         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30651         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30652         Reported by Karl Berry <karl@freefriends.org>.
30653
30654 2009-12-22  Eric Blake  <ebb9@byu.net>
30655
30656         math, unistd: avoid redundant includes
30657         * lib/math.in.h (isnan): No need to re-include <math.h>.
30658         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30659
30660         getsubopt: work around cygwin bug
30661         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30662         avoid conflicting with system getsubopt.
30663         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30664         bug.
30665
30666         getopt: synchronize from glibc
30667         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30668         parameter order.  Adjust all callers.
30669         (_getopt_internal_r, main): Adjust quoting in error messages.
30670         Drop considerations for outdated POSIX 1003.2 error message.
30671         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30672         callers.
30673         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30674
30675         test-getopt: test stderr behavior
30676         * modules/getopt-posix-tests (Depends-on): Add dup2.
30677         * tests/test-getopt.c (ASSERT): Avoid stderr.
30678         (main): Move stderr to a temporary file.
30679         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30680         Instead, add parameter to inform caller if output occurred.
30681         (test_getopt): Adjust all existing tests to expect silence, and
30682         add new tests of leading ":".
30683         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30684         glibc shortcomings with leading "-:" or "+:" in optstring.
30685         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30686         Likewise.
30687         * doc/posix-functions/getopt.texi (getopt): Likewise.
30688
30689         test-getopt: enhance test
30690         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30691         supports optind=0.
30692         * tests/test-getopt.c (OPTIND_MIN): Move...
30693         * tests/test-getopt.h (OPTIND_MIN): ...here.
30694         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30695         Require that optind=0 works, since modern BSD supports it in
30696         addition to optreset, and since coreutils expects it.
30697         (test_getopt_long_only): New test.
30698         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30699         glibc shortcomings with 'W;', and enforcement of optind=0.
30700         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30701         Likewise.
30702
30703 2009-12-21  Bruno Haible  <bruno@clisp.org>
30704
30705         localename: Improvements for MacOS X and Cygwin.
30706         * lib/localename.h (gl_locale_name_environ): New declaration.
30707         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30708         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30709         (gl_locale_name_posix): Invoke it.
30710         (gl_locale_name_default): Add comments. Use Windows native API also on
30711         Cygwin.
30712
30713 2009-12-21  Bruno Haible  <bruno@clisp.org>
30714
30715         Update list of Win32 locale ids.
30716         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30717         (LANG_SAMI): Renamed from LANG_SAAMI.
30718         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30719         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30720         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30721         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30722         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30723         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30724         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30725         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30726         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30727         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30728         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30729         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30730         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30731         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30732         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30733         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30734         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30735         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30736         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30737         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30738         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30739         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30740         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30741         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30742         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30743         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30744         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30745         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30746         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30747         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30748         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30749         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30750         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30751         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30752         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30753         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30754         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30755         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30756         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30757         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30758         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30759         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30760         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30761         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30762         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30763         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30764         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30765         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30766         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30767         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30768         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30769         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30770         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30771         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30772         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30773         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30774         Add more languages and countries for Sami, Sorbian. Add more countries
30775         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30776         for Pashto. Change country for Syriac, Tswana.
30777
30778 2009-12-21  Eric Blake  <ebb9@byu.net>
30779
30780         test-utimens: avoid spurious failure
30781         * tests/test-chown.h (nap): Factor...
30782         * tests/nap.h: ...into new file.
30783         * tests/test-lchown.h (nap): Avoid duplication.
30784         * tests/test-utimens-common.h (nap): Use shared implementation,
30785         necessary on file systems with 1-second resolution.
30786         * modules/chown-tests (Files): Include new file.
30787         * modules/fdutimensat-tests (Files): Likewise.
30788         * modules/futimens-tests (Files): Likewise.
30789         * modules/lchown-tests (Files): Likewise.
30790         * modules/openat-tests (Files): Likewise.
30791         * modules/utimens-tests (Files): Likewise.
30792         * modules/utimensat-tests (Files): Likewise.
30793
30794 2009-12-19  Eric Blake  <ebb9@byu.net>
30795
30796         futimens, utimensat: work around Linux bug
30797         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30798         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30799         * lib/utimensat.c (rpl_utimensat): Work around it.
30800         * lib/futimens.c (rpl_futimens): Adjust comment.
30801
30802         utimens: work around Linux ctime bug
30803         * lib/utimens.c (detect_ctime_bug): New helper function.
30804         (update_timespec): Differentiate between workaround needed for
30805         this bug vs. what is needed for systems that lack utimensat.
30806         (fdutimens, lutimens): Work around bug.
30807
30808         utimens: check for ctime update
30809         * tests/test-utimens-common.h (check_ctime): Define.
30810         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30811         * tests/test-futimens.h (test_futimens): Likewise.
30812         * tests/test-lutimens.h (test_lutimens): Likewise.
30813         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30814         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30815
30816 2009-12-19  Bruno Haible  <bruno@clisp.org>
30817
30818         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30819         * tests/test-dprintf-posix2.sh: New file.
30820         * tests/test-dprintf-posix2.c: New file.
30821         * modules/dprintf-posix-tests (Files): Add them.
30822         (configure.ac): Check for getrlimit and setrlimit.
30823         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30824
30825 2009-12-19  Bruno Haible  <bruno@clisp.org>
30826
30827         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30828         * tests/test-fprintf-posix3.sh: New file.
30829         * tests/test-fprintf-posix3.c: New file.
30830         * modules/fprintf-posix-tests (Files): Add them.
30831         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30832
30833 2009-12-19  Eric Blake  <ebb9@byu.net>
30834
30835         dirfd: fix prototype
30836         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30837         * lib/dirfd.c (dirfd): Likewise.
30838
30839         canonicalize: reduce memory usage
30840         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30841         allocation to size.
30842         Reported by Solar Designer <solar@openwall.com>.
30843
30844 2009-12-19  Bruno Haible  <bruno@clisp.org>
30845
30846         New module attribute 'Applicability'.
30847         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30848         * gnulib-tool: New option --extract-applicability.
30849         (func_usage): Document it.
30850         (sed_extract_prog): Recognize it.
30851         (func_get_applicability): New function.
30852         (func_import): Generalize handling of 'link-warning' module.
30853         * modules/link-warning (Applicability): New section.
30854         * modules/arg-nonnull (Applicability): New section.
30855         Repoted by Simon Josefsson <simon@josefsson.org>.
30856
30857 2009-12-19  Bruno Haible  <bruno@clisp.org>
30858
30859         fflush: tweak
30860         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30861         * lib/fseeko.c (rpl_fseeko): Likewise.
30862
30863 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30864
30865         * lib/gl_list.h: Fix typo in comment.
30866
30867 2009-12-16  Eric Blake  <ebb9@byu.net>
30868
30869         fcntl: use to simplify other modules
30870         * modules/cloexec (Depends-on): Add fcntl.
30871         * modules/fchdir (Depends-on): Likewise.
30872         * modules/fd-safer-flag (Depends-on): Likewise.
30873         * modules/unistd-safer (Depends-on): Likewise.
30874         * modules/dup3 (configure.ac): Set module indicator.
30875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30876         missing.
30877         * lib/fchdir.c (_gl_register_dup): Fix comment.
30878         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30879         * lib/dup-safer.c (dup_safer): Likewise.
30880         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30881         * lib/dup3.c (dup3): Likewise.
30882         * tests/test-fchdir.c (main): Enhance test.
30883         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30884
30885         fcntl: port portions of fcntl to mingw
30886         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30887         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30888         replacement for mingw.
30889         * modules/fcntl (Description): Update.
30890         (Depends-on): Add dup2.
30891         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30892         * modules/fcntl-h (Makefile.am): Substitute it.
30893         * lib/fcntl.in.h (fcntl): Update declaration.
30894         (F_DUPFD, F_GETFD): New macros, when needed.
30895         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30896         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30897         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30898         we now guarantee.
30899
30900         fcntl: work around cygwin bug in F_DUPFD
30901         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30902         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30903         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30904         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30905         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30906
30907         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30908         * modules/fcntl (Files): List new files.
30909         (configure.ac): Run a test.
30910         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30911         * lib/fcntl.c (rpl_fcntl): Likewise.
30912         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30913         (gl_FCNTL_H): Always replace fcntl.h.
30914         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30915         * lib/fcntl.in.h (fcntl): Declare replacement.
30916         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30917         needed, plus a witness.
30918         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30919         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30920         * tests/test-fcntl.c: New file.
30921         * modules/fcntl-tests: Likewise.
30922
30923         binary-io: avoid potential compilation warning
30924         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30925         directives.
30926
30927         fflush: avoid compilation error on NetBSD
30928         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
30929         between off_t and fpos_t, since the latter is sometimes a struct.
30930         * lib/fseeko.c (rpl_fseeko): Likewise.
30931         Reported by Alexander Nasonov <alnsn@yandex.ru>.
30932
30933 2009-12-15  Eric Blake  <ebb9@byu.net>
30934
30935         fcntl-h, stdio, sys_ioctl: fix declarations
30936         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
30937         function must not take arguments.
30938         * lib/sys_ioctl.in.h (ioctl): Likewise.
30939         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
30940         (open): Add a link warning.
30941
30942 2009-12-15  Jim Meyering  <meyering@redhat.com>
30943
30944         areadlink, areadlink-with-size: relax license to LGPLv2+
30945         * modules/areadlink (License): Relax to LGPLv2+.
30946         * modules/areadlink-with-size (License): Likewise.
30947
30948 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
30949             Bruno Haible  <bruno@clisp.org>
30950
30951         *printf: Fix memory leak.
30952         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
30953         * lib/vfprintf.c (vfprintf): Likewise.
30954         * lib/dprintf.c (dprintf): Likewise.
30955         * lib/vdprintf.c (vdprintf): Likewise.
30956
30957 2009-12-14  Eric Blake  <ebb9@byu.net>
30958
30959         accept4: adjust module dependencies
30960         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
30961
30962         utimens: one more try at avoiding compiler warning
30963         * lib/utimens.c (lutimens): Lower scope of result.
30964
30965 2009-12-13  Bruno Haible  <bruno@clisp.org>
30966
30967         Move the malloc checking from module 'list' to new module 'xlist'.
30968         * modules/xlist: New file.
30969         * lib/gl_xlist.h: New file.
30970         * lib/gl_xlist.c: New file.
30971         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
30972         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
30973         gl_list_add_last, gl_list_add_before, gl_list_add_after,
30974         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
30975         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
30976         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
30977         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
30978         gl_sortedlist_nx_add): New declarations.
30979         (struct gl_list_implementation): Rename and change methods accordingly.
30980         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
30981         (gl_list_nx_create): Renamed from gl_list_create.
30982         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30983         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30984         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30985         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30986         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30987         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30988         (gl_list_nx_add_at): Renamed from gl_list_add_at.
30989         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
30990         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
30991         gl_list_create_empty.
30992         (gl_list_nx_create): Renamed from gl_list_create.
30993         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
30994         (gl_list_nx_set_at): Renamed from gl_list_set_at.
30995         (gl_list_nx_add_first): Renamed from gl_list_add_first.
30996         (gl_list_nx_add_last): Renamed from gl_list_add_last.
30997         (gl_list_nx_add_before): Renamed from gl_list_add_before.
30998         (gl_list_nx_add_after): Renamed from gl_list_add_after.
30999         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31000         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31001         * lib/gl_array_list.c: Don't include xalloc.h.
31002         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31003         NULL upon out-of-memory.
31004         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31005         out-of-memory.
31006         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31007         Change return type to 'int'.
31008         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31009         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31010         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31011         upon out-of-memory.
31012         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31013         upon out-of-memory.
31014         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31015         upon out-of-memory.
31016         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31017         upon out-of-memory.
31018         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31019         out-of-memory.
31020         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31021         Update.
31022         (gl_array_list_implementation): Update.
31023         * lib/gl_carray_list.c: Don't include xalloc.h.
31024         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31025         Return NULL upon out-of-memory.
31026         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31027         out-of-memory.
31028         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31029         Change return type to 'int'.
31030         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31031         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31032         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31033         upon out-of-memory.
31034         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31035         upon out-of-memory.
31036         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31037         out-of-memory.
31038         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31039         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31040         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31041         Update.
31042         (gl_carray_list_implementation): Update.
31043         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31044         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31045         gl_linked_create_empty. Return NULL upon out-of-memory.
31046         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31047         out-of-memory.
31048         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31049         Change return type to 'int'. Return -1 upon out-of-memory.
31050         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31051         out-of-memory.
31052         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31053         upon out-of-memory.
31054         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31055         upon out-of-memory.
31056         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31057         NULL upon out-of-memory.
31058         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31059         upon out-of-memory.
31060         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31061         out-of-memory.
31062         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31063         Update.
31064         * lib/gl_linked_list.c: Don't include xalloc.h.
31065         (gl_linked_list_implementation): Update.
31066         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31067         (add_to_bucket): Change return type to 'int'.
31068         (gl_linkedhash_list_implementation): Update.
31069         * lib/gl_anytree_list1.h (free_subtree): New function.
31070         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31071         gl_tree_create_empty. Return NULL upon out-of-memory.
31072         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31073         Change return type to 'int'. Return -1 upon out-of-memory.
31074         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31075         out-of-memory.
31076         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31077         (gl_tree_remove_node): New function, moved here from
31078         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31079         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31080         Update.
31081         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31082         malloc, not xmalloc. Return NULL upon out-of-memory.
31083         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31084         out-of-memory.
31085         (gl_tree_remove_node_from_tree): New function, extracted from
31086         gl_tree_remove_node.
31087         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31088         upon out-of-memory.
31089         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31090         out-of-memory.
31091         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31092         upon out-of-memory.
31093         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31094         upon out-of-memory.
31095         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31096         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31097         not xmalloc. Return NULL upon out-of-memory.
31098         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31099         out-of-memory.
31100         (gl_tree_remove_node_from_tree): New function, extracted from
31101         gl_tree_remove_node.
31102         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31103         upon out-of-memory.
31104         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31105         out-of-memory.
31106         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31107         upon out-of-memory.
31108         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31109         upon out-of-memory.
31110         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31111         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31112         gl_anytree_list1.h before gl_anyavltree_list2.h.
31113         (gl_avltree_list_implementation): Update.
31114         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31115         gl_anytree_list1.h before gl_anyavltree_list2.h.
31116         (gl_rbtree_list_implementation): Update.
31117         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31118         Change return type to 'int'. Return -1 upon out-of-memory. Use
31119         __builtin_expect.
31120         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31121         (gl_avltreehash_list_implementation): Update.
31122         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31123         (gl_rbtreehash_list_implementation): Update.
31124         * modules/array-list (Depends-on): Remove xalloc.
31125         * modules/carray-list (Depends-on): Likewise.
31126         * modules/linked-list (Depends-on): Likewise.
31127         * modules/linkedhash-list (Depends-on): Likewise.
31128         * modules/avltree-list (Depends-on): Likewise.
31129         * modules/rbtree-list (Depends-on): Likewise.
31130         * modules/avltreehash-list (Depends-on): Likewise.
31131         * modules/rbtreehash-list (Depends-on): Likewise.
31132
31133         * modules/xsublist: New file.
31134         * lib/gl_xsublist.h: New file.
31135         * lib/gl_xsublist.c: New file.
31136         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31137         (gl_sublist_nx_create): New declaration.
31138         * lib/gl_sublist.c: Don't include xalloc.h.
31139         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31140         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31141         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31142         Change return type to 'int'. Return -1 upon out-of-memory.
31143         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31144         upon out-of-memory.
31145         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31146         NULL upon out-of-memory.
31147         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31148         upon out-of-memory.
31149         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31150         NULL upon out-of-memory.
31151         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31152         NULL upon out-of-memory.
31153         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31154         upon out-of-memory.
31155         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31156         (gl_sublist_list_implementation): Update.
31157         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31158         upon out-of-memory.
31159         * modules/sublist (Depends-on): Remove xalloc.
31160
31161         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31162         * tests/test-carray_list.c: Likewise.
31163         * tests/test-linked_list.c: Likewise.
31164         * tests/test-linkedhash_list.c: Likewise.
31165         * tests/test-avltree_list.c: Likewise.
31166         * tests/test-rbtree_list.c: Likewise.
31167         * tests/test-avltreehash_list.c: Likewise.
31168         * tests/test-rbtreehash_list.c: Likewise.
31169         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31170         * modules/carray-list-tests (Makefile.am): Likewise.
31171         * modules/linked-list-tests (Makefile.am): Likewise.
31172         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31173         * modules/avltree-list-tests (Makefile.am): Likewise.
31174         * modules/rbtree-list-tests (Makefile.am): Likewise.
31175         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31176         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31177
31178         * NEWS: Mention the changes.
31179
31180         * lib/clean-temp.c: Include gl_xlist.h.
31181         * modules/clean-temp (Depends-on): Add xlist.
31182
31183         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31184         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31185
31186         * tests/test-array_oset.c: Include gl_xlist.h.
31187         * modules/array-oset-tests (Depends-on): Add xlist.
31188
31189         Reported by José E. Marchesi <jemarch@gnu.org>.
31190
31191 2009-12-13  Bruno Haible  <bruno@clisp.org>
31192
31193         Move the malloc checking from module 'oset' to new module 'xoset'.
31194         * modules/xoset: New file.
31195         * lib/gl_xoset.h: New file.
31196         * lib/gl_xoset.c: New file.
31197         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31198         declarations.
31199         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31200         (struct gl_oset_implementation): Rename and change methods accordingly.
31201         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31202         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31203         'int'. Mark as __warn_unused_result__.
31204         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31205         gl_oset_create_empty.
31206         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31207         'int'.
31208         * lib/gl_array_oset.c: Don't include xalloc.h.
31209         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31210         malloc, not xmalloc.
31211         (grow): Change return type to 'int'. Don't call xalloc_die.
31212         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31213         to 'int'.
31214         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31215         'int'.
31216         (gl_array_oset_implementation): Update.
31217         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31218         gl_tree_create_empty.
31219         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31220         'int'.
31221         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31222         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31223         xmalloc.
31224         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31225         not xmalloc.
31226         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31227         xmalloc.
31228         (gl_avltree_oset_implementation): Update.
31229         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31230         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31231         xmalloc.
31232         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31233         not xmalloc.
31234         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31235         xmalloc.
31236         (gl_rbtree_oset_implementation): Update.
31237         * modules/array-oset (Depends-on): Remove xalloc.
31238         * modules/avltree-oset (Depends-on): Likewise.
31239         * modules/rbtree-oset (Depends-on): Likewise.
31240         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31241         * tests/test-avltree_oset.c: Likewise.
31242         * tests/test-rbtree_oset.c: Likewise.
31243         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31244         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31245         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31246         * NEWS: Mention the change.
31247
31248 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31249
31250         maint.mk: allow a project to override release-prep commands
31251         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31252         commands into a new rule.
31253         (release-prep): New rule.
31254         (release-prep-hook): New overridable variable.
31255
31256 2009-12-13  Bruno Haible  <bruno@clisp.org>
31257
31258         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31259
31260 2009-12-13  Jim Meyering  <meyering@redhat.com>
31261
31262         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31263         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31264
31265 2009-12-12  Bruno Haible  <bruno@clisp.org>
31266
31267         duplocale: Tweak.
31268         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31269
31270 2009-12-12  Karl Berry  <karl@gnu.org>
31271
31272         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31273
31274 2009-12-12  Bruno Haible  <bruno@clisp.org>
31275
31276         * m4/po.m4: Undo incorrect untabification.
31277
31278 2009-12-12  Bruno Haible  <bruno@clisp.org>
31279
31280         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31281         * modules/c-strtod (Depends-on): Add locale.
31282         * modules/c-strtold (Depends-on): Likewise.
31283
31284 2009-12-12  Bruno Haible  <bruno@clisp.org>
31285
31286         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31287
31288 2009-12-11  Eric Blake  <ebb9@byu.net>
31289
31290         setenv: relax requirement in light of POSIX ruling
31291         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31292         not NULL.
31293         * tests/test-setenv.c (main): Relax test.
31294         * tests/test-unsetenv.c (main): Likewise.
31295         * doc/posix-functions/setenv.texi (setenv): Document this.
31296         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31297
31298 2009-12-11  Bruno Haible  <bruno@clisp.org>
31299
31300         New module 'fd-safer-flag'.
31301         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31302         * lib/dup-safer.c (dup_safer_flag): Remove function.
31303         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31304         * lib/fd-safer.c (fd_safer_flag): Remove function.
31305         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31306         * modules/cloexec (configure.ac): Drop indicator macro.
31307         * modules/fd-safer-flag: New file.
31308         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31309         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31310         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31311
31312 2009-12-11  Bruno Haible  <bruno@clisp.org>
31313
31314         Tests for module 'nl_langinfo'.
31315         * modules/nl_langinfo-tests: New file.
31316         * tests/test-nl_langinfo.sh: New file.
31317         * tests/test-nl_langinfo.c: New file.
31318
31319         New module 'nl_langinfo'.
31320         * lib/nl_langinfo.c: New file.
31321         * m4/nl_langinfo.m4: New file.
31322         * modules/nl_langinfo: New file.
31323         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31324
31325 2009-12-11  Bruno Haible  <bruno@clisp.org>
31326
31327         Tests for module 'langinfo'.
31328         * modules/langinfo-tests: New file.
31329         * tests/test-langinfo.c: New file.
31330
31331         New module 'langinfo'.
31332         * lib/langinfo.in.h: New file.
31333         * m4/langinfo_h.m4: New file.
31334         * modules/langinfo: New file.
31335         * doc/posix-headers/langinfo.texi: Mention the new module.
31336
31337 2009-12-11  Bruno Haible  <bruno@clisp.org>
31338
31339         * lib/config.charset: Untabify.
31340
31341 2009-12-11  Bruno Haible  <bruno@clisp.org>
31342
31343         * modules/unistd-safer (configure.ac): Drop indicator macro.
31344
31345 2009-12-11  Bruno Haible  <bruno@clisp.org>
31346
31347         Move pipe2-safer code to its own file.
31348         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31349         * lib/pipe-safer.c (pipe2_safer): Remove function.
31350         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31351         (Makefile.am): Add it to lib_SOURCES.
31352
31353 2009-12-10  Bruno Haible  <bruno@clisp.org>
31354
31355         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31356
31357 2009-12-10  Bruno Haible  <bruno@clisp.org>
31358
31359         Declare which arguments expect non-NULL values, for GCC and clang.
31360         * build-aux/arg-nonnull.h: New file.
31361         * modules/arg-nonnull: New file.
31362         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31363         (inet_ntop, inet_pton): Use it.
31364         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31365         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31366         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31367         (open, openat): Use it.
31368         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31369         (fnmatch): Use it.
31370         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31371         (getopt, getopt_long, getopt_long_only): Use it.
31372         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31373         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31374         Use it.
31375         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31376         (iconv_open): Use it.
31377         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31378         (strtoimax, strtoumax): Use it.
31379         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31380         (duplocale): Use it.
31381         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31382         (frexp, frexpl): Use it.
31383         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31384         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31385         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31386         (tsearch, tfind, tdelete, twalk): Use it.
31387         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31388         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31389         sigpending): Use it.
31390         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31391         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31392         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31393         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31394         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31395         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31396         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31397         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31398         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31399         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31400         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31401         Use it.
31402         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31403         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31404         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31405         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31406         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31407         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31408         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31409         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31410         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31411         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31412         strtoull, unsetenv): Use it.
31413         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31414         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31415         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31416         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31417         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31418         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31419         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31420         (strcasecmp, strncasecmp): Use it.
31421         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31422         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31423         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31424         rpl_setsockopt): Use it.
31425         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31426         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31427         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31428         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31429         (gettimeofday): Use it.
31430         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31431         (times): Use it.
31432         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31433         (uname): Use it.
31434         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31435         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31436         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31437         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31438         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31439         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31440         unlinkat, write): Use it.
31441         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31442         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31443         * lib/argv-iter.h: Include arg-nonnull.h.
31444         (_ATTRIBUTE_NONNULL_): Remove macro.
31445         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31446         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31447         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31448         optimization.
31449         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31450         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31451         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31452         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31453         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31454         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31455         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31456         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31457         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31458         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31459         * modules/dirent (Depends-on): Add arg-nonnull.
31460         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31461         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31462         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31463         * modules/fnmatch (Depends-on): Add arg-nonnull.
31464         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31465         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31466         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31467         * modules/glob (Depends-on): Add arg-nonnull.
31468         (Makefile.am): Insert arg-nonnull.h into glob.h.
31469         * modules/iconv_open (Depends-on): Add arg-nonnull.
31470         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31471         * modules/inttypes (Depends-on): Add arg-nonnull.
31472         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31473         * modules/locale (Depends-on): Add arg-nonnull.
31474         (Makefile.am): Insert arg-nonnull.h into locale.h.
31475         * modules/math (Depends-on): Add arg-nonnull.
31476         (Makefile.am): Insert arg-nonnull.h into math.h.
31477         * modules/netdb (Depends-on): Add arg-nonnull.
31478         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31479         * modules/search (Depends-on): Add arg-nonnull.
31480         (Makefile.am): Insert arg-nonnull.h into search.h.
31481         * modules/signal (Depends-on): Add arg-nonnull.
31482         (Makefile.am): Insert arg-nonnull.h into signal.h.
31483         * modules/spawn (Depends-on): Add arg-nonnull.
31484         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31485         * modules/stdio (Depends-on): Add arg-nonnull.
31486         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31487         * modules/stdlib (Depends-on): Add arg-nonnull.
31488         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31489         * modules/string (Depends-on): Add arg-nonnull.
31490         (Makefile.am): Insert arg-nonnull.h into string.h.
31491         * modules/strings (Depends-on): Add arg-nonnull.
31492         (Makefile.am): Insert arg-nonnull.h into strings.h.
31493         * modules/sys_socket (Depends-on): Add arg-nonnull.
31494         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31495         * modules/sys_stat (Depends-on): Add arg-nonnull.
31496         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31497         * modules/sys_time (Depends-on): Add arg-nonnull.
31498         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31499         * modules/sys_times (Depends-on): Add arg-nonnull.
31500         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31501         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31502         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31503         * modules/time (Depends-on): Add arg-nonnull.
31504         (Makefile.am): Insert arg-nonnull.h into time.h.
31505         * modules/unistd (Depends-on): Add arg-nonnull.
31506         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31507         * modules/wchar (Depends-on): Add arg-nonnull.
31508         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31509         * modules/argv-iter (Depends-on): Add arg-nonnull.
31510         * tests/test-canonicalize.c (null_ptr): New function.
31511         (main): Use it.
31512         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31513         (main): Use it.
31514         * tests/test-memmem.c (null_ptr): New function.
31515         (main): Use it.
31516         Reported by Jim Meyering.
31517
31518 2009-12-10  Bruno Haible  <bruno@clisp.org>
31519
31520         Use spaces for indentation, not tabs.
31521         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31522         * m4/*.m4: Untabify.
31523         * build-aux/*.h: Untabify.
31524         * tests/**/*.[hc]: Untabify.
31525         * README: New section "Indent with spaces, not TABs", based on
31526         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31527         * NEWS: Mention the change.
31528
31529 2009-12-10  Bruno Haible  <bruno@clisp.org>
31530
31531         pty test: Fix link error.
31532         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31533         test_pty_LDADD.
31534
31535 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31536
31537         * modules/pty: New file.
31538         * modules/pty-tests: New file.
31539         * m4/pty.m4: New file.
31540         * tests/test-pty.c: New file.
31541         * doc/glibc-headers/pty.texi: Modified.
31542         * doc/glibc-functions/forkpty.texi: Modified.
31543         * doc/glibc-functions/openpty.texi: Modified.
31544
31545 2009-12-10  Bruno Haible  <bruno@clisp.org>
31546
31547         Avoid syntax error in C++ mode.
31548         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31549
31550 2009-12-10  Bruno Haible  <bruno@clisp.org>
31551
31552         Use sed with option -e.
31553         * gnulib-tool (func_version, func_emit_copyright_notice,
31554         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31555         option -e to sed.
31556         * modules/link-warning (Makefile.am): Likewise.
31557
31558 2009-12-10  Jim Meyering  <meyering@redhat.com>
31559
31560         mgetgroups: do not write bytes beyond end of malloc'd buffer
31561         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31562         username, we call getgroups with a one-element-shorter buffer,
31563         but still told it the length was original, max_n_groups.
31564
31565 2009-12-09  Eric Blake  <ebb9@byu.net>
31566
31567         cloexec: relax license
31568         * modules/cloexec (Maintainer): Add myself.
31569         (License): Use LGPL, not GPL.
31570
31571         link-warning: optimize generation
31572         * modules/link-warning (Makefile.am): Reduce process usage.
31573
31574 2009-12-09  Bruno Haible  <bruno@clisp.org>
31575
31576         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31577         workaround was added on 2009-11-17.
31578
31579 2009-12-09  Jim Meyering  <meyering@redhat.com>
31580             Bruno Haible  <bruno@clisp.org>
31581
31582         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31583         * modules/link-warning (Makefile.am): Make the comment-removing sed
31584         command more robust in the face of bootstrap-prepended comment lines.
31585
31586 2009-12-09  Bruno Haible  <bruno@clisp.org>
31587
31588         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31589         most one group.
31590
31591 2009-12-09  Simon Josefsson <simon@josefsson.org>
31592             Bruno Haible  <bruno@clisp.org>
31593
31594         * build-aux/link-warning.h: Add copyright notice.
31595         * modules/link-warning (Makefile.am): Generate link-warning.h from
31596         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31597         * NEWS: Mention change in link-warning module.
31598         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31599         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31600         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31601         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31602         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31603         * modules/math (Makefile.am): Add dependency to math.h.
31604         * modules/search (Makefile.am): Add dependency to search.h.
31605         * modules/signal (Makefile.am): Add dependency to signal.h.
31606         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31607         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31608         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31609         * modules/string (Makefile.am): Add dependency to string.h.
31610         * modules/strings (Makefile.am): Add dependency to strings.h.
31611         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31612         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31613         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31614         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31615         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31616         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31617         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31618         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31619         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31620
31621 2009-12-09  Bruno Haible  <bruno@clisp.org>
31622
31623         fchdir: Optimize away rpl_fstat when possible.
31624         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31625         REPLACE_OPEN_DIRECTORY.
31626         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31627
31628 2009-12-09  Bruno Haible  <bruno@clisp.org>
31629
31630         * lib/fchdir.c: Update comment.
31631
31632 2009-12-09  Bruno Haible  <bruno@clisp.org>
31633
31634         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31635
31636 2009-12-08  Eric Blake  <ebb9@byu.net>
31637
31638         fchdir: avoid memory leak on re-registration.
31639         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31640
31641 2009-12-08  Jim Meyering  <meyering@redhat.com>
31642
31643         init.sh: avoid Solaris 10 /bin/sh portability problem
31644         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31645         sourced script:
31646           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31647           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31648           bar
31649         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31650         and two tests used that idiom.
31651         * tests/init.sh: Update suggested usage comments.
31652         (path_prepend_): New function, to be used in place
31653         of the --src-path=DIR option.
31654         (setup_): Move PATH-prepending code into path_prepend_.
31655         * tests/test-pread.sh: Adapt to new usage.
31656         * tests/test-xalloc-die.sh: Likewise.
31657
31658 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31659
31660         * doc/gnulib.texi (Glibc pty.h): Add.
31661         * doc/glibc-functions/forkpty.texi: Add.
31662         * doc/glibc-functions/openpty.texi: Add.
31663         Suggested by Bruno Haible.
31664
31665 2009-12-08  Eric Blake  <ebb9@byu.net>
31666
31667         fchdir: fix logic bugs
31668         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31669         * tests/test-fchdir.c (main): Enhance test.
31670         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31671         is in use.
31672
31673         dup2: fix logic bugs
31674         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31675         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31676         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31677         exists.
31678         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31679
31680 2009-12-07  Eric Blake  <ebb9@byu.net>
31681
31682         unlink: fix m4 detection
31683         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31684
31685         unistd-safer: add unit test
31686         * modules/unistd-safer-tests: New file.
31687         * tests/test-dup-safer.c: Likewise.
31688         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31689         * tests/test-dup2.c (setmode): Likewise.
31690         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31691
31692         cloexec: preserve text vs. binary across dup_cloexec
31693         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31694         mode.
31695         * modules/dup2-tests (Depends-on): Add binary-io.
31696         * modules/cloexec-tests (Depends-on): Likewise.
31697         * tests/test-dup2.c (setmode, is_mode): New helpers.
31698         (main): Add tests that translation mode is preserved.
31699         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31700         Reported by Bruno Haible.
31701
31702         mgetgroups: reduce duplicate listings
31703         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31704         resulting array.
31705         * tests/test-chown.h (test_chown): Simplify client.
31706         * tests/test-lchown.h (test_lchown): Likewise.
31707
31708 2009-12-06  Bruno Haible  <bruno@clisp.org>
31709
31710         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31711         value.
31712
31713 2009-12-06  Bruno Haible  <bruno@clisp.org>
31714
31715         * lib/progname.c: Include stdio.h, stdlib.h.
31716         (set_program_name): Reject a NULL argument.
31717
31718 2009-12-05  Eric Blake  <ebb9@byu.net>
31719
31720         pipe2-safer: new module
31721         * modules/pipe2-safer: New file.
31722         * lib/unistd-safer.h (pipe2_safer): New prototype.
31723         * lib/unistd--.h (pipe2): New wrapper.
31724         * lib/pipe-safer.c (pipe2_safer): New function.
31725         * modules/pipe (Depends-on): Add pipe2-safer.
31726         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31727
31728         stdlib-safer: preserve cloexec flag for mkostemp[s]
31729         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31730         fd_safer_flag.
31731
31732         unistd-safer: allow preservation of cloexec status via flag
31733         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31734         prototypes.
31735         * lib/dup-safer.c (dup_safer_flag): New function.
31736         * lib/fd-safer.c (fd_safer_flag): Likewise.
31737         * modules/cloexec (configure.ac): Set witness.
31738
31739         test-dup2: enhance test
31740         * modules/dup2-tests (Depends-on): Add cloexec.
31741         * tests/test-dup2.c (main): Enhance test.
31742
31743         cloexec: add dup_cloexec
31744         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31745         header and comments.
31746         * lib/cloexec.c (set_cloexec_flag): Add comments.
31747         (dup_cloexec): New function, with mingw implementation borrowed
31748         from...
31749         * lib/w32spawn.h (dup_noinherit): ...here.
31750         * modules/execute (Depends-on): Add cloexec.
31751         * modules/pipe (Depends-on): Likewise.
31752         * modules/cloexec (Depends-on): Add dup2.
31753         * modules/cloexec-tests (Files): New file.
31754         * tests/test-cloexec.c: Likewise.
31755
31756         test-xalloc-die: fix test for mingw
31757         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31758         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31759         directory and .exe suffix off argv[0] output.
31760
31761         test-fseeko: fix test for mingw
31762         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31763         than undefining fseek, so test will pass on mingw.
31764
31765 2009-12-05  Bruno Haible  <bruno@clisp.org>
31766
31767         * lib/progname.h (set_program_name): Clarify specification.
31768         * lib/progname.c (set_program_name): Likewise.
31769         Reported by Jim Meyering.
31770
31771 2009-12-05  Jim Meyering  <meyering@redhat.com>
31772
31773         maint.mk: backslash-escape parens in default regexp
31774         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31775         backslash-escape the literal parentheses.
31776
31777         maint.mk: news-date-check: use grep -E
31778         * top/maint.mk (today): Define a Make variable, not a...
31779         (news-date-check): ...shell variable.
31780         (news-date-regexp): Use the Make variable.
31781         Use grep's -E option.  Change the failing diagnostic to mention
31782         the variable, $(news-date-regexp).
31783
31784 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31785
31786         maintainer-makefile: allow customization of NEWS entry format
31787         * top/maint.mk (news-date-regexp): New overridable variable.
31788         (news-date-check): Use it.
31789
31790 2009-12-04  Eric Blake  <ebb9@byu.net>
31791
31792         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31793         * lib/mgetgroups.h (xgetgroups): New prototype.
31794         * lib/mgetgroups.c (xgetgroups): New wrapper.
31795         (mgetgroups): Handle ENOSYS.
31796         * modules/mgetgroups (Depends-on): Add realloc.
31797         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31798
31799         mgetgroups: avoid argument promotion issues with -1
31800         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31801         for invalid gid_t.
31802         * tests/test-chown.h (getegid, test_chown): Likewise.
31803         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31804
31805 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31806
31807         exclude: Fix header file problems.
31808         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31809
31810 2009-12-01  Jim Meyering  <meyering@redhat.com>
31811
31812         fts: fts_open: do not let an empty string cause immediate failure
31813         This is required in support of GNU rm, for which the command
31814         "rm A '' B" must process and remove both A and B, in spite of
31815         the empty string argument.
31816         * lib/fts.c (fts_open): Do not let the presence of an empty string
31817         cause fts_open to fail immediately.  Most fts-using tools must be
31818         able to process all arguments, in order, and can be expected to
31819         diagnose such arguments themselves.
31820
31821 2009-11-30  Eric Blake  <ebb9@byu.net>
31822
31823         utimens: fix compilation error
31824         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31825         Declare variable at right scope.
31826
31827 2009-11-29  Jim Meyering  <meyering@redhat.com>
31828
31829         bootstrap: handle perl-5.11's changed --version output
31830         * build-aux/bootstrap (get_version): Handle perl separately,
31831         since perl-5.11's --version output is different.
31832
31833 2009-11-28  Jim Meyering  <meyering@redhat.com>
31834
31835         userspec: depend on the inttostr module, too
31836         * modules/userspec (Depends-on): Add inttostr.
31837
31838         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31839         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31840         number of MAXUID when it evaluates to (uid_t) -1.
31841         Likewise for group ID.  Reported by Matt McCutchen in
31842         <http://savannah.gnu.org/bugs/?28113>
31843
31844         userspec: reformat to use spaces, not TABs
31845         * lib/userspec.c: Expand TABs to spaces.
31846         Add Emacs' "indent-tabs-mode: nil" hint.
31847
31848 2009-11-27  Eric Blake  <ebb9@byu.net>
31849
31850         getopt-gnu: flush out another BSD bug
31851         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31852         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31853         flush out BSD bug.
31854         * tests/test-getopt.h (test_getopt): End lists with NULL.
31855         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31856         (test_getopt_long_posix): Enhance test.
31857         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31858         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31859         getopt-gnu.
31860         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31861         Likewise.
31862
31863 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31864
31865         * modules/idpriv-droptemp-tests (Notice): Fix text.
31866
31867 2009-11-27  Jim Meyering  <meyering@redhat.com>
31868
31869         test-xalloc-die: avoid spurious failure due to libtool argv difference
31870         In a libtool-enabled project, this test would fail due to a difference
31871         in the emitted program name, e.g.,
31872         -test-xalloc-die: memory exhausted
31873         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31874         Use program to avoid that.
31875         * modules/xalloc-die-tests (Depends-on): Add progname.
31876         * tests/test-xalloc-die.c: Include progname.h".
31877         (program_name): Remove decl.
31878         (main): Call set_program_name.
31879         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31880
31881 2009-11-26  Richard Jones  <rjones@redhat.com>
31882
31883         w32sock: leave win32 error in place.
31884         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31885
31886 2009-11-26  Eric Blake  <ebb9@byu.net>
31887
31888         init.sh: suggest to use skip_ and fail_ functions in comments
31889         * tests/init.sh: Add a sentence.
31890
31891 2009-11-25  Bruno Haible  <bruno@clisp.org>
31892
31893         init.sh: add documentation in comments
31894         * tests/init.sh: Add some developer and user documentation.
31895
31896 2009-11-26  Jim Meyering  <meyering@redhat.com>
31897
31898         init.sh: accommodate even those who specify bogus srcdir manually
31899         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31900         configure-time tests to be sanitized, so that there is no need to
31901         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31902         (with no double quotes) suffices.  However, since tests may be
31903         invoked manually, and since you may explicitly set srcdir to the
31904         name of a directory containing spaces, do quote its uses here.
31905         * tests/test-pread.sh: Likewise.
31906         Suggested by Bruno Haible.
31907
31908         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31909         * tests/test-pread.sh: Write no data into the pipe, because
31910         test-pread actually reads none.  This avoids a diagnostic,
31911         "bash: echo: write error: Broken pipe", that arises in the unusual
31912         event something is ignoring SIGPIPE, and might be interpreted
31913         as some sort of failure.  Reported by Bruno Haible.
31914
31915 2009-11-25  Jim Meyering  <meyering@redhat.com>
31916
31917         test-pread: cover failure with ESPIPE and EINVAL
31918         * tests/test-pread.c (main): Test for failure, too.
31919         * tests/test-pread.sh: Invoke with stdin on a pipe.
31920         Suggested by Eric Blake.
31921
31922         pread: improvement and fix
31923         * modules/pread (Depends-on): Depend on lseek, for portability to
31924         e.g., mingw.  Suggested by Eric Blake.
31925         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31926
31927         unistd.in.h: correct declaration of pread
31928         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
31929         Reported by Richard W.M. Jones.
31930
31931         test-pread.sh: distribute the test script
31932         * modules/pread-tests (Files): Include test-pread.sh.
31933
31934         test-pread.sh: clean up
31935         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
31936         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
31937         That is unnecessary, since it's always ".".
31938         Suggestion from Eric Blake.
31939
31940         test-pread.sh: make executable
31941         * tests/test-pread.sh: Set executable bit.
31942         Reported by Eric Blake.
31943
31944         correct typo in test-pread.sh
31945         * tests/test-pread.sh: Add #! line.
31946
31947         test pread
31948         * tests/test-pread.c: New file.
31949         * tests/test-pread.sh: Likewise.
31950         * modules/pread-tests: Likewise.
31951
31952         pread: new module
31953         * modules/pread: New file.
31954         * lib/unistd.in.h (pread): Define/declare.
31955         * lib/pread.c (pread): New file.
31956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
31957         * modules/unistd (Makefile.am): Substitute witnesses.
31958         * doc/posix-functions/pread.texi (pread): Update.
31959         * MODULES.html.sh: Add pread.
31960
31961 2009-11-25  Jim Meyering  <meyering@redhat.com>
31962
31963         tests/init.sh: new file to be used via most *.sh tests
31964         * tests/init.sh: New file.
31965
31966 2009-11-25  Eric Blake  <ebb9@byu.net>
31967
31968         utimens: work around older Linux failure with symlinks
31969         * lib/utimens.c (lutimensat_works_really): New variable.
31970         (fdutimens, lutimens): Use it to manage kernels that support
31971         nanosecond times on files, but not on symlinks.
31972         Reported by OndÅ™ej Vašík.
31973
31974         utimes: fix configure grammar
31975         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
31976
31977 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
31978
31979         regex: Fix fastmap for multibyte character ranges.
31980         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
31981         characters when a multibyte character range is included.
31982
31983 2009-11-22  Andy Wingo  <wingo@pobox.com>
31984
31985         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
31986         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
31987
31988 2009-11-24  Bruno Haible  <bruno@clisp.org>
31989
31990         doc: Most *_l functions exist in MacOS X 10.5.
31991         * doc/posix-functions/duplocale.texi: Update platforms list.
31992         * doc/posix-functions/freelocale.texi: Likewise.
31993         * doc/posix-functions/newlocale.texi: Likewise.
31994         * doc/posix-functions/uselocale.texi: Likewise.
31995         * doc/posix-functions/isalnum_l.texi: Likewise.
31996         * doc/posix-functions/isalpha_l.texi: Likewise.
31997         * doc/posix-functions/isblank_l.texi: Likewise.
31998         * doc/posix-functions/iscntrl_l.texi: Likewise.
31999         * doc/posix-functions/isdigit_l.texi: Likewise.
32000         * doc/posix-functions/isgraph_l.texi: Likewise.
32001         * doc/posix-functions/islower_l.texi: Likewise.
32002         * doc/posix-functions/isprint_l.texi: Likewise.
32003         * doc/posix-functions/ispunct_l.texi: Likewise.
32004         * doc/posix-functions/isspace_l.texi: Likewise.
32005         * doc/posix-functions/isupper_l.texi: Likewise.
32006         * doc/posix-functions/iswalnum_l.texi: Likewise.
32007         * doc/posix-functions/iswalpha_l.texi: Likewise.
32008         * doc/posix-functions/iswblank_l.texi: Likewise.
32009         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32010         * doc/posix-functions/iswctype_l.texi: Likewise.
32011         * doc/posix-functions/iswdigit_l.texi: Likewise.
32012         * doc/posix-functions/iswgraph_l.texi: Likewise.
32013         * doc/posix-functions/iswlower_l.texi: Likewise.
32014         * doc/posix-functions/iswprint_l.texi: Likewise.
32015         * doc/posix-functions/iswpunct_l.texi: Likewise.
32016         * doc/posix-functions/iswspace_l.texi: Likewise.
32017         * doc/posix-functions/iswupper_l.texi: Likewise.
32018         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32019         * doc/posix-functions/isxdigit_l.texi: Likewise.
32020         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32021         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32022         * doc/posix-functions/strcoll_l.texi: Likewise.
32023         * doc/posix-functions/strfmon_l.texi: Likewise.
32024         * doc/posix-functions/strftime_l.texi: Likewise.
32025         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32026         * doc/posix-functions/strxfrm_l.texi: Likewise.
32027         * doc/posix-functions/tolower_l.texi: Likewise.
32028         * doc/posix-functions/toupper_l.texi: Likewise.
32029         * doc/posix-functions/towctrans_l.texi: Likewise.
32030         * doc/posix-functions/towlower_l.texi: Likewise.
32031         * doc/posix-functions/towupper_l.texi: Likewise.
32032         * doc/posix-functions/wcscoll_l.texi: Likewise.
32033         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32034         * doc/posix-functions/wctrans_l.texi: Likewise.
32035         * doc/posix-functions/wctype_l.texi: Likewise.
32036         * doc/glibc-functions/strptime_l.texi: Likewise.
32037         * doc/glibc-functions/strtod_l.texi: Likewise.
32038         * doc/glibc-functions/strtof_l.texi: Likewise.
32039         * doc/glibc-functions/strtol_l.texi: Likewise.
32040         * doc/glibc-functions/strtold_l.texi: Likewise.
32041         * doc/glibc-functions/strtoll_l.texi: Likewise.
32042         * doc/glibc-functions/strtoul_l.texi: Likewise.
32043         * doc/glibc-functions/strtoull_l.texi: Likewise.
32044         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32045         * doc/glibc-functions/wcstod_l.texi: Likewise.
32046         * doc/glibc-functions/wcstof_l.texi: Likewise.
32047         * doc/glibc-functions/wcstol_l.texi: Likewise.
32048         * doc/glibc-functions/wcstold_l.texi: Likewise.
32049         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32050         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32051         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32052
32053 2009-11-24  Bruno Haible  <bruno@clisp.org>
32054
32055         duplocale: Fix logic bug.
32056         * lib/duplocale.c: Don't include <langinfo.h>.
32057         (_NL_LOCALE_NAME): Remove macro.
32058         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32059         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32060
32061 2009-11-23  Jim Meyering  <meyering@redhat.com>
32062
32063         test-update-copyright: don't hard-code /usr/bin/perl
32064         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32065         perl to print the current year.  Gilles Espinasse reported that
32066         the replaced use of perl was hard-coded as /usr/bin/perl.
32067
32068 2009-11-23  Bruno Haible  <bruno@clisp.org>
32069
32070         duplocale: Add support for glibc 2.3.x.
32071         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32072
32073 2009-11-22  Bruno Haible  <bruno@clisp.org>
32074
32075         vasnprintf: Tiny optimization.
32076         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32077         MacOS X.
32078
32079 2009-11-22  Bruno Haible  <bruno@clisp.org>
32080
32081         Tests for module 'duplocale'.
32082         * modules/duplocale-tests: New file.
32083         * tests/test-duplocale.c: New file.
32084
32085         New module 'duplocale'.
32086         * m4/duplocale.m4: New file.
32087         * lib/locale.in.h (duplocale): New declaration.
32088         * lib/duplocale.c: New file.
32089         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32090         gl_LOCALE_H_DEFAULTS): New macros.
32091         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32092         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32093         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32094         REPLACE_DUPLOCALE.
32095         * modules/duplocale: New file.
32096         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32097
32098 2009-11-22  Bruno Haible  <bruno@clisp.org>
32099
32100         * modules/locale-tests (configure.ac): Test for newlocale function.
32101         * tests/test-locale.c: When the system has extended locale functions,
32102         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32103
32104         locale: Make locale_t available when possible.
32105         * lib/locale.in.h: Include <xlocale.h> when it exists.
32106         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32107         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32108         * modules/locale (Depends-on): Add extensions.
32109         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32110         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32111
32112 2009-11-22  Bruno Haible  <bruno@clisp.org>
32113
32114         Add comments.
32115         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32116         invocation.
32117         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32118         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32119         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32120
32121 2009-11-22  Bruno Haible  <bruno@clisp.org>
32122
32123         error: account for the possibility of freopen (stdout).
32124         * lib/error.c: Include <unistd.h>.
32125         (flush_stdout): New function, extracted from error and error_at_line.
32126         Determine stdout's fd dynamically.
32127         (error, error_at_line): Invoke flush_stdout.
32128         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32129         * modules/error (Depends-on): Add unistd.
32130
32131 2009-11-22  Bruno Haible  <bruno@clisp.org>
32132
32133         diffseq: Add comment.
32134         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32135
32136 2009-11-22  Jim Meyering  <meyering@redhat.com>
32137
32138         c-stack: avoid defining an unused static function
32139         * lib/c-stack.c (find_stack_direction): Do not define this function
32140         when it will not be used.
32141
32142         diffseq: avoid spurious gcc warnings
32143         * lib/diffseq.h (IF_LINT2): Define.
32144         (compareseq): Use it to initialize two members of "part".
32145         This avoids two used-uninitialized warnings.
32146
32147 2009-11-21  Jim Meyering  <meyering@redhat.com>
32148
32149         c-stack: avoid "ignoring return value of `write'" warning
32150         * lib/c-stack.c: Include "ignore-value.h".
32151         (die): Explicitly ignore each write return value.
32152         * modules/c-stack (Depends-on): Add ignore-value.
32153
32154 2009-11-21  Bruno Haible  <bruno@clisp.org>
32155
32156         diffseq: reduce scope of variable 'best'.
32157         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32158         variable, earlier used for two different purposes.
32159
32160 2009-11-21  Jim Meyering  <meyering@redhat.com>
32161
32162         diffseq: remove useless assignment to "best"
32163         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32164         assignment.  At that point "best" is already guaranteed to be zero.
32165
32166 2009-11-20  Eric Blake  <ebb9@byu.net>
32167
32168         build: mention ftp redirector in release announcements
32169         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32170         values that used to come from cfg.mk; mention FTP redirect URL.
32171         * build-aux/announce-gen: Mention the mirror list.
32172         Suggested by Karl Berry.
32173
32174         nanosleep: improve port to mingw
32175         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32176         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32177         LIB_NANOSLEEP, but only when needed.
32178         * modules/select (Link): Document LIBSOCKET.
32179         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32180         enough.
32181
32182         nanosleep: work around cygwin bug
32183         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32184         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32185         bug.
32186         (getnow): Delete, not needed.
32187         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32188         LIB_CLOCK_GETTIME.
32189         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32190         clock-time, gettime.
32191         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32192         bug.
32193         * modules/nanosleep-tests: New test.
32194         * tests/test-nanosleep.c: New file.
32195
32196         sleep: work around cygwin bug
32197         * lib/sleep.c (rpl_sleep): Work around the bug.
32198         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32199         (gl_PREREQ_SLEEP): Delete unused macro.
32200         * modules/sleep (Depends-on): Add verify.
32201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32202         * modules/unistd (Makefile.am): Substitute witness.
32203         * lib/unistd.in.h (sleep): Update prototype.
32204         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32205         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32206         * modules/sleep-tests (Depends-on): Check for alarm.
32207
32208 2009-11-20  Jim Meyering  <meyering@redhat.com>
32209
32210         maint.mk: improve sc_prohibit_magic_number_exit
32211         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32212         so it does not match uses like System.exit(1).
32213         Add comments showing how to correct all offenders.
32214
32215 2009-11-19  Eric Blake  <ebb9@byu.net>
32216
32217         xalloc-die-tests: add missing library
32218         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32219
32220         test-xvasprintf: silence compiler warnings
32221         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32222         empty string from gcc.
32223
32224 2009-11-19  Jim Meyering  <meyering@redhat.com>
32225
32226         xfreopen: new module, from coreutils
32227         * modules/xfreopen: New module.
32228         * lib/xfreopen.c: New file.
32229         * lib/xfreopen.h: New file.
32230         * MODULES.html.sh (File stream based Input/Output"): Add it.
32231
32232 2009-11-19  Eric Blake  <ebb9@byu.net>
32233
32234         manywarnings: depend on warnings
32235         * modules/manywarnings (Depends-on): Add warnings.
32236
32237         build: avoid compiler warnings
32238         * lib/select.c (rpl_select): Delete unused variable.
32239         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32240
32241 2009-11-18  Eric Blake  <ebb9@byu.net>
32242
32243         tests: avoid false negative with --with-packager
32244         * tests/test-version-etc.sh: Discard packager information.
32245         * tests/test-argp-version-etc-1.sh: Likewise.
32246         Reported by Mike Frysinger.
32247
32248         utimens: fix regression on Solaris
32249         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32250         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32251         can only change fd timestamps via futimesat.  Instead, use an
32252         additional witness macro to avoid BSD bug.
32253         Reported by Jim Meyering.
32254
32255 2009-11-17  Eric Blake  <ebb9@byu.net>
32256
32257         usleep: use it to simplify tests
32258         * modules/stat-time-tests (Depends-on): Add usleep.
32259         (configure.ac): Drop usleep check.
32260         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32261         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32262         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32263         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32264         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32265         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32266         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32267         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32268         Likewise.
32269         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32270         * tests/test-lchown.h (nap): Likewise.
32271         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32272         * tests/test-stat-time.c (nap): Likewise.
32273         * tests/test-utimens-common.h (nap): Update comments.
32274
32275         usleep: new module
32276         * modules/usleep: New file.
32277         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32278         * lib/usleep.c (usleep): Likewise.
32279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32280         * modules/unistd (Makefile.am): Substitute witnesses.
32281         * lib/unistd.in.h (usleep): Add declaration.
32282         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32283         * MODULES.html.sh (Date and time): Likewise.
32284         * modules/usleep-tests (Depends-on): New test.
32285         * tests/test-usleep.c: New file.
32286
32287         chown: work around OpenBSD bug
32288         * lib/chown.c (rpl_chown): Work around the bug.
32289         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32290         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32291         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32292         * modules/chown (Depends-on): Add stdbool.
32293         * modules/lchown (Depends-on): Likewise.
32294         * doc/posix-functions/chown.texi (chown): Document the bug.
32295         * doc/posix-functions/lchown.texi (lchown): Likewise.
32296         * tests/test-lchown.h (test_chown): Relax test.
32297
32298         mkstemp: avoid conflict with C++ keyword template
32299         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32300         * lib/mkostemp.c (mkostemp): Likewise.
32301         * lib/mkostemps.c (mkostemps): Likewise.
32302         * lib/mkstemp.c (mkstemp): Likewise.
32303         * lib/mkstemps.c (mkstemps): Likewise.
32304
32305         xalloc-die-tests: optimize
32306         * tests/test-xalloc-die.sh: Reduce number of processes.
32307
32308 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32309
32310         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32311         patch from ludo@gnu.org (Ludovic Courtès).
32312
32313 2009-11-17  Jim Meyering  <meyering@redhat.com>
32314
32315         version-etc: use proper license string
32316         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32317         * modules/version-etc-fsf: Likewise.
32318
32319 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32320
32321         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32322         printed to stdout.  Deal with EOL differences.
32323
32324 2009-11-17  Eric Blake  <ebb9@byu.net>
32325
32326         unsetenv: work around Solaris bug
32327         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32328         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32329         Reported by Jim Meyering.
32330
32331         vasnprintf: avoid compiler warnings
32332         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32333         variables.
32334         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32335
32336 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32337
32338         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32339         settings since xalloc-die is no longer the self test,
32340         xalloc-die.sh is.
32341
32342 2009-11-17  Jim Meyering  <meyering@redhat.com>
32343
32344         test-xalloc-die.sh: make the code agree with the commit log
32345         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32346         at the end, just in case you happen to have a test-xalloc-die
32347         program in some other PATH directory.
32348
32349         test-xalloc-die.sh: fix a portability bug
32350         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32351         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32352         Otherwise, argv[0] (as often seen in diagnostics) would be too
32353         system-dependent, sometimes with, and sometimes without the leading "./".
32354
32355         version-etc-fsf: relax license to LGPLv3+
32356         * modules/version-etc-fsf (License): Relax license.
32357
32358 2009-11-16  Eric Blake  <ebb9@byu.net>
32359
32360         xalloc-die-tests: avoid printing null pointer
32361         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32362         shell script.
32363         * tests/test-xalloc-die.c (program_name): Declare.
32364         * tests/test-xalloc-die.sh (tmpfiles): New file.
32365
32366         setenv, unsetenv: work around various bugs
32367         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32368         (setenv) [HAVE_SETENV]: Work around bugs.
32369         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32370         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32371         for bugs.
32372         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32373         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32374         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32375         * modules/stdlib (Makefile.am): Update substitutions.
32376         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32377         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32378         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32379         * modules/setenv-tests: New test.
32380         * modules/unsetenv-tests: Likewise.
32381         * tests/test-setenv.c: New file.
32382         * tests/test-unsetenv.c: Likewise.
32383
32384 2009-11-16  Jim Meyering  <meyering@redhat.com>
32385
32386         version-etc: relax license to LGPLv3+
32387         * modules/version-etc (License): Relax license.
32388
32389         better AC_REQUIRE expanded-before-required-warning avoidance
32390         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32391         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32392         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32393         which is no longer needed.
32394
32395 2009-11-16  Eric Blake  <ebb9@byu.net>
32396
32397         test-freading: clean up temporary file
32398         * tests/test-freading.c (main): Remove file on success, and use
32399         ASSERT more liberally.
32400         Reported by Jim Meyering.
32401
32402 2009-11-16  Jim Meyering  <meyering@redhat.com>
32403
32404         avoid new AC_REQUIRE expanded-before-required warnings
32405         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32406         merely using it.
32407         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32408         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32409
32410 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32411
32412         * tests/test-xalloc-die.c: New file.
32413         * modules/xalloc-die-tests: New file.
32414         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32415         XFAIL_TESTS so it can be appended by modules.
32416
32417 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32418
32419         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32420         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32421
32422 2009-11-14  Eric Blake  <ebb9@byu.net>
32423
32424         fnmatch: avoid compiler warning
32425         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32426         to silence compiler warning about mismatch signedness in ?:.
32427         Reported by Robert Millan.
32428
32429         intprops: add double-inclusion guard
32430         * lib/intprops.h: Allow idempotent includes.
32431         Suggested by Bruce Korb.
32432
32433         openat: detect Solaris fchownat bug
32434         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32435         penalizing glibc chownat when only lchownat is broken.
32436         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32437         trailing slash bugs.
32438         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32439         * modules/openat-tests (Files): Include more files.
32440         (Depends-on): Add mgetgroups, sleep, stat-time.
32441         (configure.ac): Add additional checks.
32442         (Makefile.am): Build new test.
32443         * tests/test-fchownat.c: New file.
32444
32445         lchown: detect Solaris and FreeBSD bug
32446         * lib/lchown.c (rpl_lchown): Work around bug.
32447         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32449         * modules/unistd (Makefile.am): Populate it.
32450         * lib/unistd.in.h (lchown): Update declaration.
32451         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32452         * modules/lchown-tests: New file.
32453         * tests/test-lchown.h (test_lchown): Likewise.
32454         * tests/test-lchown.c (main): Likewise.
32455
32456         chown: detect Solaris and FreeBSD bug
32457         * lib/chown.c (rpl_chown): Work around bug.
32458         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32459         (gl_PREREQ_CHOWN): Delete.
32460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32461         * modules/unistd (Makefile.am): Populate it.
32462         * lib/unistd.in.h (chown): Update declaration.
32463         * lib/lchown.c (chown): Update client.
32464         * modules/lchown (Depends-on): Add lstat.
32465         * doc/posix-functions/chown.texi (chown): Document the bug.
32466         * doc/posix-functions/getgroups.texi (getgroups): Document
32467         getgroups pitfall.
32468         * modules/chown-tests: New file.
32469         * tests/test-chown.h (test_chown): Likewise.
32470         * tests/test-chown.c (main): Likewise.
32471
32472 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32473
32474         gnulib-tool: correctly detect absence of m4 directories
32475         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32476
32477 2009-11-14  Jim Meyering  <meyering@redhat.com>
32478
32479         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32480         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32481
32482 2009-11-14  John W. Eaton  <jwe@gnu.org>
32483
32484         strftime.h: wrap funtion declaration in extern "C" block
32485         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32486
32487 2009-11-13  Eric Blake  <ebb9@byu.net>
32488
32489         getgroups: avoid compiler warning
32490         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32491
32492         getgroups: work around FreeBSD bug
32493         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32494         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32495         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32496         * tests/test-getgroups.c (main): Fix buffer overrun.
32497
32498         getgroups: avoid compilation failure
32499         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32500         * modules/getgroups (Depends-on): Add stdint.
32501
32502 2009-11-13  Jim Meyering  <meyering@redhat.com>
32503
32504         test-getgroups: avoid compilation failure
32505         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32506
32507 2009-11-13  Eric Blake  <ebb9@byu.net>
32508
32509         mgetgroups: new module, taken from coreutils
32510         * modules/mgetgroups: New file.
32511         * lib/mgetgroups.h: Likewise.
32512         * lib/mgetgroups.c (mgetgroups): Likewise.
32513         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32514         * MODULES.html.sh (Users and groups): Mention it.
32515
32516         getgroups: don't expose GETGROUPS_T to user
32517         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32518         an element at a time if GETGROUPS_T is wrong size.
32519         * lib/getugroups.h (getugroups): Change signature.
32520         * lib/unistd.in.h (getgroups): Likewise.
32521         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32522         signature needs fixing.
32523         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32524         AC_TYPE_GETGROUPS.
32525         * modules/group-member (Depends-on): Add getgroups.
32526         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32527         (group_member): Rely on getgroups replacement.
32528         * lib/getugroups.c (getugroups): Use gid_t.
32529         * tests/test-getgroups.c (main): Likewise.
32530         * NEWS: Mention the signature change.
32531         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32532         problem with signature.
32533         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32534         GETGROUPS_T is still useful for setgroups.
32535
32536         getgroups, getugroups: provide stubs for mingw
32537         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32538         * lib/getugroups.c (getugroups): Likewise.
32539         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32540         function.  Modernize replacement scheme.
32541         (gl_PREREQ_GETGROUPS): Delete.
32542         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32543         * modules/getgroups (configure.ac): Declare witness.
32544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32545         * modules/unistd (Depends-on): Substitute witness.
32546         * lib/unistd.in.h (getgroups): Declare replacement.
32547
32548         getgroups: avoid calling exit
32549         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32550         drop xalloc.
32551         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32552         dependencies.
32553         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32554         exiting, in the rare case of malloc failure.
32555
32556         getgroups: fix logic error
32557         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32558         has more than 20 groups.
32559         * modules/getgroups-tests: New test.
32560         * tests/test-getgroups.c: New file.
32561
32562 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32563
32564         * tests/test-base64.c: Improve.
32565
32566 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32567
32568         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32569         Blake <ebb9@byu.net>.
32570
32571 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32572
32573         * tests/test-xvasprintf.c: Add %s%s related checks.
32574
32575 2009-11-12  Eric Blake  <ebb9@byu.net>
32576
32577         version-etc: match standards.texi style
32578         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32579         and use <> only for URLs.
32580
32581 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32582
32583         fts: do not fail on a submount during traversal
32584         * lib/fts.c (fts_build): Read the stat info again after opening
32585         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32586         Original report at http://bugzilla.redhat.com/501848.
32587
32588 2009-11-12  Jim Meyering  <meyering@redhat.com>
32589
32590         bootstrap: sync from coreutils
32591         * build-aux/bootstrap (bootstrap_epilogue): New function.
32592         Use git_modules_config in one more place.  This make bootstrap's
32593         --gnulib-srcdir option more useful for testing.
32594
32595         bootstrap: generalize autoheader check
32596         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32597         AC_CONFIG_HEADERS.
32598
32599 2009-11-11  Eric Blake  <ebb9@byu.net>
32600
32601         mkfifoat: use new modules for Solaris and BSD bugs
32602         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32603         * lib/mkfifoat.c (mknodat): Split...
32604         * lib/mknodat.c (mknodat): ...into new file.
32605         * modules/mkfifoat (Files): Ship new file.
32606         (Depends-on): Add mkfifo, mknod.
32607         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32608         (Depends-on): Add symlink.
32609         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32610         redundant with test_mkfifo.h.
32611         (do_mkfifoat, do_mknodat): New helpers.
32612
32613         mknod: new module
32614         * modules/mknod: New file.
32615         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32616         * lib/mknod.c (mknod): Likewise.
32617         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32618         defaults.
32619         * modules/sys_stat (Makefile.am): Substitute them.
32620         * lib/sys_stat.in.h (mknod): Declare replacement.
32621         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32622         Document it.
32623         * doc/posix-functions/mknod.texi (mknod): Likewise.
32624         * modules/mknod-tests: New test.
32625         * tests/test-mknod.c: Likewise.
32626
32627         mkfifo: new module
32628         * modules/mkfifo: New file.
32629         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32630         * lib/mkfifo.c (mkfifo): Likewise.
32631         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32632         defaults.
32633         * modules/sys_stat (Makefile.am): Substitute them.
32634         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32635         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32636         Document it.
32637         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32638         * modules/mkfifo-tests: New test.
32639         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32640         from test-mkfifoat.c.
32641         * tests/test-mkfifo.c: New file.
32642
32643         readlink: detect FreeBSD bug
32644         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32645         slash on symlink.
32646         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32647         * tests/test-readlink.h (test_readlink): Enhance test.
32648
32649         symlink: detect FreeBSD bug
32650         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32651         slash on symlink.
32652         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32653         * tests/test-symlink.h (test_symlink): Enhance test.
32654
32655 2009-11-10  Eric Blake  <ebb9@byu.net>
32656
32657         link: detect FreeBSD bug
32658         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32659         symlink.
32660         * doc/posix-functions/link.texi (link): Document the bug.
32661         * tests/test-link.h (test_link): Enhance test.
32662         * tests/test-linkat.c (main): Update caller.
32663
32664         unlink, remove: detect FreeBSD bug
32665         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32666         slash on symlink.
32667         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32668         * doc/posix-functions/remove.texi (remove): Likewise.
32669         * tests/test-unlink.h (test_unlink): Enhance test.
32670         * tests/test-remove.c (main): Likewise.
32671
32672 2009-11-09  Eric Blake  <ebb9@byu.net>
32673
32674         rename: detect FreeBSD bug
32675         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32676         slash on symlink.
32677         * modules/renameat-tests (Depends-on): Add filenamecat.
32678         * tests/test-rename.h (test_rename): Allow one more errno.
32679         * tests/test-renameat.c (main): Likewise.
32680         * doc/posix-functions/rename.texi (rename): Document the bug.
32681
32682         open: detect FreeBSD bug
32683         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32684         symlink.
32685         * doc/posix-functions/open.texi (open): Document the bug.
32686         * doc/posix-functions/utimes.texi (utimes): Likewise.
32687         * tests/test-open.h (test_open): Add parameters, and test symlink
32688         handling.
32689         * tests/test-open.c (main): Adjust caller.
32690         * tests/test-fcntl-safer.c (main): Likewise.
32691         * modules/open-tests (Depends-on): Add stdbool, symlink.
32692         * modules/fcntl-safer-tests (Depends-on): Likewise.
32693         * tests/test-openat.c (main): Add test-open tests.
32694
32695         stat: detect FreeBSD bug
32696         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32697         symlink.
32698         * doc/posix-functions/stat.texi (stat): Document the bug.
32699         * tests/test-stat.h (test_stat_func): Add argument.
32700         * tests/test-stat.c (main): Adjust caller.
32701         * tests/test-fstatat.c (main): Likewise.
32702         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32703         Reported by Jim Meyering.
32704
32705 2009-11-09  James Youngman  <jay@gnu.org>
32706
32707         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32708         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32709
32710 2009-11-08  Jim Meyering  <meyering@redhat.com>
32711
32712         utimens: remove invalid futimesat call
32713         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32714         It used the file descriptor of the target file as the DIR_FD
32715         parameter and NULL as the file name.  That caused failure with
32716         errno == EFAULT on FreeBSD-8.0-rc2
32717
32718 2009-11-07  Eric Blake  <ebb9@byu.net>
32719
32720         fflush, freadseek: use fseeko, not fseek
32721         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32722         (clear_ungetc_buffer): Avoid potential problems on large files.
32723         * lib/freadseek.c (freadseek): Likewise.
32724         * modules/freadseek (Depends-on): Add fseeko.
32725         * modules/fseek (configure.ac): Set a witness.
32726         * tests/test-fflush.c (main): Use fseeko.
32727         * tests/test-fpurge.c (fseek): Disable link warning.
32728         * tests/test-freadable.c (fseek): Likewise.
32729         * tests/test-freading.c (fseek): Likewise.
32730         * tests/test-fseeko.c (fseek): Likewise.
32731         * tests/test-ftell.c (fseek): Likewise.
32732         * tests/test-ftello.c (fseek): Likewise.
32733         * tests/test-fwritable.c (fseek): Likewise.
32734         * tests/test-fwriting.c (fseek): Likewise.
32735
32736 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32737
32738         * modules/memchr (Depends-on): Drop getpagesize dependency.
32739
32740 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32741
32742         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32743         Reported by Ludovic Courtès.
32744         * build-aux/pmccabe2html: Improve example usage.
32745         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32746
32747 2009-11-06  Jim Meyering  <meyering@redhat.com>
32748
32749         do-release-commit-and-tag: New module.
32750         Automate the release-commit and tag process.
32751         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32752         * modules/do-release-commit-and-tag: New file.
32753         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32754
32755 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32756
32757         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32758         because test-select.c uses inet_pton.
32759
32760 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32761
32762         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32763         GETADDRINFO_LIB.  Bump serial number.
32764         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32765         Suggested by Eric Blake <ebb9@byu.net>.
32766
32767 2009-11-05  Eric Blake  <ebb9@byu.net>
32768
32769         strtod: detect darwin bug
32770         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32771         Reported by Leo Davis.
32772
32773         freopen-safer: new module
32774         * modules/freopen-safer: New module.
32775         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32776         * lib/freopen-safer.c (freopen_safer): New file.
32777         * lib/stdio-safer.h (freopen_safer): New declaration.
32778         * lib/stdio--.h (freopen): New override.
32779         * MODULES.html.sh (File stream based Input/Output): Mention it.
32780         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32781         freopen-safer module.
32782         * doc/posix-functions/stderr.texi (stderr): Likewise.
32783         * doc/posix-functions/stdin.texi (stdin): Likewise.
32784         * doc/posix-functions/stdout.texi (stdout): Likewise.
32785         * modules/freopen-safer-tests: New test.
32786         * tests/test-reopen-safer.c: New file.
32787
32788 2009-11-05  Jim Meyering  <meyering@redhat.com>
32789
32790         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32791         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32792
32793 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32794
32795         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32796
32797 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32798
32799         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32800
32801 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32802
32803         Fix link error.
32804         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32805         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32806
32807 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32808
32809         * tests/test-func.c: Also test value of __func__.
32810
32811 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32812
32813         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32814         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32815
32816 2009-11-05  Bruno Haible  <bruno@clisp.org>
32817
32818         Fix link error.
32819         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32820         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32821         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32822
32823 2009-11-05  Bruno Haible  <bruno@clisp.org>
32824
32825         Tests for module 'inet_pton'.
32826         * modules/inet_pton-tests: New file.
32827         * tests/test-inet_pton.c: New file.
32828
32829 2009-11-05  Bruno Haible  <bruno@clisp.org>
32830
32831         Tests for module 'inet_ntop'.
32832         * modules/inet_ntop-tests: New file.
32833         * tests/test-inet_ntop.c: New file.
32834
32835 2009-11-04  Eric Blake  <ebb9@byu.net>
32836
32837         stdlib-safer: wrap all mkstemp variants
32838         * modules/mkostemp (configure.ac): Set witness.
32839         * modules/mkostemps (configure.ac): Likewise.
32840         * modules/mkstemps (configure.ac): Likewise.
32841         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32842         (mkstemps_safer): Wrap more functions.
32843         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32844         wrapping.
32845         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32846         (mkstemps_safer): Implement the wrappers.
32847
32848         mkstemps, mkostemps: new modules
32849         * modules/mkostemps: New module.
32850         * modules/mkstemps: Likewise.
32851         * lib/mkostemps.c (mkostemps): New file.
32852         * lib/mkstemps.c (mkstemps): Likewise.
32853         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32854         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32855         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32856         * modules/stdlib (Makefile.am): Substitute them.
32857         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32858         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32859         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32860         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32861         * MODULES.html.sh (File system functions): Mention them.
32862
32863         tempname: resync from glibc
32864         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32865         same values for __GT_FILE as glibc.  Abort even when assertions
32866         are disabled.
32867         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32868         match its value otherwise.  Allow idempotent inclusion.
32869         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32870         * lib/mkostemp.c (mkostemp): Likewise.
32871         * lib/mkstemp.c (mkstemp): Likewise.
32872         * lib/tmpfile.c (tmpfile): Likewise.
32873         * NEWS: Document this.
32874
32875         utimens: fix use of futimens on older Linux
32876         * lib/utimens.c (fdutimens): Use updated, rather than original,
32877         timespec to avoid bug in older Linux kernel.
32878         Reported by Simon Josefsson.
32879
32880 2009-11-04  Bruno Haible  <bruno@clisp.org>
32881
32882         Make num_processors more flexible and consistent.
32883         * lib/nproc.h (enum nproc_query): New type.
32884         (num_processors): Add a 'query' argument.
32885         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32886         (num_processors): Add a 'query' argument. Test the value of the
32887         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32888         mingw, count the number of CPUs available for the current process.
32889         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32890         Check for sched_getaffinity and sched_getaffinity_np.
32891         * modules/nproc (Depends-on): Add c-ctype, extensions.
32892         * NEWS: Mention the change.
32893
32894 2009-11-03  Bruno Haible  <bruno@clisp.org>
32895
32896         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32897
32898 2009-11-03  Jim Meyering  <meyering@redhat.com>
32899
32900         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32901         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32902         if it is defined.
32903
32904 2009-11-02  Eric Blake  <ebb9@byu.net>
32905
32906         mktime, timegm: share common declaration
32907         * lib/mktime-internal.h: New file.
32908         * lib/mktime.c: Use it rather than open-coding a declaration.
32909         * lib/timegm.c: Likewise.
32910         * modules/mktime (Files): Ship it.
32911         * modules/timegm (Files): Likewise.
32912         Suggested by Bruno Haible.
32913
32914         test-update-copyright: update test to match script changes
32915         * tests/test-update-copyright.sh: Avoid hard-coding perl
32916         location.  Don't update *.bak created by earlier runs.
32917
32918 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32919             Simon Josefsson  <simon@josefsson.org>
32920             Bruno Haible  <bruno@clisp.org>
32921
32922         Fix link error on Solaris 8.
32923         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32924         also in libnsl. Define also INET_PTON_LIB.
32925         * modules/inet_pton (Link): New section.
32926
32927 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32928             Bruno Haible  <bruno@clisp.org>
32929
32930         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
32931         * modules/inet_ntop (Link): New section.
32932         Reported by Boyan Kasarov <bkasarov@gmail.com>.
32933
32934 2009-11-02  Eric Blake  <ebb9@byu.net>
32935
32936         maint: avoid compiler warnings in m4 macros
32937         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
32938         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
32939
32940 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32941
32942         * m4/pmccabe2html.m4: Remove file.
32943         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
32944         function.  Change maintainer.
32945         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
32946         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
32947         Courtès).
32948
32949 2009-10-31  Eric Blake  <ebb9@byu.net>
32950
32951         fseeko: fix m4 regression
32952         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
32953         regression from 2009-10-27.
32954         Reported by Ralf Wildenhues.
32955
32956 2009-10-31  Jim Meyering  <meyering@redhat.com>
32957
32958         inttostr: aesthetics and improved (compile-time) safety
32959         Define inttype_is_signed rather than inttype_is_unsigned,
32960         since the sole use is via "#if inttype_is_signed".
32961         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
32962         inttype_is_unsigned.
32963         * lib/offtostr.c (inttype_is_signed): Likewise.
32964         * lib/uinttostr.c (inttype_is_signed): Likewise.
32965         * lib/umaxtostr.c (inttype_is_signed): Likewise.
32966         * lib/inttostr.c (inttostr): Use verify to cross-check the
32967         inttype_is_signed value and the signedness of the actual type.
32968         * modules/inttostr (Depends-on): Add verify.
32969
32970 2009-10-30  Eric Blake  <ebb9@byu.net>
32971
32972         build: avoid compiler warnings
32973         * lib/fchmodat.c (lchmod): Mark unused variables.
32974         * lib/getopt.c (_getopt_initialize): Likewise.
32975         * lib/mktime.c (__mktime_internal): Provide prototype.
32976         * lib/inttostr.c (inttostr): Avoid compiler warning even with
32977         older gcc that do not understand #pragma GCC diagnostic.
32978         * lib/uinttostr.c (inttype_is_unsigned): Define.
32979         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
32980
32981 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
32982
32983         stat: fix compilation on AIX
32984         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
32985         only see struct stat64.
32986
32987 2009-10-30  Eric Blake  <ebb9@byu.net>
32988
32989         exclude: make more robust
32990         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
32991         rather than masking a coding bug.
32992         Suggested by Bruno Haible.
32993
32994 2009-10-30  Jim Meyering  <meyering@redhat.com>
32995
32996         perl scripts: remove #!/usr/bin/perl in favor of more portable...
32997         Rather than putting #!/usr/bin/perl on the first line,
32998         start with a variant of what's recommended by "man perlrun" that
32999         invokes the first "perl" program from your shell's search path.
33000         * build-aux/gitlog-to-changelog: Replace #!... as above.
33001         Add a "Local Variables" perl mode setting.
33002         Prompted by a patch from Ludovic Courtès.
33003         Improved by Eric Blake.
33004         * build-aux/useless-if-before-free: Likewise.
33005         * build-aux/announce-gen: Likewise.
33006         * build-aux/update-copyright: Likewise.
33007
33008 2009-10-29  Eric Blake  <ebb9@byu.net>
33009
33010         filenamecat-lgpl: adjust clients
33011         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33012         filenamecat.
33013         * modules/renameat (Depends-on): Likewise.
33014
33015         filenamecat: split into filenamecat-lgpl
33016         * modules/filenamecat-lgpl: New module.
33017         * modules/filenamecat (Files): Move library-safe files into
33018         filenamecat-lgpl.
33019         (Depends-on): Add filenamecat-lgpl.
33020         (configure.ac): Declare witness.
33021         * lib/filenamecat.h (file_name_concat): Only declare when using
33022         GPL module.
33023         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33024         Move...
33025         * lib/filenamecat-lgpl.c: ...into new file.
33026         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33027         (gl_FILE_NAME_CONCAT): Use it.
33028         * MODULES.html.sh (File system functions): Mention new module.
33029
33030         argp: avoid memory leak
33031         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33032         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33033         base_name, since the latter malloc()s and can call exit().
33034         Leak introduced 2006-07-03.
33035
33036         dirname-lgpl: adjust clients that don't need full dirname
33037         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33038         * modules/filenamecat (Depends-on): Likewise.
33039         * modules/linkat (Depends-on): Likewise.
33040         * modules/mkancesdirs (Depends-on): Likewise.
33041         * modules/mkdir (Depends-on): Likewise.
33042         * modules/openat (Depends-on): Likewise.
33043         * modules/savewd (Depends-on): Likewise.
33044         * modules/rename (Depends-on): Likewise.
33045         (License): Relax license.
33046         * modules/mkdir-tests (Depends-on): Drop progname.
33047         (Makefile.am): Delete unneeded LDADD.
33048         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33049
33050         dirname: split into dirname-lgpl
33051         * modules/dirname-lgpl: New module.
33052         * modules/dirname (Files): Move library-safe files into
33053         dirname-lgpl.
33054         (Depends-on): Add dirname-lgpl.
33055         (configure.ac): Declare witness.
33056         * modules/double-slash-root (License): Relax license.
33057         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33058         module.
33059         * lib/dirname.c (dir_len, mdir_name): Move...
33060         * lib/dirname-lgpl.c: ...into new file.
33061         * lib/basename.c (last_component, base_len): Move...
33062         * lib/basename-lgpl.c: ...into new file.
33063         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33064         (gl_DIRNAME): Use it.
33065         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33066         Mention new module.
33067         * modules/dirname-tests (Depends-on): Add progname.
33068         * tests/test-dirname.c (program_name): Delete.
33069
33070         mkdir: make safe for libraries
33071         * modules/mkdir (Depends-on): Drop xalloc.
33072         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33073         exit.
33074
33075         tests: avoid some compiler warnings
33076         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33077         literals.
33078         * tests/test-memchr.c (main): Avoid type mismatch.
33079         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33080         * tests/test-base64.c (main): Likewise.
33081         * tests/test-getdelim.c (main): Likewise.
33082         * tests/test-gethostname.c (main): Likewise.
33083         * tests/test-getline.c (main): Likewise.
33084         * tests/test-netinet_in.c (main): Likewise.
33085         * tests/test-select.c (open_server_socket, main): Likewise.
33086         * tests/test-select-stdin.c (main): Likewise.
33087         * tests/test-sockets.c (main): Likewise.
33088         * tests/test-strsignal.c (main): Likewise.
33089         * tests/test-sys_select.c (main): Likewise.
33090         * tests/test-sys_socket.c (main): Likewise.
33091         * tests/test-u64.c (main): Likewise.
33092         * tests/test-xfprintf-posix.c (main): Likewise.
33093         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33094
33095         sockets: avoid compiler warning
33096         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33097
33098         maint: detect usage(1) and other suspicious exits
33099         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33100
33101 2009-10-29  Jim Meyering  <meyering@redhat.com>
33102
33103         timespec: long-to-int truncation could make timespec_cmp malfunction
33104         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33105         a multiple of 2^32 nanoseconds as no difference.
33106
33107 2009-10-28  Jim Meyering  <meyering@redhat.com>
33108
33109         fprintftime: wrap macro code argument in "do {...} while(0)"
33110         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33111         cpy macro must be a statement that can be followed by a semicolon.
33112         Now that the else clause contains a comment and is hence longer
33113         than one line, I require curly braces.  That in turn requires
33114         that we wrap this code block in the standard do...while(0).
33115
33116         fprintftime: remove stray semicolon from previous change
33117         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33118
33119         fprintftime: avoid a warning about ignored fwrite return value
33120         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33121         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33122         that is unsafe.
33123         * modules/fprintftime (Depends-on): Add ignore-value.
33124
33125         exclude: avoid an unwarranted warning
33126         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33127
33128 2009-10-27  Eric Blake  <ebb9@byu.net>
33129
33130         fseek: avoid compilation failure when fflush is replaced
33131         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33132         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33133         module is in use.
33134         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33135         module is not in use; since REPLACE_FSEEK worked otherwise.
33136         (GNULIB_FTELLO): Likewise for ftell.
33137         Reported by Ian Beckwith and others.
33138
33139 2009-10-27  Bruno Haible  <bruno@clisp.org>
33140
33141         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33142         Reported by Jim Meyering.
33143
33144 2009-10-27  Jim Meyering  <jim@meyering.net>
33145             Bruno Haible  <bruno@clisp.org>
33146
33147         Avoid warning despite dropping the return value of fwrite.
33148         * lib/unicodeio.c: Include ignore-value.h.
33149         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33150         * modules/unicodeio (Depends-on): Add ignore-value.
33151
33152 2009-10-26  Eric Blake  <ebb9@byu.net>
33153
33154         areadlinkat: fix fallback path
33155         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33156         pointer and zero.
33157
33158 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33159
33160         Use a better IO block size for modern systems
33161         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33162         * lib/md2.c: Likewise.
33163         * lib/md4.c: Likewise.
33164         * lib/md5.c: Likewise.
33165         * lib/sha1.c: Likewise.
33166         * lib/sha256.c: Likewise.
33167         * lib/sha512.c: Likewise.
33168
33169 2009-10-22  Eric Blake  <ebb9@byu.net>
33170
33171         tests: avoid several compiler warnings
33172         * tests/test-getcwd.c (main): Avoid buffer underflow.
33173         * tests/test-getdate.c (main): String literals are not safe with
33174         putenv, so use setenv.  Declare unused argument.
33175         * modules/getdate-tests (Depends-on): Add setenv.
33176         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33177         problems with string literals in char *.
33178         * tests/test-hash.c (main): Avoid shadowing declaration.
33179         (insert_new): Treat string literals as char const *.
33180         * tests/test-getopt.h (test_getopt): Likewise.
33181         (getopt_loop): Alter types to minimize casting elsewhere.
33182         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33183         (test_getopt_long_posix): Likewise.
33184         (do_getopt_long): Add wrapper to minimize casting.
33185         * tests/test-atexit.c (clear_temp_file): Use void.
33186         * tests/test-areadlink-with-size.c (main): Declare unused
33187         arguments.
33188         * tests/test-areadlink.c (main): Likewise.
33189         * tests/test-areadlinkat-with-size.c (main): Likewise.
33190         * tests/test-areadlinkat.c (main): Likewise.
33191         * tests/test-canonicalize-lgpl.c (main): Likewise.
33192         * tests/test-canonicalize.c (main): Likewise.
33193         * tests/test-dirent-safer.c (main): Likewise.
33194         * tests/test-dirname.c (main): Likewise.
33195         * tests/test-dup2.c (main): Likewise.
33196         * tests/test-fchdir.c (main): Likewise.
33197         * tests/test-fcntl-h.c (main): Likewise.
33198         * tests/test-fcntl-safer.c (main): Likewise.
33199         * tests/test-fdopendir.c (main): Likewise.
33200         * tests/test-fdutimensat.c (main): Likewise.
33201         * tests/test-fflush.c (main): Likewise.
33202         * tests/test-filenamecat.c (main): Likewise.
33203         * tests/test-filevercmp.c (main): Likewise.
33204         * tests/test-fopen-safer.c (main): Likewise.
33205         * tests/test-fopen.c (main): Likewise.
33206         * tests/test-fpending.c (main): Likewise.
33207         * tests/test-fpurge.c (main): Likewise.
33208         * tests/test-freading.c (main): Likewise.
33209         * tests/test-fstatat.c (main): Likewise.
33210         * tests/test-fsync.c (main): Likewise.
33211         * tests/test-futimens.c (main): Likewise.
33212         * tests/test-getndelim2.c (main): Likewise.
33213         * tests/test-gettimeofday.c (main): Likewise.
33214         * tests/test-getopt.c (main): Likewise.
33215         * tests/test-i-ring.c (main): Likewise.
33216         * tests/test-inttypes.c (main): Likewise.
33217         * tests/test-link.c (main): Likewise.
33218         * tests/test-lstat.c (main): Likewise.
33219         * tests/test-math.c (main): Likewise.
33220         * tests/test-md5.c (main): Likewise.
33221         * tests/test-memchr2.c (main): Likewise.
33222         * tests/test-memrchr.c (main): Likewise.
33223         * tests/test-mkdir.c (main): Likewise.
33224         * tests/test-mkdirat.c (main): Likewise.
33225         * tests/test-mkfifoat.c (main): Likewise.
33226         * tests/test-open.c (main): Likewise.
33227         * tests/test-openat-safer.c (main): Likewise.
33228         * tests/test-openat.c (main): Likewise.
33229         * tests/test-quotearg.c (main): Likewise.
33230         * tests/test-rawmemchr.c (main): Likewise.
33231         * tests/test-readlink.c (main): Likewise.
33232         * tests/test-remove.c (main): Likewise.
33233         * tests/test-rename.c (main): Likewise.
33234         * tests/test-renameat.c (main): Likewise.
33235         * tests/test-rmdir.c (main): Likewise.
33236         * tests/test-sha1.c (main): Likewise.
33237         * tests/test-signal.c (main): Likewise.
33238         * tests/test-sigaction.c (main): Likewise.
33239         * tests/test-stat.c (main): Likewise.
33240         * tests/test-stat-time.c (main): Likewise.
33241         * tests/test-stddef.c (main): Likewise.
33242         * tests/test-stdint.c (main): Likewise.
33243         * tests/test-stdio.c (main): Likewise.
33244         * tests/test-stdlib.c (main): Likewise.
33245         * tests/test-strchrnul.c (main): Likewise.
33246         * tests/test-strerror.c (main): Likewise.
33247         * tests/test-string.c (main): Likewise.
33248         * tests/test-strtod.c (main): Likewise.
33249         * tests/test-strverscmp.c (main): Likewise.
33250         * tests/test-symlink.c (main): Likewise.
33251         * tests/test-symlinkat.c (main): Likewise.
33252         * tests/test-sys_stat.c (main): Likewise.
33253         * tests/test-sys_time.c (main): Likewise.
33254         * tests/test-time.c (main): Likewise.
33255         * tests/test-unistd.c (main): Likewise.
33256         * tests/test-unlink.c (main): Likewise.
33257         * tests/test-unlinkat.c (main): Likewise.
33258         * tests/test-utimens.c (main): Likewise.
33259         * tests/test-utimensat.c (main): Likewise.
33260         * tests/test-version-etc.c (main): Likewise.
33261         * tests/test-wchar.c (main): Likewise.
33262         * tests/test-wctype.c (main): Likewise.
33263         * tests/test-xprintf-posix.c (main): Likewise.
33264         * tests/test-posixtm.c (main): Likewise.
33265         (STREQ): Delete unused macro.
33266         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33267         shadowed variables.
33268         * tests/test-memchr.c (main): Likewise.
33269
33270 2009-10-21  Eric Blake  <ebb9@byu.net>
33271
33272         areadlinkat: avoid failure on older glibc
33273         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33274         rather than mis-comparing 0 against FUNC_RESULT of char*.
33275
33276 2009-10-21  Bruno Haible  <bruno@clisp.org>
33277
33278         * modules/stpncpy (License): Relicense under LGPLv2+.
33279         Reported by David Lutterkort <lutter@redhat.com>.
33280
33281 2009-10-20  Eric Blake  <ebb9@byu.net>
33282
33283         utimensat: work around Solaris 9 bug
33284         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33285         has trailing slash bugs.
33286         * tests/test-lutimens.h (test_lutimens): Enhance test.
33287         * tests/test-utimens.h (test_utimens): Likewise.
33288         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33289         * doc/posix-functions/utimes.texi (utimes): Likewise.
33290         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33291         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33292         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33293         * doc/posix-functions/futimens.texi (futimens): Likewise.
33294
33295         fdutimensat: new module
33296         * modules/fdutimensat: New file.
33297         * lib/fdutimensat.c (fdutimensat): Likewise.
33298         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33299         * MODULES.html.sh (File system functions): Mention module.
33300         * modules/fdutimensat-tests: New test.
33301         * tests/test-fdutimensat.c: Likewise.
33302
33303         doc: regenerate INSTALL
33304         * doc/INSTALL: Reflect recent autoconf update.
33305         * doc/INSTALL.ISO: Likewise.
33306         * doc/INSTALL.UTF-8: Likewise.
33307
33308 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33309
33310         acl: warn if ACL support is not detected
33311         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33312
33313 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33314
33315         * lib/nproc.h: Add extern "C" block for C++.
33316
33317 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33318             Bruno Haible  <bruno@clisp.org>
33319
33320         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33321         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33322         * doc/posix-functions/isalpha.texi: Likewise.
33323         * doc/posix-functions/isblank.texi: Likewise.
33324         * doc/posix-functions/iscntrl.texi: Likewise.
33325         * doc/posix-functions/isdigit.texi: Likewise.
33326         * doc/posix-functions/isgraph.texi: Likewise.
33327         * doc/posix-functions/islower.texi: Likewise.
33328         * doc/posix-functions/isprint.texi: Likewise.
33329         * doc/posix-functions/ispunct.texi: Likewise.
33330         * doc/posix-functions/isspace.texi: Likewise.
33331         * doc/posix-functions/isupper.texi: Likewise.
33332         * doc/posix-functions/isxdigit.texi: Likewise.
33333
33334 2009-10-18  Bruno Haible  <bruno@clisp.org>
33335
33336         Tests for module 'isblank'.
33337         * modules/isblank-tests: New file.
33338         * tests/test-isblank.c: New file.
33339
33340         New module 'isblank'.
33341         * lib/isblank.c: New file.
33342         * m4/isblank.m4: New file.
33343         * modules/isblank: New file.
33344         * doc/posix-functions/isblank.texi: Mention the new module.
33345
33346 2009-10-18  Bruno Haible  <bruno@clisp.org>
33347
33348         New module 'ctype'.
33349         * lib/ctype.in.h: New file.
33350         * m4/ctype.m4: New file.
33351         * modules/ctype: New file.
33352         * doc/posix-headers/ctype.texi: Mention the new module.
33353
33354 2009-10-18  Jim Meyering  <meyering@redhat.com>
33355
33356         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33357         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33358         right after its initialization, rather than farther down.
33359         Keeping these in close proximity makes it easier to ensure
33360         that each such variable is initialized.  E.g.,
33361
33362             LIB_CLOCK_GETTIME=
33363             AC_SUBST([LIB_CLOCK_GETTIME])
33364
33365         This change also increments these serial numbers.
33366         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33367         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33369
33370 2009-10-18  Bruno Haible  <bruno@clisp.org>
33371
33372         Don't let environment variables perturb build.
33373         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33374         (gl_PREREQ_GETHRXTIME): ... not here.
33375
33376 2009-10-18  Bruno Haible  <bruno@clisp.org>
33377
33378         Avoid symlink attack in localcharset module.
33379         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33380         (O_NOFOLLOW): Define fallback.
33381         (get_charset_aliases): Don't open the file if it is a symbolic link.
33382         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33383         gl_FCNTL_H.
33384         (gl_FCNTL_H): Require it.
33385         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33386         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33387         Reported by Fergal Glynn <fglynn@veracode.com>.
33388
33389 2009-10-18  Bruno Haible  <bruno@clisp.org>
33390
33391         Implement nproc for mingw.
33392         * lib/nproc.c: Include <windows.h>
33393         (num_processors): On native Windows platforms, try GetSystemInfo.
33394
33395 2009-10-18  Bruno Haible  <bruno@clisp.org>
33396
33397         Implement nproc for IRIX.
33398         * lib/nproc.c: Include <sys/sysmp.h>.
33399         (num_processors): On IRIX systems, try sysmp.
33400         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33401
33402 2009-10-18  Bruno Haible  <bruno@clisp.org>
33403
33404         Implement nproc for HP-UX.
33405         * lib/nproc.c: Include <sys/pstat.h>
33406         (num_processors): On HP-UX systems, try pstat_getdynamic.
33407         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33408         pstat_getdynamic.
33409
33410 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33411             Bruno Haible  <bruno@clisp.org>
33412
33413         Implement nproc for NetBSD, OpenBSD.
33414         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33415         (ARRAY_SIZE): New macro.
33416         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33417         * m4/nproc.m4: New file.
33418         * modules/nproc (Files): Add m4/nproc.m4.
33419         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33420         (Makefile.am): Instead, augment lib_SOURCES.
33421
33422 2009-10-18  Bruno Haible  <bruno@clisp.org>
33423
33424         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33425         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33426         sys/param.h.
33427
33428 2009-10-16  Eric Blake  <ebb9@byu.net>
33429
33430         utimensat: new module
33431         * modules/utimensat: New file.
33432         * lib/utimensat.c (utimensat): Likewise.
33433         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33434         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33435         so we can work around Linux bugs.
33436         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33437         * modules/sys_stat (Makefile.am): Substitute them.
33438         * lib/sys_stat.in.h (utimensat): Declare it.
33439         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33440         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33441         * modules/utimensat-tests: New test.
33442         * tests/test-utimensat.c: Likewise.
33443
33444         utimens: let lutimens work on non-symlinks
33445         * lib/utimens.c (lutimens): Fall back to utimens rather than
33446         failing with ENOSYS, when file is not a symlink.
33447         (utimens): Reduce redirection.
33448         * tests/test-lutimens.h (test_lutimens): Update test to cover
33449         non-symlinks.
33450         * tests/test-utimens.h (test_utimens): Update test to cover
33451         symlinks.
33452         * tests/test-utimens.c (main): Update caller.
33453
33454         utimens: cache whether utimensat syscall works
33455         * lib/utimens.c (utimensat_works_really): New cache variable.
33456         (fdutimens, lutimens): Use it to avoid failing syscall.
33457
33458         test-stat-time, test-utimens: improve portability
33459         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33460         ext4 on alpha, and for cygwin.
33461         * tests/test-utimens-common.h: New file.
33462         (nap): Factor delays into single function.
33463         * tests/test-lutimens.h (test_lutimens): Use new header.
33464         * tests/test-futimens.h (test_futimens): Likewise.
33465         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33466         timestamps to occur from same machine, as was done previously for
33467         test_utimens.
33468         * modules/utimens-tests (Files): Ship new file.
33469         * modules/futimens-tests (Files): Likewise.
33470         Reported in part by Jim Meyering.
33471
33472         sys_stat: sort replacement declarations
33473         * lib/sys_stat.in.h: Sort declarations.
33474         * lib/futimens.c (futimens): Fix typo.
33475
33476 2009-10-15  Jim Meyering  <meyering@redhat.com>
33477
33478         don't let environment settings perturb build
33479         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33480         could cause a configure-time and/or build-time malfunction.
33481         Typically, a configure-time function-in-library test is performed
33482         via code like this:
33483
33484           LIB_VAR=
33485           AC_SUBST([LIB_VAR])
33486           prefix_saved_LIBS=$LIBS
33487             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33488                        [test "$ac_cv_search_FUNC" = "none required" ||
33489                         LIB_VAR=$ac_cv_search_FUNC])
33490           LIBS=$prefix_saved_LIBS
33491
33492         However, in each of the files affected by this change, the LIB_VAR=
33493         initialization was omitted.  Thus, when set in the environment, its
33494         value would propagate into generated Makefiles when FUNC is not found
33495         in LIB_NAME.
33496         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33497         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33498         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33499
33500 2009-10-14  Eric Blake  <ebb9@byu.net>
33501
33502         fchdir: avoid infinite recursion in mingw
33503         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33504         recursing.
33505
33506         test-stat-time: port to mingw
33507         * tests/test-stat-time.c (force_unlink): Return a value.
33508         (test_ctime) [W32]: Fix compilation error.
33509         (nap): Don't call usleep with too large an argument.  Use
33510         force_unlink.
33511         * doc/pastposix-functions/usleep.texi (usleep): Document the
33512         portability issue.
33513
33514 2009-10-13  Jim Meyering  <meyering@redhat.com>
33515
33516         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33517         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33518         * modules/pipe-filter-ii: Likewise.
33519         * modules/sys_socket-tests: Likewise.
33520         * modules/tsearch-tests: Likewise.
33521         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33522         (check): Depend on it.
33523
33524 2009-10-12  Eric Blake  <ebb9@byu.net>
33525
33526         utimens-tests: port to NFS file systems
33527         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33528         comparisons to avoid spurious failures from timestamp drift
33529         between NFS machines.
33530
33531 2009-10-12  Eric Blake  <ebb9@byu.net>
33532
33533         stat-time-tests: minor cleanups
33534         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33535         * tests/test-stat-time.c (nap): Separate assignment from call.
33536         Suggested by Paolo Bonzini and Bruno Haible.
33537
33538         sys_stat: guarantee struct timespec
33539         * lib/sys_stat.in.h (includes): Always include <time.h>
33540         * modules/sys_stat (Depends-on): Add time.
33541         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33542         mode_t permission values.
33543         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33544         get at subsecond timestamps.
33545
33546 2009-10-10  Eric Blake  <ebb9@byu.net>
33547
33548         futimens: new module
33549         * modules/futimens: New file.
33550         * lib/futimens.c (futimens): Likewise.
33551         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33552         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33553         we can work around Linux bugs.
33554         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33555         * modules/sys_stat (Makefile.am): Substitute them.
33556         * lib/sys_stat.in.h (futimens): Declare it.
33557         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33558         * doc/posix-functions/futimens.texi (futimens): Likewise.
33559         * modules/futimens-tests: New test.
33560         * tests/test-futimens.c: Likewise.
33561
33562         utimens: introduce fdutimens
33563         * lib/utimens.h (fdutimens): New prototype.
33564         * lib/utimens.c (gl_futimens): Move guts...
33565         (fdutimens): ...to new interface.
33566         * tests/test-utimens.c (do_fdutimens): Use it.
33567
33568         utimens: add UTIME_NOW and UTIME_OMIT support
33569         * lib/utimens.c (validate_timespec, update_timespec): New helper
33570         functions.
33571         (gl_futimens, lutimens): Use them.
33572         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33573         stdbool, sys_stat.
33574         (Link): Mention resulting library dependency.
33575         * modules/utimecmp (Link): Likewise.
33576         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33577         (Makefile.am): Pick up library dependency.
33578         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33579         definition.
33580         * tests/test-sys_stat.c: Test the definitions.
33581         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33582         * NEWS: Document library dependency.
33583
33584         utimecmp: support symlink timestamps
33585         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33586         hashing when possible.  Use pathconf when available.
33587         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33588         * modules/utimecmp (Depends-on): Add lstat.
33589
33590         utimens: add lutimens interface
33591         * lib/utimens.c (lutimens): New function.
33592         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33593         * lib/utimens.h (lutimens): Declare new interface.
33594         * tests/test-utimens.c (main): Enhance test.
33595         * tests/test-lutimens.h (test_lutimens): New file.
33596         * modules/utimens-tests (Files): Distribute it.
33597         (Depends-on): Add symlink.
33598         (configure.ac): Check for usleep.
33599
33600         utimens: validate futimens usage
33601         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33602         fewer syscalls on failure later on.  Avoid compiler warning on
33603         mingw.
33604         * modules/utimens (Depends-on): Add dup2.
33605
33606         utimens: add test
33607         * modules/utimens-tests: New test.
33608         * tests/test-utimens.h: New file.
33609         * tests/test-futimens.h: Likewise.
33610         * tests/test-utimens.c: Likewise.
33611
33612         doc: mention timestamp portability issues
33613         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33614         instead.
33615         * doc/posix-functions/utime.texi (utime): Likewise.
33616         * doc/posix-functions/utimes.texi (utimes): Likewise.
33617         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33618         instead.
33619         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33620         module.
33621         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33622         Mention weakness with symlink timestamps.
33623         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33624         to utimensat/futimens instead.
33625         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33626
33627         test-dup2: enhance test
33628         * tests/test-dup2.c (main): Also check AT_FDCWD.
33629
33630         test-stat-time: avoid more spurious failures
33631         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33632         xfs; and avoid race if the two timestamps cross quantization edge.
33633
33634         relocatable: prefer 'file system' over 'filesystem'
33635         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33636         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33637         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33638         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33639         * lib/relocatable.c (compute_curr_prefix): Likewise.
33640
33641 2009-10-10  Jim Meyering  <meyering@redhat.com>
33642
33643         stat-time-tests: check for the usleep function
33644         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33645
33646 2009-10-10  Bruno Haible  <bruno@clisp.org>
33647
33648         * modules/xnanosleep: Put the Link section after the Include section.
33649
33650 2009-10-09  Eric Blake  <ebb9@byu.net>
33651
33652         dup2: work around FreeBSD 6.1 bug
33653         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33654         * doc/posix-functions/dup2.texi (dup2): Document it.
33655         Reported by Nelson H. F. Beebe and Jim Meyering.
33656
33657         test-stat-time: port to buggy NFS clients
33658         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33659         (test_ctime): Also skip test if mtime and ctime are skewed.
33660
33661         maint: prefer 'file system' over 'filesystem'
33662         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33663         * doc/posix-functions/lstat.texi (lstat): Likewise.
33664         * lib/file-has-acl.c (file_has_acl): Likewise.
33665         * lib/fwriteerror.c [TEST]: Likewise.
33666         * tests/test-areadlink.h (test_areadlink): Likewise.
33667         * tests/test-areadlinkat-with-size.c (main): Likewise.
33668         * tests/test-areadlinkat.c (main): Likewise.
33669         * tests/test-canonicalize-lgpl.c (main): Likewise.
33670         * tests/test-canonicalize.c (main): Likewise.
33671         * tests/test-fstatat.c (main): Likewise.
33672         * tests/test-linkat.c (main): Likewise.
33673         * tests/test-lstat.h (test_lstat_func): Likewise.
33674         * tests/test-mkdir.h (test_mkdir): Likewise.
33675         * tests/test-readlink.h (test_readlink): Likewise.
33676         * tests/test-remove.c (main): Likewise.
33677         * tests/test-rename.h (test_rename): Likewise.
33678         * tests/test-renameat.c (main): Likewise.
33679         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33680         * tests/test-symlink.h (test_symlink): Likewise.
33681         * tests/test-symlinkat.c (main): Likewise.
33682         * tests/test-unlink.h (test_unlink_func): Likewise.
33683         * tests/test-unlinkat.c (main): Likewise.
33684
33685         maint: make realtime library usage explicit
33686         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33687         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33688         * modules/settime (Link): Likewise.
33689         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33690
33691         test-stat-time: speed up execution
33692         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33693         warning on mingw.
33694         (nap): New helper function.
33695         (prepare_test): Use it to reduce sleep time.
33696         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33697         execution.
33698         * modules/stat-time-tests (configure.ac): Check for usleep.
33699
33700 2009-10-09  Jim Meyering  <meyering@redhat.com>
33701
33702         selinux-h: always use getfilecon wrappers
33703         * lib/getfilecon.c: New file.
33704         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33705         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33706         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33707         (fgetfilecon): Provide a stub.
33708         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33709         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33710         file unconditionally.
33711         When <selinux/selinux.h> is found, arrange to use wrappers.
33712         * modules/selinux-h (Files): Add getfilecon.c.
33713         (Makefile.am): Substitute include-next-related bits
33714         into the now-always-generated selinux/selinux.h file.
33715         * doc/glibc-functions/lgetfilecon.texi: New file.
33716         * doc/glibc-functions/fgetfilecon.texi: New file.
33717         * doc/glibc-functions/getfilecon.texi: New file.
33718         * doc/glibc-functions/getfilecon-desc.texi: New file.
33719         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33720         which to pull in the new files.
33721         * MODULES.html.sh (Misc): Add selinux-h.
33722
33723 2009-10-08  Jim Meyering  <meyering@redhat.com>
33724
33725         unistd: fix comment typo
33726         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33727
33728 2009-10-08  Eric Blake  <ebb9@byu.net>
33729
33730         areadlink: use SIZE_MAX consistently
33731         * modules/areadlink (Depends-on): Add stdint.
33732         * modules/areadlink-with-size (Depends-on): Likewise.
33733         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33734         gives NULL; drop sys/types, since unistd gives size_t; and add
33735         stdint for SIZE_MAX.
33736         (SIZE_MAX): Rely on headers.
33737         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33738         and add stdint.
33739         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33740         (SIZE_MAX): Likewise.
33741         (INITIAL_BUF_SIZE): Turn into enum.
33742         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33743
33744 2009-10-08  Jim Meyering  <meyering@redhat.com>
33745
33746         areadlinkat: avoid compilation failure
33747         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33748         Fix typo in comment.
33749
33750 2009-10-07  Eric Blake  <ebb9@byu.net>
33751
33752         areadlinkat-with-size: new module
33753         * modules/areadlinkat-with-size: New module.
33754         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33755         * lib/areadlink.h (areadlinkat): Declare it.
33756         * MODULES.html.sh (File system functions): Mention it.
33757         * modules/areadlinkat-with-size-tests: New test.
33758         * tests/test-areadlinkat-with-size.c: New file.
33759
33760         xreadlinkat: new module
33761         * modules/xreadlinkat: New module.
33762         * lib/xreadlinkat.c (xreadlinkat): New file.
33763         * lib/xreadlink.h (xreadlinkat): Declare it.
33764         * MODULES.html.sh (File system functions): Mention it.
33765
33766         areadlinkat: new module
33767         * lib/at-func.c (FUNC_FAIL): New define.
33768         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33769         * modules/areadlinkat: New module.
33770         * lib/linkat.c (areadlinkat): Move...
33771         * lib/areadlinkat.c (areadlinkat): ...to new file.
33772         * lib/areadlink.h (areadlinkat): Declare it.
33773         * modules/linkat (Depends-on): Add areadlinkat.
33774         * MODULES.html.sh (File system functions): Mention it.
33775         * modules/areadlinkat-tests: New test.
33776         * tests/test-areadlinkat.c: New file.
33777
33778         areadlink, areadlink-with-size: add tests
33779         * modules/areadlink-tests: New test.
33780         * modules/areadlink-with-size-tests: Likewise.
33781         * tests/test-areadlink.h: New file.
33782         * tests/test-areadlink.c: Likewise.
33783         * tests/test-areadlink-with-size.c: Likewise.
33784
33785         maint: minor cleanups
33786         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33787         _UNUSED_PARAMETER_ instead.
33788         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33789         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33790         * modules/linkat-tests (Files): Distribute test-link.h.
33791
33792         openat, utimens: whitespace cleanup
33793         * lib/openat.c: Prefer space throughout, rather than mix of 8
33794         spaces vs. tabs.
33795         * lib/at-func.c: Likewise.
33796         * lib/utimens.c: Likewise.
33797
33798         openat: avoid using wrong fd
33799         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33800         working directory chooses same fd.
33801         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33802
33803         mkdir, mkdirat: fix cygwin 1.5.x bug
33804         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33805         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33806         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33807         bug.
33808         (gl_PREREQ_MKDIR): Delete unused macro.
33809         * modules/mkdir (Files): Track file rename.
33810         (configure.ac): Update macro name.
33811         * modules/openat (Depends-on): Add mkdir.
33812         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33813
33814         mkdir, mkdirat: add tests
33815         * modules/mkdir-tests: New test.
33816         * tests/test-mkdir.h: New file.
33817         * tests/test-mkdir.c: Likewise.
33818         * tests/test-mkdirat.c: Likewise.
33819         * modules/openat-tests (Files): Add new files.
33820         (Makefile.am): Run new test.
33821
33822 2009-10-06  Eric Blake  <ebb9@byu.net>
33823
33824         doc: tweak *at function documentation
33825         * doc/posix-functions/faccessat.texi (faccessat): Mention
33826         known issue with replacement.
33827         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33828         * doc/posix-functions/linkat.texi (linkat): Likewise.
33829         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33830         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33831         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33832         * doc/posix-functions/renameat.texi (renameat): Likewise.
33833         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33834
33835         openat: fix GNU/Hurd bug in unlinkat
33836         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33837         broken.
33838         * doc/posix-functions/unlink.texi (unlink): Document this.
33839         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33840
33841         fdopendir: fix GNU/Hurd bug
33842         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33843         allowing non-directory fds.
33844         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33845         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33846         * modules/dirent (Makefile.am): Substitute it.
33847         * lib/dirent.in.h (fdopendir): Declare replacement.
33848         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33849         * tests/test-fdopendir.c (main): Test something other than
33850         /dev/null, since on Hurd that behaves like a directory.
33851
33852         test-symlink: port to GNU/Hurd
33853         * tests/test-symlink.h (test_symlink): Relax expected errno.
33854
33855         doc: tweak more cygwin information
33856         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33857         now compatible with glibc.
33858         * doc/posix-functions/getopt.texi (getopt): Likewise.
33859
33860         getopt-gnu: add another test
33861         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33862         guarantee behavior relied on by m4.
33863         * tests/test-getopt.c (main): Use it.
33864         * modules/getopt-posix-tests (Depends-on): Add setenv.
33865         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33866
33867         getopt: fix compilation on darwin
33868         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33869         include.
33870         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33871         Reported by Ludovic Courtès.
33872
33873 2009-10-06  Bruno Haible  <bruno@clisp.org>
33874
33875         * modules/size_max (Description): Discourage its use.
33876         Reported by Simon Josefsson.
33877
33878 2009-10-06  Jim Meyering  <meyering@redhat.com>
33879
33880         linkat: avoid compilation failure
33881         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33882
33883 2009-10-05  Eric Blake  <ebb9@byu.net>
33884
33885         linkat: support Linux 2.6.17
33886         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33887         linkat on Linux, but allow cache variable override.
33888         * lib/linkat.c (rpl_linkat): Define override.
33889         * modules/linkat (Depends-on): Add symlinkat.
33890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33891         * modules/unistd (Makefile.am): Substitute it.
33892         * lib/unistd.in.h (linkat): Declare replacement.
33893         Reported by Pádraig Brady.
33894
33895         quotearg: port test to systems with C.UTF-8 locale
33896         * tests/test-quotearg.c (struct result_strings): Add another
33897         member, differentiating between C.ASCII and C.UTF-8 handling.
33898         (compare_strings): Add parameter.
33899         (main): Adjust all callers.
33900
33901         getopt: avoid clash with FreeBSD _getopt_internal
33902         * lib/getopt.in.h (_getopt_internal): Override the name.
33903         * lib/getopt_int.h (includes): Pick up any overrides.
33904         Reported by Reuben Thomas.
33905
33906         hash: allow C89 compilation
33907         * lib/hash.c (check_tuning): Move declaration before statement.
33908         Reported by Reuben Thomas.
33909
33910 2009-10-05  Karl Berry  <karl@gnu.org>
33911
33912         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33913
33914 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33915             Bruno Haible  <bruno@clisp.org>
33916
33917         * lib/uname.c (uname): Use a table-driven algorithm to compute
33918         Windows NT versions.
33919
33920 2009-10-04  Bruno Haible  <bruno@clisp.org>
33921
33922         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33923         program_invocation_short_name.
33924         * modules/progname (configure.ac): Test for presence of
33925         program_invocation_short_name.
33926         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33927
33928 2009-10-04  Bruno Haible  <bruno@clisp.org>
33929
33930         * lib/progname.c (set_program_name): Fix comment.
33931         Reported by Jim Meyering.
33932
33933 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33934             Bruno Haible  <bruno@clisp.org>
33935
33936         * lib/uname.c: Include <string.h>.
33937         (uname): Do only one call to GetVersionEx in the common case.
33938
33939 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33940             Bruno Haible  <bruno@clisp.org>
33941
33942         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
33943         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
33944         (uname): Add support for Windows CE and various non-x86 CPU types.
33945
33946 2009-10-03  Bruno Haible  <bruno@clisp.org>
33947
33948         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
33949         invocation to tests/configure.ac.
33950         Reported by Ian Beckwith <ianb@erislabs.net>.
33951
33952 2009-10-02  Eric Blake  <ebb9@byu.net>
33953
33954         fchdir: avoid compiler warning
33955         * lib/fchdir.c (canonicalize_file_name)
33956         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
33957
33958         test-open: support mingw errno values
33959         * tests/test-open.h (test_open): Relax test.
33960         * tests/test-fopen.h (test_fopen): Likewise.
33961         * tests/test-openat-safer.c (main): Likewise.
33962
33963         open: fix opening directory on mingw
33964         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
33965
33966         test-open: on GNU/Hurd, /dev/null is a directory
33967         * tests/test-fopen.h (main): Rename...
33968         (test_fopen): ...to this.  Use a guaranteed non-directory when
33969         confirming open behavior on trailing slash.
33970         * tests/test-openat-safer.c (main): Likewise.
33971         * tests/test-open.h (main): Likewise....
33972         (test_open): ...to this.
33973         * tests/test-fopen.c (main): Adjust caller.
33974         * tests/test-fopen-safer.c (main): Likewise.
33975         * tests/test-open.c (main): Likewise.
33976         * tests/test-fcntl-safer.c (main): Likewise.
33977         Reported by Samuel Thibault.
33978
33979         rename, fchdir: don't ignore chdir failure
33980         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
33981         * lib/rename.c (rpl_rename) [W32]: Likewise.
33982         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
33983         an empty destination directory if source cannot be renamed,
33984         although there is still possibility for failure.
33985         * doc/posix-functions/rename.texi (rename): Document the race.
33986         Reported by Jim Meyering.
33987
33988         maint: cleanup whitespace in recent commits
33989         * lib/rename.c (rpl_rename): Remove tabs.
33990         * tests/test-link.h (test_link): Likewise.
33991         * lib/fchdir.c (get_name): Likewise.
33992         Reported by Jim Meyering.
33993
33994 2009-10-02  Ben Pfaff  <blp@gnu.org>
33995
33996         relocatable-prog-wrapper: Add missing dependency on
33997         double-slash-root.
33998         * modules/relocatable-prog-wrapper: Add dependency.
33999         Reported by Ian Beckwith <ianb@erislabs.net>.
34000
34001 2009-10-02  Eric Blake  <ebb9@byu.net>
34002
34003         renameat: fix Solaris bugs
34004         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34005         needed fixing.
34006         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34007         * modules/stdio (Makefile.am): Substitute it.
34008         * lib/stdio.in.h (renameat): Declare replacement.
34009         * lib/renameat.c (rpl_renameat): Implement fix.
34010
34011         renameat: new module
34012         * modules/renameat: New file.
34013         * lib/renameat.c (renameat): Likewise.
34014         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34016         * modules/stdio (Makefile.am): Substitute them.
34017         * lib/stdio.in.h (renameat): Declare it.
34018         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34019         * doc/posix-functions/renameat.texi (renameat): Likewise.
34020         * modules/renameat-tests: New test.
34021         * tests/test-renameat.c: Likewise.
34022
34023         rename: fix mingw bugs
34024         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34025         directory overwrite bugs.
34026
34027         rename: fix another cygwin 1.5 bug
34028         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34029         checks.
34030         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34031         unnecessary cygwin workarounds.  Also work around bug with moving
34032         full directory onto an empty one.
34033         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34034
34035         rename-dest-slash: merge into rename module
34036         * modules/rename-dest-slash (Status): Mark obsolete.
34037         (Depends-on): Add rename.
34038         (Files): Let rename do it all.
34039         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34040         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34041         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34042         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34043         * lib/rename.c (rpl_rename): Update comments.
34044
34045         rename: fix cygwin 1.5.x bugs
34046         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34047         * lib/rename.c (rpl_rename): Work around them.
34048         * modules/rename (Depends-on): Add same-inode.
34049
34050         rename: fix Solaris 10 bug
34051         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34052         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34053         was the only bug.
34054
34055         rename: fix Solaris 9 bug
34056         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34057         on non-directory.  Avoid calling exit.
34058         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34059         strdup.
34060         * modules/rename-tests (Depends-on): Drop lstat.
34061         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34062         (gl_PREREQ_RENAME): Delete unused macro.
34063
34064         rename-dest-slash: fix NetBSD bug
34065         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34066         links.
34067         * modules/rename-dest-slash (Depends-on): Add same-inode.
34068
34069         rename-tests: new test, exposes several platform bugs
34070         * modules/rename-tests: New file.
34071         * tests/test-rename.h: Likewise.
34072         * tests/test-rename.c: Likewise.
34073         * doc/posix-functions/rename.texi (rename): Improve documentation,
34074         including bugs that will eventually be fixed in gnulib.
34075
34076 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34077
34078         * lib/uname.c: Include <stdlib.h>
34079         (uname): Assume version info is available.
34080
34081 2009-10-02  Jim Meyering  <meyering@redhat.com>
34082
34083         gnu-web-doc-update: correct --help output
34084         * build-aux/gnu-web-doc-update: Make --help output relevant.
34085
34086         gnu-web-doc-update: add standard options
34087         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34088
34089         gnu-web-doc-update: New module.
34090         Use this script to automatically update the on-line web documentation
34091         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34092         * modules/gnu-web-doc-update: New file, from coreutils.
34093         * build-aux/gnu-web-doc-update: New script.
34094
34095 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34096
34097         link: LoadLibrary is not needed.
34098         * lib/link.c: Use GetModuleHandle.
34099
34100 2009-10-01  Eric Blake  <ebb9@byu.net>
34101
34102         getopt: bump serial number
34103         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34104         change.
34105
34106         tests: tighten link, rmdir, and remove tests
34107         * tests/test-link.h (includes): No need to use <config.h> here.
34108         Clean up if directory hard link was created, otherwise test for
34109         trailing '.'.
34110         * tests/test-linkat.c (main): Simplify.
34111         * tests/test-remove.c (main): Enhance test for trailing '.'.
34112         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34113
34114 2009-10-01  Jim Meyering  <meyering@redhat.com>
34115
34116         maint.mk: requiring "make major" was annoying, for a "minor" release.
34117         What is intended is "stable", to contrast with alpha and beta,
34118         so require "make stable", not "make major".
34119         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34120         (get_tool_versions): Likewise.
34121         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34122
34123 2009-09-30  Ben Pfaff  <blp@gnu.org>
34124
34125         Fix broken build of replacement for Windows tmpfile().
34126         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34127         flags argument added along with the 'mkostemp' module.
34128
34129 2009-09-28  Bruno Haible  <bruno@clisp.org>
34130
34131         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34132         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34133         to 'remove_elt'.
34134         (gl_list_remove): Update.
34135         * lib/gl_list.c (gl_list_remove): Update.
34136         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34137         to 'remove_elt'.
34138         (gl_oset_remove): Update.
34139         * lib/gl_list.c (gl_oset_remove): Update.
34140         Reported by Eric Blake.
34141
34142 2009-09-28  Eric Blake  <ebb9@byu.net>
34143
34144         doc: mention yet more cygwin 1.7 status
34145         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34146         cygwin.
34147         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34148         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34149
34150         argp: fix test failure
34151         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34152         that are not upper-case.  Pass correct range to tolower.
34153
34154 2009-09-27  Jim Meyering  <meyering@redhat.com>
34155
34156         test-yesno: work around sparc-dash here-document infelicity
34157         Without this change, the literal \177 byte in a here document
34158         would make dash 0.5.5.1-3 access uninitialized memory.
34159         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34160         Instead, use a marker, "@", and filter through tr to create the desired
34161         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34162
34163 2009-09-27  Bruno Haible  <bruno@clisp.org>
34164
34165         Disable untested support for new flavours of ACLs on AIX.
34166         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34167         progress.
34168         * lib/set-mode-acl.c (qset_acl): Likewise.
34169
34170 2008-12-07  Bruno Haible  <bruno@clisp.org>
34171
34172         Add support for new flavours of ACLs on AIX. (Untested.)
34173         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34174         (file_has_acl): Add support for newer AIX.
34175         * lib/set-mode-acl.c (qset_acl): Likewise.
34176         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34177         Rainer Tammer <tammer@tammer.net>.
34178
34179 2009-09-26  Eric Blake  <ebb9@byu.net>
34180
34181         argp: fix compilation of getopt
34182         * lib/getopt.in.h (includes): Use different guard than glibc.
34183         Reported by Sergey Poznyakoff.
34184
34185         doc: mention more cygwin 1.7 status
34186         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34187         bug.
34188         * doc/posix-functions/execl.texi (execl): Likewise.
34189         * doc/posix-functions/execle.texi (execle): Likewise.
34190         * doc/posix-functions/execlp.texi (execlp): Likewise.
34191         * doc/posix-functions/execv.texi (execv): Likewise.
34192         * doc/posix-functions/execve.texi (execve): Likewise.
34193         * doc/posix-functions/execvp.texi (execvp): Likewise.
34194         * doc/glibc-functions/canonicalize_file_name.texi
34195         (canonicalize_file_name): Cygwin 1.7 now provides this.
34196         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34197         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34198         on AT_SYMLINK_NOFOLLOW.
34199
34200 2009-09-24  Eric Blake  <ebb9@byu.net>
34201
34202         test-linkat: make test more robust
34203         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34204
34205         getopt: fix inclusion guards for cygwin
34206         * modules/getopt-posix (Depends-on): Add include-next.
34207         (Makefile.am): Substitute more items in replacement header.
34208         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34209         <getopt.h>.
34210         * lib/getopt.in.h (includes): Use split inclusion guard, and
34211         prefer <getopt.h> over include <unistd.h> when one is present.
34212         (option): Also override name of 'struct option'.
34213
34214         same-inode: revert prior change; it is not yet ready
34215         * NEWS: Undo mention of this change.
34216         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34217         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34218         * lib/cycle-check.c (cycle_check): Likewise.
34219         * lib/same.c (same_name): Likewise.
34220         * lib/at-func2.c (at_func2): Likewise.
34221
34222 2009-09-23  Eric Blake  <ebb9@byu.net>
34223
34224         linkat: new module
34225         * modules/linkat: New file.
34226         * lib/at-func2.c (at_func2): Likewise.
34227         * lib/linkat.c (linkat): Likewise.
34228         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34229         * lib/openat-priv.h (at_func2): Add declaration.
34230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34231         * modules/unistd (Makefile.am): Substitute them.
34232         * lib/unistd.in.h (linkat): Declare it.
34233         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34234         * doc/posix-functions/linkat.texi (linkat): Likewise.
34235         * doc/posix-functions/link.texi (link): Tweak wording.
34236         * tests/test-link.c (main): Move guts...
34237         * tests/test-link.h (test_link): ...into new file.
34238         * modules/linkat-tests: New test.
34239         * tests/test-linkat.c: Likewise.
34240         * modules/link-tests (Files): Ship new file.
34241         (Depends-on): Add stdbool.
34242
34243         dirname: add library-safe mdir_name
34244         * lib/dirname.h (mdir_name): New prototype.
34245         * lib/dirname.c (dir_name): Move guts...
34246         (mdir_name): ...to new function that avoids xalloc_die.
34247
34248         fchdir: another mingw fix
34249         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34250         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34251         on mingw (where it has not yet been ported), and make it optional
34252         elsewhere.
34253         (_gl_register_fd): Use it.
34254
34255         same-inode: make SAME_INODE tri-state, to port to mingw
34256         * NEWS: Mention this change.
34257         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34258         st_ino always being 0.
34259         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34260         * lib/cycle-check.c (cycle_check): Likewise.
34261         * lib/same.c (same_name): Likewise.
34262
34263         lstat: avoid mingw compilation error
34264         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34265         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34266         lstat ourselves.
34267         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34268         was adequate.
34269         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34270         the checks for lstat.
34271         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34272
34273         link: fix test failure on Solaris 9
34274         * lib/link.c (rpl_link): Don't assume link will catch bogus
34275         trailing slash on source.
34276
34277         test-symlinkat: enhance test
34278         * tests/test-readlink.c (main): Move guts...
34279         * tests/test-readlink.h (test_readlink): ...into new file.
34280         * tests/test-symlink.c (main): Move guts...
34281         * tests/test-symlink.h (test_symlink): ...into new file.
34282         * tests/test-symlinkat.c (main): Use new files for further
34283         coverage.
34284         (do_symlink, do_readlink): New helper functions.
34285         * modules/symlink-tests (Files): Ship new file.
34286         (Depends-on): Add stdbool.
34287         * modules/readlink-tests (Files): Ship new file.
34288         (Depends-on): Add stdbool.
34289         * modules/symlinkat-tests (Files): Use new files.
34290
34291 2009-09-23  Eric Blake  <ebb9@byu.net>
34292
34293         readlink: document portability issue with symlink length
34294         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34295         systems have bogus st_size on symlinks, and mention the
34296         areadlink-with-size module.
34297         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34298         * doc/posix-functions/readlink.texi (readlink): Mention the
34299         areadlink module, and ERANGE failure.
34300         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34301         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34302
34303         readlink: fix Solaris 9 bug with trailing slash
34304         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34305         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34306         * doc/posix-functions/readlink.texi (readlink): Document this.
34307         * modules/readlink-tests: New test.
34308         * tests/test-readlink.c: Likewise.
34309
34310         readlink: fix cygwin 1.5.x bug with return type
34311         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34312         * lib/unistd.in.h (readlink): Use ssize_t.
34313         * lib/readlink.c (readlink): Likewise.
34314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34315         * modules/unistd (Makefile.am): Substitute it.
34316         * lib/unistd.in.h (readlink): Declare replacement.
34317         * doc/posix-functions/readlink.texi (readlink): Document this.
34318
34319         symlink: use throughout gnulib
34320         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34321         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34322         symlink is not used.
34323         * modules/symlinkat (Depends-on): Add symlink.
34324         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34325         * modules/canonicalize-tests (Depends-on): Likewise.
34326         * modules/lstat-tests (Depends-on): Likewise.
34327         * modules/openat-tests (Depends-on): Likewise.
34328         * modules/remove-tests (Depends-on): Likewise.
34329         * modules/rmdir-tests (Depends-on): Likewise.
34330         * modules/unlink-tests (Depends-on): Likewise.
34331         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34332         * tests/test-canonicalize.c (symlink): Likewise.
34333         * tests/test-fstatat.c (symlink): Likewise.
34334         * tests/test-lstat.c (symlink): Likewise.
34335         * tests/test-remove.c (symlink): Likewise.
34336         * tests/test-rmdir.c (symlink): Likewise.
34337         * tests/test-unlink.c (symlink): Likewise.
34338         * tests/test-unlinkat.c (symlink): Likewise.
34339
34340         symlink: new module, for Solaris 9 bug
34341         * modules/symlink: New file.
34342         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34343         * lib/symlink.c: Likewise.
34344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34345         * modules/unistd (Makefile.am): Substitute them.
34346         * lib/unistd.in.h (symlink): Declare replacement.
34347         * MODULES.html.sh (File system functions): Mention it.
34348         * doc/posix-functions/symlink.texi (symlink): Likewise.
34349         * modules/symlink-tests: New test.
34350         * tests/test-symlink.c: Likewise.
34351
34352 2009-09-23  Bruno Haible  <bruno@clisp.org>
34353
34354         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34355         when needed.
34356         Test case: gnulib-tool --import --with-tests atexit inttypes.
34357         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34358
34359 2009-09-23  Bruno Haible  <bruno@clisp.org>
34360
34361         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34362         subcommand, not in a subshell.
34363
34364 2009-09-22  Eric Blake  <ebb9@byu.net>
34365
34366         unistd: sort replacement declarations
34367         * lib/unistd.in.h: Sort declarations.
34368
34369         open, openat: minor optimization
34370         * lib/open.c (open): If open succeeded, len is non-zero.
34371         * lib/openat.c (rpl_openat): Likewise.
34372
34373         link-follow: ensure correct result
34374         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34375         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34376         distinguish between possible failures.
34377
34378 2009-09-21  Eric Blake  <ebb9@byu.net>
34379
34380         fts: avoid compiler warning
34381         * lib/fts.c (dirent_inode_sort_may_be_useful)
34382         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34383
34384 2009-09-19  Bruno Haible  <bruno@clisp.org>
34385
34386         * lib/progreloc.c (canonicalize_file_name): New declaration.
34387
34388 2009-09-19  Eric Blake  <ebb9@byu.net>
34389
34390         link: fix quoting
34391         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34392
34393         openat: fix openat bugs on Solaris 9
34394         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34395         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34396         * modules/openat (Depends-on): Add open.
34397         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34398         * modules/fcntl-h (Makefile.am): Substitute it.
34399         * lib/fcntl.in.h (openat): Declare replacement.
34400         * doc/posix-functions/openat.texi (openat): Document this.
34401
34402         openat: move fstatat and unlinkat into correct files
34403         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34404         compiled.
34405         * lib/openat.c (fstatat, unlinkat): Move...
34406         * lib/fstatat.c (fstatat): ...into correct files.
34407         * lib/unlinkat.c (unlinkat): Likewise.
34408
34409         openat: fix unlinkat bugs on Solaris 9
34410         * lib/unlinkat.c (unlinkat): New file.
34411         * modules/openat (Depends-on): Add unlink.
34412         (Files): Distribute it.
34413         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34414         trailing slash behavior is broken.
34415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34416         * modules/unistd (Makefile.am): Substitute it.
34417         * lib/unistd.in.h (unlinkat): Declare replacement.
34418         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34419
34420         openat: fix fstatat bugs on Solaris 9
34421         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34422         stat.
34423         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34424
34425         test-unlinkat: enhance test, to expose Solaris 9 bug
34426         * tests/test-unlink.c (main): Factor guts...
34427         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34428         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34429         * tests/test-rmdir.c (main): Adjust caller.
34430         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34431         (unlinker): New helper function.
34432         (rmdirat): Enhance check.
34433         * modules/rmdir-tests (Depends-on): Add stdbool.
34434         * modules/unlink-tests (Depends-on): Likewise.
34435         (Files): Add test-unlink.h.
34436         * modules/openat-tests (Files): Likewise.
34437         (Depends-on): Add unlinkdir.
34438
34439         test-fstatat: new test, to expose Solaris 9 bugs
34440         * tests/test-stat.c (main): Factor guts...
34441         * tests/test-stat.h (test_stat_func): ...into new file.
34442         * tests/test-lstat.c (main): Factor guts...
34443         * tests/test-lstat.h (test_lstat_func): ...into new file.
34444         * tests/test-fstatat.c: New file.
34445         * modules/stat-tests (Files): Add test-stat.h.
34446         * modules/lstat-tests (Files): Add test-lstat.h.
34447         (Depends-on): Add stdbool.
34448         * modules/openat-tests (Depends-on): Add pathmax.
34449         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34450         (Makefile.am): Run new test.
34451
34452         remove: new module, for mingw and Solaris 9 bugs
34453         * modules/remove: New file.
34454         * lib/remove.c: Likewise.
34455         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34457         * modules/stdio (Makefile.am): Use them.
34458         * lib/stdio.in.h (remove): Declare replacement.
34459         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34460         * doc/posix-functions/remove.texi (remove): Likewise.
34461         * modules/remove-tests: New test.
34462         * tests/test-remove.c: Likewise.
34463
34464         unlink: new module, for Solaris 9 bug
34465         * modules/unlink: New file.
34466         * lib/unlink.c: Likewise.
34467         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34469         * modules/unistd (Makefile.am): Use them.
34470         * lib/unistd.in.h (stat): Declare replacement.
34471         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34472         * doc/posix-functions/unlink.texi (unlink): Likewise.
34473         * modules/unlink-tests: New test.
34474         * tests/test-unlink.c: Likewise.
34475
34476         lstat: fix Solaris 9 bug
34477         * lib/lstat.c (lstat): Also check for trailing slash on
34478         non-symlink, non-directories.  Use stat module to simplify logic.
34479         * doc/posix-functions/lstat.texi (lstat): Document it.
34480         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34481         (configure.ac): Check for symlink.
34482         * tests/test-lstat.c (main): Add more tests.
34483
34484         stat: add as dependency to other modules
34485         * modules/chown (Depends-on): Add stat.
34486         * modules/euidaccess (Depends-on): Likewise.
34487         * modules/fchdir (Depends-on): Likewise.
34488         * modules/isdir (Depends-on): Likewise.
34489         * modules/link (Depends-on): Likewise.
34490         * modules/lstat (Depends-on): Likewise.
34491         * modules/mkdir-p (Depends-on): Likewise.
34492         * modules/modechange (Depends-on): Likewise.
34493         * modules/open (Depends-on): Likewise.
34494         * modules/readlink (Depends-on): Likewise.
34495         * modules/same (Depends-on): Likewise.
34496
34497         stat: fix Solaris 9 bug
34498         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34499         slash.
34500         * lib/stat.c (rpl_stat): Work around it.
34501         * doc/posix-functions/stat.texi (stat): Update documentation.
34502
34503         stat: new module, for mingw bug
34504         * modules/stat: New file.
34505         * lib/stat.c: Likewise.
34506         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34507         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34508         * modules/sys_stat (Makefile.am): Use them.
34509         * lib/sys_stat.in.h (stat): Declare replacement.
34510         * lib/openat.c (fstatat): Deal with lstat and stat being function
34511         macros.
34512         * modules/openat (Depends-on): Add inline.
34513         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34514         * doc/posix-functions/stat.texi (stat): Likewise.
34515         * modules/stat-tests: New test.
34516         * tests/test-stat.c: Likewise.
34517
34518 2009-09-19  Jim Meyering  <meyering@redhat.com>
34519
34520         syntax-check: detect unnecessary inclusion of canonicalize.h
34521         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34522
34523 2009-09-19  Eric Blake  <ebb9@byu.net>
34524
34525         canonicalize-lgpl: adjust clients to use correct header
34526         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34527         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34528         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34529         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34530         * lib/progreloc.c (includes): Likewise.
34531
34532 2009-09-19  Jim Meyering  <meyering@redhat.com>
34533
34534         test-posixtm.c: correct a comment
34535         * tests/test-posixtm.c: Correct first-line comment.
34536         Spotted by Eric Blake.
34537
34538 2009-09-16  Jim Meyering  <meyering@redhat.com>
34539
34540         posixtm-tests: make T const-correct; add a test case
34541         * tests/test-posixtm.c (T): Declare const.
34542         Add a test for -(2^31+1).
34543         Remove useless can-succeed-only-in-2002 test.
34544
34545         posixtm-tests: adjust the sole failing test
34546         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34547         expected output matches what mktime now produces.  Cross-checked via
34548         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34549
34550         posixtm: move #ifdef'd tests into a new module
34551         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34552         * tests/test-posixtm.c: ... this new file.
34553         * modules/posixtm-tests: New module.
34554
34555 2009-09-19  Eric Blake  <ebb9@byu.net>
34556
34557         openat: simplify use of at-func.c
34558         * lib/at-func.c (includes): Include prerequisites here, to
34559         simplify requirements on client files.
34560         * lib/openat-priv.h: Add double-inclusion guard.
34561         * lib/faccessat.c (includes): Simplify.
34562         * lib/fchmodat.c (includes): Likewise.
34563         * lib/fchownat.c (includes): Likewise.
34564         * lib/mkdirat.c (includes): Likewise.
34565         * lib/mkfifoat.c (includes): Likewise.
34566         * lib/symlinkat.c (includes): Likewise.
34567
34568         openat: allow return of fd 0
34569         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34570         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34571         unistd-safer.
34572         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34573         <fcntl.h>; this module does not leak fds.
34574         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34575         must be allowed to return 0, leaving openat_safer to add the
34576         safety.
34577         (openat_permissive): Avoid writing to just-opened fd 2 if
34578         restoring the current directory fails.
34579         * lib/openat-die.c (openat_restore_fail): Add comment.
34580         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34581         (save_cwd): Guarantee safe fd, but without use of open_safer.
34582         * tests/test-openat.c: New test.
34583         * modules/openat-tests (Files, Makefile.am): Distribute and build
34584         new file.
34585
34586         relocatable-prog-wrapper: fix build
34587         * modules/relocatable-prog-wrapper (Files): Update name of
34588         canonicalize m4 file, broken on 2009-09-17.
34589         Reported by emad hajjar <aleppos@hotmail.com>.
34590
34591 2009-09-19  Bruno Haible  <bruno@clisp.org>
34592
34593         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34594         * lib/safe-alloc.c: Likewise.
34595         Reported by Ian Beckwith <ianb@erislabs.net>.
34596
34597 2009-09-18  Bruno Haible  <bruno@clisp.org>
34598
34599         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34600         Reported by <erobles@sensacd.com.mx>.
34601
34602 2009-09-17  Eric Blake  <ebb9@byu.net>
34603
34604         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34605         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34606         slashes when checking if last component is missing.
34607         * tests/test-canonicalize.c (main): Test this.
34608
34609         canonicalize, canonicalize-lgpl: honor // if distinct from /
34610         * modules/canonicalize (Files): Add double-slash-root.m4.
34611         * modules/canonicalize-lgpl (Files): Likewise.
34612         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34613         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34614         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34615         fallback definition.
34616         (canonicalize_filename_mode): Use it to protect //.
34617         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34618         (__realpath): Likewise.
34619         * tests/test-canonicalize.c (main): Test this.
34620         * tests/test-canonicalize-lgpl.c (main): Likewise.
34621         * modules/canonicalize-tests (Depends-on): Add same-inode.
34622         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34623
34624         canonicalize-lgpl: fix glibc bug with trailing slash
34625         * m4/canonicalize-lgpl.m4: Move contents...
34626         * m4/canonicalize.m4: ...here.
34627         (gl_CANONICALIZE_LGPL): Factor realpath check...
34628         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34629         glibc 2.3.5 bug, fixed 2005-04-27.
34630         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34631         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34632         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34633         * modules/canonicalize-lgpl (Files): Manage file rename.
34634         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34635         * modules/stdlib (Makefile.am): Substitute witness.
34636         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34637         is needed.
34638         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34639         replacement is required.
34640         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34641         * doc/glibc-functions/canonicalize_file_name.texi
34642         (canonicalize_file_name): Document this.
34643         * doc/posix-functions/realpath.texi (realpath): Likewise.
34644
34645         canonicalize-lgpl: reject non-directory with trailing slash
34646         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34647         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34648         catches failures in glibc 2.3.5.
34649         * tests/test-canonicalize.c (main): Likewise.
34650
34651         canonicalize-lgpl: use native realpath if it works
34652         * lib/canonicalize-lgpl.c (realpath): Guard with
34653         FUNC_REALPATH_WORKS.
34654         * lib/stdlib.in.h (realpath): Make declaration optional based on
34655         HAVE_REALPATH.
34656         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34657         native realpath works.
34658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34659         * modules/stdlib (Makefile.am): Substitute witness.
34660
34661         canonicalize, canonicalize-lgpl: use <stdlib.h>
34662         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34663         (Include): Mention <stdlib.h>.
34664         (configure.ac): Mention functions we provide.
34665         * modules/canonicalize (configure.ac): Likewise.
34666         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34667         realpath if canonicalize_file_name is missing.
34668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34669         * modules/stdlib (Makefile.am): Substitute witnesses.
34670         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34671         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34672         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34673         * NEWS: Document this.
34674         * doc/glibc-functions/canonicalize_file_name.texi
34675         (canonicalize_file_name): Likewise.
34676         * doc/posix-functions/realpath.texi (realpath): Likewise.
34677         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34678
34679         test-canonicalize: consolidate into single C program
34680         * tests/test-canonicalize.sh: Delete; move setup into...
34681         * tests/test-canonicalize.c (main): ...the program, making it
34682         easier to run in debugger.  Add some tests.
34683         * modules/canonicalize-tests (Files): Remove unused file.
34684         (Depends-on): Add progname.
34685         (configure.ac, Makefile.am): Simplify.
34686
34687         test-canonicalize-lgpl: consolidate into single C program
34688         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34689         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34690         easier to run in debugger.  Add some tests.
34691         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34692         (configure.ac, Makefile.am): Simplify.
34693
34694         canonicalize: avoid resolvepath
34695         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34696         unnecessary checks.
34697         * lib/canonicalize.c (includes): Simplify.
34698         (canonicalize_file_name): Drop resolvepath implementation.
34699         * modules/canonicalize (Depends-on): Drop filenamecat.
34700
34701         canonicalize: don't lose errno
34702         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34703         over calls to free.
34704
34705         canonicalize: simplify errno handling
34706         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34707         assignment.
34708
34709         canonicalize, canonicalize-lgpl: update module dependencies
34710         * modules/canonicalize (Depends-on): Add extensions, lstat,
34711         pathmax, stdlib.
34712         (Files): Drop pathmax.h.
34713         (configure.ac): Adjust macro name.
34714         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34715         lstat, stdlib, sys_stat.
34716         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34717         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34718         extensions.
34719         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34720         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34721         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34722         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34723         declaration, if available.
34724         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34725         we can rely on the readlink module.
34726         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34727         (includes): Use <unistd.h> unconditionally.
34728
34729 2009-09-17  Eric Blake  <ebb9@byu.net>
34730
34731         maint: make Include sections of modules consistent
34732         * modules/alloca: Use only header name; no need to list #include.
34733         * modules/alloca-opt: Likewise.
34734         * modules/arpa_inet: Likewise.
34735         * modules/canon-host: Likewise.
34736         * modules/configmake: Likewise.
34737         * modules/dirent: Likewise.
34738         * modules/eealloc: Likewise.
34739         * modules/environ: Likewise.
34740         * modules/fchdir: Likewise.
34741         * modules/fcntl: Likewise.
34742         * modules/fcntl-h: Likewise.
34743         * modules/gethrxtime: Likewise.
34744         * modules/gettime: Likewise.
34745         * modules/ignore-value: Likewise.
34746         * modules/inet_ntop: Likewise.
34747         * modules/inet_pton: Likewise.
34748         * modules/inttypes: Likewise.
34749         * modules/isnand-nolibm: Likewise.
34750         * modules/isnanf-nolibm: Likewise.
34751         * modules/mbchar: Likewise.
34752         * modules/mbfile: Likewise.
34753         * modules/mbiter: Likewise.
34754         * modules/mbuiter: Likewise.
34755         * modules/netdb: Likewise.
34756         * modules/netinet_in: Likewise.
34757         * modules/nproc: Likewise.
34758         * modules/pagealign_alloc: Likewise.
34759         * modules/poll: Likewise.
34760         * modules/printf-frexp: Likewise.
34761         * modules/pthread: Likewise.
34762         * modules/putenv: Likewise.
34763         * modules/random_r: Likewise.
34764         * modules/relocatable-prog: Likewise.
34765         * modules/search: Likewise.
34766         * modules/select: Likewise.
34767         * modules/selinux-h: Likewise.
34768         * modules/settime: Likewise.
34769         * modules/signal: Likewise.
34770         * modules/size_max: Likewise.
34771         * modules/socklen: Likewise.
34772         * modules/ssize_t: Likewise.
34773         * modules/stdarg: Likewise.
34774         * modules/stdbool: Likewise.
34775         * modules/stddef: Likewise.
34776         * modules/stdint: Likewise.
34777         * modules/stdio: Likewise.
34778         * modules/stdlib: Likewise.
34779         * modules/string: Likewise.
34780         * modules/strings: Likewise.
34781         * modules/sys_file: Likewise.
34782         * modules/sys_ioctl: Likewise.
34783         * modules/sys_select: Likewise.
34784         * modules/sys_socket: Likewise.
34785         * modules/sys_stat: Likewise.
34786         * modules/sys_time: Likewise.
34787         * modules/sys_times: Likewise.
34788         * modules/sys_utsname: Likewise.
34789         * modules/sys_wait: Likewise.
34790         * modules/sysexits: Likewise.
34791         * modules/time: Likewise.
34792         * modules/times: Likewise.
34793         * modules/tmpfile: Likewise.
34794         * modules/trim: Likewise.
34795         * modules/unistd: Likewise.
34796         * modules/wchar: Likewise.
34797         * modules/wctype: Likewise.
34798
34799 2009-09-17  Bruno Haible  <bruno@clisp.org>
34800
34801         Make getdate.y compile on QNX and NetBSD 5 / i386.
34802         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34803         TIME_T_FITS_IN_LONG_INT.
34804         * lib/getdate.y (long_time_t): New type.
34805         (relative_time): Change type of 'seconds' field to long_time_t.
34806         (get_date): Update types of local variables. Check against overflow
34807         during conversion from long_time_t to time_t.
34808         Reported by Matt Kraai <kraai@ftbfs.org>
34809         and Hasso Tepper <hasso@netbsd.org>.
34810
34811 2009-09-17  Bruno Haible  <bruno@clisp.org>
34812
34813         * modules/COPYING: Update copyright years.
34814         * modules/README: Likeiwse.
34815         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34816         Reported by Ian Beckwith <ianb@erislabs.net>.
34817
34818 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34819
34820         * users.txt: Update references for gnuit package.
34821
34822 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34823
34824         * m4/getdelim.m4: Fix typo in copyright line.
34825
34826 2009-09-17  Bruno Haible  <bruno@clisp.org>
34827
34828         * lib/atoll.c: Use the standard header with GPL copyright.
34829         * lib/argz.in.h: Likewise.
34830         * lib/glob.c: Likewise.
34831         * lib/glob-libc.h: Likewise.
34832         * lib/random_r.c: Likewise.
34833         * lib/siglist.h: Likewise.
34834         * lib/strsignal.c: Likewise.
34835         Reported by Ian Beckwith <ianb@erislabs.net>.
34836
34837 2009-09-17  Eric Blake  <ebb9@byu.net>
34838
34839         rmdir: ensure correct dependency order
34840         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34841
34842 2009-09-17  Bruno Haible  <bruno@clisp.org>
34843
34844         Disable assertion that fails on NetBSD 5 / i386.
34845         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34846         Reported by Sam Steingold <sds@gnu.org>
34847         and Hasso Tepper <hasso@netbsd.org>.
34848
34849 2009-09-16  Eric Blake  <ebb9@byu.net>
34850
34851         unlinkdir: port to mingw
34852         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34853         on which no one can unlink a directory.
34854
34855         stdlib: sort witness names
34856         * modules/stdlib (Makefile.am): Sort replacements.
34857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34858         * lib/stdlib.in.h: Likewise.
34859
34860         parse-duration-tests: avoid link failure
34861         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34862         LIBINTL.
34863         Reported by Tom G. Christensen.
34864
34865         openat-tests: ensure unlinkat behaves like rmdir
34866         * tests/test-rmdir.c (main): Factor guts...
34867         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34868         * modules/rmdir-tests (Files): Ship new file.
34869         * modules/openat-tests: New test.
34870         * tests/test-unlinkat.c: Likewise.
34871
34872         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34873         * modules/rmdir-errno (Status, Notice): Now obsolete.
34874
34875         rmdir: work around cygwin 1.5.x and mingw bugs
34876         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34877         * lib/rmdir.c (rmdir): Work around it.
34878         * modules/rmdir (Status, Notice): No longer obsolete.
34879         (Files): Add dos.m4.
34880         (Depends-on): Add unistd.
34881         (configure.ac): Set witnesses.
34882         (License): Relax to LGPLv2+.
34883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34884         * modules/unistd (Makefile.am): Substitute witnesses.
34885         * lib/unistd.in.h (rmdir): Declare replacement.
34886         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34887         * modules/rmdir-tests: New tests.
34888         * tests/test-rmdir.c: Likewise.
34889
34890 2009-09-15  Eric Blake  <ebb9@byu.net>
34891
34892         fchdir: improve use of replacement functions
34893         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34894         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34895         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34896         REPLACE_CLOSEDIR.
34897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34898         * modules/sys_stat (Makefile.am): Substitute correct witness.
34899         * modules/dirent (Makefile.am): Likewise.
34900         * modules/unistd (Makefile.am): Likewise.
34901         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34902         * lib/unistd.in.h (dup): Likewise.
34903         * lib/sys_stat.in.h (fstat): Likewise.
34904
34905         maint: ignore gnulib-tool temp files
34906         * .gitignore: Ignore files created during gnulib-tool --test.
34907
34908 2009-09-13  Jim Meyering  <meyering@redhat.com>
34909
34910         posixtm: don't reject a time that specify "60" as the number of seconds
34911         * lib/posixtm.c (posixtime): The code to reject invalid dates
34912         would also reject a time specified with the .60 suffix.
34913         But POSIX allows that, in order to accommodate leap seconds.
34914         So don't reject it.
34915         (main): Adjust tests accordingly.
34916         * modules/posixtm (Depends-on): Add stpcpy.
34917
34918 2009-09-11  Jim Meyering  <meyering@redhat.com>
34919
34920         announce-gen: include [$release_type] in emitted Subject:
34921         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34922         e.g., [stable] in the emitted Subject: line.
34923
34924 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34925
34926         Remove obsolete macros from several modules.
34927         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
34928         obsolete Autoconf macros with their modern counterparts.
34929         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
34930         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
34931         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
34932         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34933         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
34934         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34935         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34936         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34937         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
34938         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
34939         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34940         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34941         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
34942         * m4/sockets.m4 (gl_SOCKETS): Likewise.
34943         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
34944         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
34945         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34946         * m4/time_r.m4 (gl_TIME_R): Likewise.
34947         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
34948         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
34949         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34950
34951         Fix copyright header in build-aux scripts.
34952         * build-aux/git-version-gen: Fix copyright header to match GPLv3
34953         recommendation.
34954         * build-aux/ncftpput-ftp: Likewise.
34955         * build-aux/update-copyright: Likewise.
34956
34957 2009-09-09  Eric Blake  <ebb9@byu.net>
34958
34959         test-link: allow Linux choice of errno
34960         * tests/test-link.c (main): Relax test for alternate error.
34961
34962         strndup: fix improper m4 caching
34963         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
34964         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
34965         (gl_PREREQ_STRNDUP): Delete.
34966         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
34967         * modules/string (Makefile.am): Substitute it.
34968         * lib/string.in.h (strndup): Modernize prototype.
34969
34970         getcwd: port to mingw
34971         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
34972         different from the POSIX assumptions made throughout the getcwd
34973         module; fortunately, the mingw getcwd does not need replacement.
34974         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
34975         * modules/getcwd-tests: New test.
34976         * tests/test-getcwd.c: Likewise.
34977
34978         link: fix platform bugs
34979         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
34980         * lib/link.c (link): Work around them.  Fix related mingw bug.
34981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
34982         * modules/unistd (Makefile.am): Substitute it.
34983         * lib/unistd.in.h (link): Declare replacement.
34984         * doc/posix-functions/link.texi (link): Document this.
34985         * modules/link (Depends-on): Add strdup-posix, sys_stat.
34986
34987         test-link: consolidate into single C program, test more cases
34988         * tests/test-link.sh: Delete.
34989         * tests/test-link.c: Test more error conditions.  Exposes bugs on
34990         at least Cygwin and Solaris.
34991         * modules/link-tests (Files): Remove unused file.
34992         (Depends-on): Add errno, sys_stat.
34993         (Makefile.am): Simplify.
34994
34995 2009-09-08  Bruno Haible  <bruno@clisp.org>
34996
34997         Work around towlower, towupper bug on mingw.
34998         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
34999         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35000         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35001         * doc/posix-functions/towupper.texi: Likewise.
35002         Reported by Eric Blake.
35003
35004 2009-09-08  Jim Meyering  <meyering@redhat.com>
35005
35006         build: don't try to run autoheader if we don't use it
35007         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35008         is not used in configure.ac.
35009
35010 2009-09-08  Eric Blake  <ebb9@byu.net>
35011
35012         euidaccess: fix compilation error
35013         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35014
35015         rawmemchr: relax license
35016         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35017         okay.
35018         Reported by Jim Meyering.
35019
35020         mkfifoat: new module
35021         * modules/mkfifoat: New file.
35022         * lib/mkfifoat.c: Likewise.
35023         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35024         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35025         * modules/sys_stat (Makefile.am): Use them.
35026         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35027         * MODULES.html.sh (File system functions): Mention module.
35028         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35029         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35030         * modules/mkfifoat-tests: New test.
35031         * tests/test-mkfifoat.c: Likewise.
35032
35033         strchrnul: relax license
35034         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35035         okay.
35036         Reported by Jim Meyering.
35037
35038 2009-09-08  Eric Blake  <ebb9@byu.net>
35039
35040         fstatat: fix compilation on Solaris
35041         * lib/fstatat.c (includes): Add fcntl.h.
35042         Reported by Pádraig Brady.
35043
35044 2009-09-07  Eric Blake  <ebb9@byu.net>
35045
35046         rename: modernize replacement
35047         * modules/rename (Depends-on): Add stdio.
35048         (configure.ac): Declare witness.
35049         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35050         stdio take care of replacement.
35051         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35052         * modules/stdio (Makefile.am): Substitute them.
35053         * lib/stdio.in.h (rename): Declare replacement.
35054         * lib/rename.c (includes): Allow cross-compilation to non-windows
35055         machines.
35056         * doc/posix-functions/rename.texi (rename): Improve
35057         documentation.
35058
35059         stdio: sort witness names
35060         * modules/stdio (Makefile.am): Sort replacements.
35061         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35062         * lib/stdio.in.h: Likewise.
35063
35064         getcwd: minor cleanups
35065         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35066         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35067
35068         openat: provide more convenience names
35069         * modules/faccessat (configure.ac): Add C witness.
35070         * lib/unistd.in.h (readlinkat): Fix typo.
35071         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35072         convenience wrappers.
35073         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35074         wrappers in syntax checks.
35075
35076 2009-09-06  Eric Blake  <ebb9@byu.net>
35077
35078         doc: fix comments in recent patches
35079         * lib/faccessat.c: Mention correct function.
35080         * lib/fchmodat.c: Likewise.
35081         * lib/fchownat.c: Likewise.
35082         * lib/symlinkat.c: Likewise.
35083         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35084         constants.
35085
35086         faccessat, symlinkat: continue cleanup of previous patch
35087         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35088         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35089         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35091         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35092         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35093         set.
35094
35095 2009-09-06  Bruno Haible  <bruno@clisp.org>
35096
35097         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35098         (fstatat): Declare if GNULIB_FSTATAT is set.
35099         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35100         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35101         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35102         * modules/fcntl-h (Files): Remove m4/openat.m4.
35103         * modules/sys_stat (Files): Remove m4/openat.m4.
35104         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35105         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35106         * modules/unistd (Files): Remove m4/openat.m4.
35107         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35108         GNULIB_OPENAT.
35109         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35110         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35111         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35112         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35113         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35114         gl_OPENAT_DEFAULTS.
35115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35116         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35117         Don't require gl_OPENAT_DEFAULTS.
35118         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35119         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35120         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35121         (gl_OPENAT_DEFAULTS): Remove macro.
35122
35123 2009-09-06  Bruno Haible  <bruno@clisp.org>
35124
35125         * modules/openat (configure.ac): Remove unneeded witness.
35126
35127 2009-09-06  Bruno Haible  <bruno@clisp.org>
35128
35129         Set errno to ENOSYS when a function is entirely unsupported.
35130         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35131         EOPNOTSUPP.
35132         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35133         * modules/chown (Depends-on): Remove errno.
35134
35135 2009-09-06  Bruno Haible  <bruno@clisp.org>
35136
35137         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35138
35139 2009-09-06  Bruno Haible  <bruno@clisp.org>
35140
35141         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35142
35143 2009-09-06  Ben Pfaff  <blp@gnu.org>
35144             Bruno Haible  <bruno@clisp.org>
35145
35146         Work around a glibc bug in strtok_r.
35147         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35148         Undefine if UNDEFINE_STRTOK_R is set.
35149         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35150         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35151         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35152         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35153         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35154         UNDEFINE_STRTOK_R.
35155         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35156
35157 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35158
35159         exclude: minor fix
35160         * lib/exclude.c: Include wctype.h
35161
35162 2009-09-06  Akim Demaille  <demaille@gostai.com>
35163
35164         bootstrap: improve error message
35165         * build-aux/bootstrap (find_tool): Upon failure, report the list
35166         of candidates.
35167         Honor the initial value of the envvar.
35168
35169 2009-09-05  Eric Blake  <ebb9@byu.net>
35170
35171         symlinkat: new module
35172         * modules/symlinkat: New file.
35173         * lib/symlinkat.c: Likewise.
35174         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35176         * modules/unistd (Makefile.am): Use them.
35177         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35178         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35179         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35180         * MODULES.html.sh (File system functions): Mention module.
35181         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35182         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35183         * modules/symlinkat-tests: New test.
35184         * tests/test-symlinkat.c: Likewise.
35185
35186         test-openat-safer: add more checks
35187         * tests/test-openat-safer.c (main): Check more code paths.
35188
35189 2009-09-05  Jim Meyering  <meyering@redhat.com>
35190
35191         syntax-check: detect unnecessary inclusion of openat.h
35192         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35193
35194 2009-09-05  Bruno Haible  <bruno@clisp.org>
35195
35196         Support towlower, towupper.
35197         * doc/posix-functions/towlower.texi: Mention module wctype.
35198         * doc/posix-functions/towupper.texi: Likewise.
35199         * lib/wctype.in.h (towlower, towupper): New functions.
35200         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35201         (ASSERT): New macro.
35202         (e): New variable.
35203         (main): Test also towlower, towupper. Test WEOF argument.
35204         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35205
35206 2009-09-05  Bruno Haible  <bruno@clisp.org>
35207
35208         Fix conversion behaviour when the input is invalid.
35209         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35210         mark occurring in first pass of indirect conversion.
35211         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35212         input.
35213         Found by clang's static analyzer.
35214
35215 2009-09-05  Bruno Haible  <bruno@clisp.org>
35216
35217         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35218         where direct conversion is possible.
35219
35220 2009-09-04  Eric Blake  <ebb9@byu.net>
35221
35222         openat: fail with ENOENT on empty name
35223         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35224         buffer.
35225
35226         link-follow: fix logic bug in prior patch
35227         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35228         reversed sense of yes and no in prior patch.  Avoid confusing
35229         compilation failure with desired semantics.
35230
35231         link-follow: accomodate mingw and cross-compilation
35232         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35233         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35234         cross-compilation results to -1, to make linkat easier to
35235         implement when cross-compiling.  Trivially support mingw.
35236         * modules/link-follow (configure.ac): Call new name.
35237         * NEWS: Mention this.
35238
35239 2009-09-03  Eric Blake  <ebb9@byu.net>
35240
35241         faccessat: compile replacement
35242         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35243         needed.
35244
35245         fts: fix compilation error
35246         * lib/fts.c (includes): Re-add "openat.h", for
35247         openat_needs_fchdir.
35248
35249         faccessat: new module
35250         * modules/faccessat: New file.
35251         * lib/faccessat.c: Likewise.
35252         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35254         * modules/unistd (Makefile.am): Use it.
35255         * lib/unistd.in.h (faccessat): Declare it.
35256         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35257         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35258         * MODULES.html.sh (File system functions): Mention it.
35259         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35260         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35261
35262         euidaccess: prefer POSIX over non-standard implementation
35263         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35264         * lib/euidaccess.c (euidaccess): Use it if available.
35265
35266         openat: make template easier to use
35267         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35268         AT_FUNC_F2 to be undefined.
35269         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35270         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35271         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35272         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35273         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35274         Likewise.
35275         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35276         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35277         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35278         Likewise.
35279
35280         openat: declare in POSIX headers
35281         * NEWS: Mention this.
35282         * modules/openat (configure.ac): Declare witnesses.
35283         (Depends-on): Add fcntl-h, sys_stat, unistd.
35284         (Include): Mention correct headers.
35285         * modules/fcntl-h (Depends-on): Add link-warning.
35286         (Files): Add openat.m4.
35287         (Makefile.am): Substitute witnesses.
35288         * modules/sys_stat (Files, Makefile.am): Likewise.
35289         * modules/unistd (Files, Makefile.am): Likewise.
35290         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35291         (gl_OPENAT_DEFAULTS): New macro.
35292         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35294         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35295         (SYS_STAT_H): Remove unused variable.
35296         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35297         * lib/fcntl--.h (includes): Remove unneeded header.
35298         * lib/openat-safer.c (includes): Likewise.
35299         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35300         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35301         appropriate headers.
35302         (__OPENAT_PREFIX): Delete.
35303         * lib/fcntl.in.h (openat): Provide declaration.
35304         (AT_FDCWD): Fix Solaris bug.
35305         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35306         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35307         * lib/fchmodat.c (includes):  Adjust to find declaration.
35308         * lib/fchownat.c (includes): Likewise.
35309         * lib/mkdirat.c (includes): Likewise.
35310         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35311         still visible.
35312
35313 2009-09-02  Eric Blake  <ebb9@byu.net>
35314
35315         errno: use consistently
35316         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35317         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35318         * lib/canonicalize.c (ELOOP): Likewise.
35319         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35320         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35321         * lib/lchown.c (EOPNOTSUPP): Likewise.
35322         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35323         * lib/savewd.c (ESTALE): Likewise.
35324         * lib/settime.c (ENOSYS): Likewise.
35325         * lib/utimens.c (ENOSYS): Likewise.
35326         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35327         * lib/chdir-safer.c (ELOOP): Likewise.
35328         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35329         * modules/c-stack (Depends-on): Add errno.
35330         * modules/canonicalize (Depends-on): Likewise.
35331         * modules/chdir-safer (Depends-on): Likewise.
35332         * modules/fdopendir (Depends-on): Likewise.
35333         * modules/inet_ntop (Depends-on): Likewise.
35334         * modules/inet_pton (Depends-on): Likewise.
35335         * modules/lchown (Depends-on): Likewise.
35336         * modules/openat (Depends-on): Likewise.
35337         * modules/savewd (Depends-on): Likewise.
35338         * modules/settime (Depends-on): Likewise.
35339         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35340
35341         fts: avoid leaking fds
35342         * modules/fts (Depends-on): Add cloexec.
35343         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35344         flag.
35345
35346         fts: make directory fds more robust
35347         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35348         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35349
35350         backupfile, chdir-long, fts, savedir: make safer
35351         * lib/backupfile.c (includes): Use "dirent--.h", since
35352         numbered_backup can write to stderr during readdir.
35353         * lib/savedir.c (includes): Likewise.
35354         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35355         emulation can write to stderr on failure.
35356         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35357         * lib/getcwd.c: Document why opendir_safer is unused.
35358         * lib/glob.c: Likewise.
35359         * lib/scandir.c: Likewise.
35360         * lib/openat-proc.c: Likewise, for open_safer.
35361         * modules/backupfile (Depends-on): Add dirent-safer.
35362         * modules/savedir (Depends-on): Likewise.
35363         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35364         * modules/chdir-long (Depends-on): Add openat-safer.
35365
35366         openat-safer: new module
35367         * modules/openat-safer: New file.
35368         * lib/openat-safer.c: Likewise.
35369         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35370         * lib/fcntl-safer.h (openat_safer): Declare.
35371         * lib/fcntl--.h (openat): Override.
35372         * MODULES.html.sh (File descriptor based I/O): Mention it.
35373         * lib/openat.h: Add double-inclusion guards.
35374         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35375         "fcntl--.h", so we can implement openat.
35376         * modules/openat-safer-tests: New test.
35377         * tests/test-openat-safer.c: New file.
35378
35379         dirent-safer: new module
35380         * modules/dirent-safer: New file.
35381         * lib/dirent--.h: Likewise.
35382         * lib/dirent-safer.h: Likewise.
35383         * lib/opendir-safer.c: Likewise.
35384         * m4/dirent-safer.m4: Likewise.
35385         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35386         * modules/dirent-safer-tests: New test.
35387         * tests/test-dirent-safer.c: New file.
35388         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35389
35390         fdopendir: optimize on mingw
35391         * lib/unistd.in.h (_gl_directory_name): New prototype.
35392         * lib/fchdir.c (_gl_directory_name): Implement it.
35393         (fchdir): Use it to simplify implementation.
35394         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35395         fchdir, when available, to avoid calling [f]chdir().
35396
35397         fdopendir: split into its own module
35398         * lib/openat.c (fdopendir): Move...
35399         * lib/fdopendir.c: ...into new file.
35400         * modules/fdopendir: New module.
35401         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35402         * modules/openat (Depends-on): Add fdopendir.
35403         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35404         fdopendir here.
35405         * modules/savedir (Depends-on): Only need fdopendir, not full
35406         openat.
35407         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35408         * lib/openat.h (fdopendir): Drop prototype.
35409         * lib/dirent.in.h (fdopendir): Provide prototype.
35410         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35411         * modules/dirent (Makefile.am): Substitute them.
35412         * MODULES.html.sh (File system functions): Mention it.
35413         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35414         * modules/fdopendir-tests: New file.
35415         * tests/test-fdopendir.c: Likewise.
35416
35417         fchdir: use more consistent macro convention
35418         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35419         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35420         REPLACE_FCHDIR, rather than relying on config.h macros.
35421         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35422         inside a single make-time REPLACE_FCHDIR block, rather than using
35423         the config.h FCHDIR_REPLACEMENT.
35424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35425         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35426         Manage fstat replacement.
35427         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35428         REPLACE_FCHDIR.
35429         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35430         (Makefile.am): Substitute REPLACE_FCHDIR.
35431         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35432         FCHDIR_REPLACEMENT.
35433         * lib/dup-safer.c (dup_safer): Likewise.
35434         * lib/dup2.c (rpl_dup2): Likewise.
35435         * lib/dup3.c (rpl_dup3): Likewise.
35436         * lib/open.c (rpl_open): Likewise.
35437
35438         fchdir: simplify error handling, and support dup3
35439         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35440         stdbool, malloc-posix, realloc-posix.
35441         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35442         (ensure_dirs_slot): Return false on allocation failure.
35443         (rpl_dup2): Delete.
35444         (_gl_register_dup): New function.
35445         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35446         (_gl_register_fd): Close fd on allocation failure.
35447         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35448         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35449         prototype.
35450         (rpl_dup2_fchdir): Delete prototype.
35451         * lib/open.c (open): Update caller.
35452         * lib/dup2.c (dup2): Track fchdir metadata.
35453         * lib/dup3.c (dup3): Likewise.
35454         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35455         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35456
35457 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35458
35459         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35460         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35461         don't pass arguments to AC_OUTPUT.
35462
35463 2009-09-02  Bruno Haible  <bruno@clisp.org>
35464
35465         * modules/mkdtemp (License): Relicense under LGPLv2+.
35466         Reported by Paolo Bonzini.
35467
35468 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35469
35470         Replace uses of obsolete autoconf macros in Jim's modules.
35471         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35472         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35473         can evoke a warning from autoconf when run with -Wobsolete
35474         enabled.  They were declared obsolete for good reasons (see
35475         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35476         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35477         should not continue using the deprecated macros.
35478         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35479         obsolete Autoconf macros with modern counterparts.
35480         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35481         * m4/dos.m4 (gl_AC_DOS): Likewise.
35482         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35483         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35484         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35485         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35486         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35487         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35488         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35489         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35490         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35491         Likewise.
35492         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35493         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35494         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35495         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35496         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35497         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35498
35499 2009-09-01  Eric Blake  <ebb9@byu.net>
35500
35501         fchdir: fix off-by-one bug in previous patch
35502         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35503         (_gl_unregister_fd): Delete useless if.
35504
35505 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35506
35507         maint.mk: sort the list of syntax-check rules
35508         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35509         easier to get a sense of progress when the rules are run sequentially
35510         and take a long time.
35511
35512 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35513
35514         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35515         * modules/netinet_in: Likewise.
35516         * modules/sys_file: Likewise.
35517         * modules/sys_ioctl: Likewise.
35518         * modules/sys_select: Likewise.
35519         * modules/sys_socket: Likewise.
35520         * modules/sys_stat: Likewise.
35521         * modules/sys_time: Likewise.
35522         * modules/sys_times: Likewise.
35523         * modules/sys_utsname: Likewise.
35524         * modules/sys_wait: Likewise.
35525
35526 2009-09-01  Jim Meyering  <meyering@redhat.com>
35527
35528         fts: help ensure that return values are not ignored
35529         * lib/fts_.h (__GNUC_PREREQ): Define.
35530         (__attribute_warn_unused_result__): Define.
35531         (fts_children, fts_close, fts_open, fts_read): Declare with
35532         __attribute_warn_unused_result__.
35533
35534         fts: fts_close now fails also when closing a dir file descriptor fails
35535         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35536         and propagate to caller, along with errno.
35537
35538         announce-gen: correct formatting in --help output
35539         * build-aux/announce-gen (usage): Move the one-line description in
35540         --help output "up", to where it belongs, just after Usage:.
35541
35542 2009-08-31  Eric Blake  <ebb9@byu.net>
35543
35544         fchdir: port to mingw
35545         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35546         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35547         opened, then use a substitute.
35548         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35549         replacement.
35550         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35551         (_gl_register_fd): No need to check stat if open already filters
35552         all directories.
35553         (fchdir): Fix error condition to match POSIX.
35554         * modules/fchdir (Depends-on): Add sys_stat.
35555         * doc/posix-functions/open.texi (open): Document the limitation.
35556         * modules/fchdir-tests: New file.
35557         * tests/test-fchdir.c: Likewise.
35558
35559         canonicalize: allow cross-testing from cygwin to mingw
35560         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35561         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35562         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35563         Likewise.
35564         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35565         target does not support symlinks.
35566         * tests/test-canonicalize-lgpl.sh: Likewise.
35567
35568         chown: avoid compilation warning on mingw
35569         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35570         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35571         mingw.
35572         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35573         * modules/chown (Depends-on): Add errno.
35574
35575 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35576
35577         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35578         command.
35579
35580 2009-08-31  Jim Meyering  <meyering@redhat.com>
35581
35582         canonicalize: remove useless initialization
35583         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35584         initialization of local, "end".
35585
35586 2009-08-30  Bruno Haible  <bruno@clisp.org>
35587
35588         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35589         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35590         ENOSYS.
35591
35592 2009-08-30  Bruno Haible  <bruno@clisp.org>
35593
35594         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35595         /usr/xpg4/bin/tr when it exists.
35596         * tests/test-pipe-filter-gi1.sh: Likewise.
35597
35598 2009-08-30  Bruno Haible  <bruno@clisp.org>
35599
35600         Work around deficient /usr/bin/id program on Solaris.
35601         * tests/test-file-has-acl.sh (ID): New variable.
35602         * tests/test-set-mode-acl.sh (ID): Likewise.
35603         * tests/test-copy-acl.sh (ID): Likewise.
35604         * tests/test-copy-file.sh (ID): Likewise.
35605
35606 2009-08-30  Bruno Haible  <bruno@clisp.org>
35607
35608         New module 'xstriconveh'.
35609         * lib/xstriconveh.h: New file.
35610         * lib/xstriconveh.c: New file.
35611         * modules/xstriconveh: New file.
35612
35613 2009-08-30  Bruno Haible  <bruno@clisp.org>
35614
35615         Make it easier to use mem_cd_iconveh.
35616         * lib/striconveh.h (iconveh_t): New type.
35617         (iconveh_open, iconveh_close): New declarations.
35618         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35619         with a single 'const iconveh_t *' argument.
35620         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35621         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35622         with a single 'const iconveh_t *' argument.
35623         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35624         * tests/test-striconveh.c (main): Update.
35625         * NEWS: Mention the change.
35626
35627 2009-08-30  Bruno Haible  <bruno@clisp.org>
35628
35629         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35630         problem.
35631
35632 2009-08-30  Bruno Haible  <bruno@clisp.org>
35633
35634         Work around iconv_open problem on Solaris.
35635         * lib/iconv_open-solaris.gperf: New file.
35636         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35637         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35638         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35639         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35640         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35641         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35642
35643 2009-08-29  Jim Meyering  <meyering@redhat.com>
35644
35645         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35646         * top/maint.mk (cvs-check): Remove target; it was just an alias
35647         to the better-named vc-diff-check.
35648         (maintainer-distcheck): Remove rule.  It was used only from
35649         the (alpha/beta/major) target, and all of its commands but one
35650         were coreutils-specific.
35651         (vc-dist): Remove rule.
35652         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35653         Run vc-diff-check, not vc-dist.
35654         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35655
35656 2009-08-27  Bruno Haible  <bruno@clisp.org>
35657
35658         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35659         of 0.
35660
35661 2009-08-27  Bruno Haible  <bruno@clisp.org>
35662
35663         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35664         compilers.
35665         * doc/func.texi: Document the SunPRO C bug.
35666
35667 2009-08-27  Bruno Haible  <bruno@clisp.org>
35668
35669         Fix link error on Solaris.
35670         * tests/test-parse-duration.c (xstrdup): Remove function.
35671
35672 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35673
35674         ignore-value: handle pointer types, too
35675         * lib/ignore-value.h (__attribute__): Remove definition.
35676         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35677         of a more concise and more-often effective "(void) i" statement.
35678         (ignore_ptr): New function to suppress warnings from functions that
35679         return pointers, and to make it explicit that one function doesn't
35680         handle all cases.
35681
35682 2009-08-25  Bruno Haible  <bruno@clisp.org>
35683
35684         dup2: work around a Linux bug.
35685         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35686         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35687         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35688         Reported by Simon Josefsson.
35689
35690 2009-08-25  Jim Meyering  <meyering@redhat.com>
35691
35692         libguestfs uses gnulib
35693         * users.txt: Add libguestfs.
35694
35695 2009-08-24  Eric Blake  <ebb9@byu.net>
35696
35697         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35698         * lib/pipe2.c (includes): Add binary-io.h.
35699         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35700
35701 2009-08-24  Bruno Haible  <bruno@clisp.org>
35702
35703         Tolerate declared but missing accept4 syscall.
35704         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35705         available.
35706         * lib/sys_socket.in.h (accept4): If the function is already present,
35707         override it.
35708         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35709         * modules/accept4 (Makefile.am): Compile accept4.c always.
35710         Reported by Paolo Bonzini and Eric Blake.
35711
35712 2009-08-23  Bruno Haible  <bruno@clisp.org>
35713
35714         New module 'accept4'.
35715         * lib/sys_socket.in.h (accept4): New declaration.
35716         * lib/accept4.c: New file.
35717         * m4/accept4.m4: New file.
35718         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35719         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35720         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35721         HAVE_ACCEPT4.
35722         * modules/accept4: New file.
35723         * doc/glibc-functions/accept4.texi: Mention the new module.
35724
35725 2009-08-24  Jim Meyering  <meyering@redhat.com>
35726
35727         progname: also set global program_invocation_name, when possible
35728         Before this change, a libtool-enabled program that calls glibc's
35729         error function would report the program name as
35730         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35731         * modules/progname (configure.ac): Check for a declaration of
35732         program_invocation_name.
35733         * lib/progname.c:  Include <errno.h>.
35734         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35735         Set program_invocation_name.
35736
35737 2009-08-23  Bruno Haible  <bruno@clisp.org>
35738
35739         * lib/dup3.c: Include <string.h>.
35740
35741 2009-08-23  Bruno Haible  <bruno@clisp.org>
35742
35743         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35744         * lib/pipe2.c (pipe2): Likewise.
35745         Suggested by Eric Blake.
35746
35747 2009-08-23  Bruno Haible  <bruno@clisp.org>
35748
35749         Tolerate declared but missing dup3 syscall.
35750         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35751         * lib/unistd.in.h (dup3): If the function is already present,
35752         override it.
35753         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35754         * modules/dup3 (Makefile.am): Compile dup3.c always.
35755         Reported by Paolo Bonzini.
35756
35757 2009-08-23  Bruno Haible  <bruno@clisp.org>
35758
35759         Tolerate declared but missing pipe2 syscall.
35760         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35761         available.
35762         * lib/unistd.in.h (pipe2): If the function is already present,
35763         override it.
35764         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35765         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35766         Reported by Paolo Bonzini.
35767
35768 2009-08-23  Bruno Haible  <bruno@clisp.org>
35769
35770         * lib/pipe2.c (pipe2): Move #ifs inside function.
35771
35772 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35773
35774         quotearg: document limitations of quote_these_too
35775         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35776         those limitations are created.
35777         * lib/quotearg.h (set_char_quoting): Document that digits and
35778         letters that are special after backslash are not permitted.
35779         (quotearg_char): Cross-reference set_char_quoting documentation.
35780
35781 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35782
35783         quotearg: implement custom_quoting_style
35784         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35785         right_quote fields.
35786         (set_custom_quoting): New public function.
35787         (quotearg_buffer_restyled): Add left_quote and right_quote
35788         arguments, handle them very much like locale quoting, and update
35789         all uses.
35790         (quotearg_n_custom): New public function.
35791         (quotearg_n_custom_mem): New public function.
35792         (quotearg_custom): New public function.
35793         (quotearg_custom_mem): New public function.
35794         * lib/quotearg.h: Prototype and document new public functions.
35795         (enum quoting_style): For escape_quoting_style and
35796         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35797         ignored even though they're otherwise like c_quoting_style.
35798         Add custom_quoting_style member and document with comparison to
35799         clocale_quoting_style.
35800         * tests/test-quotearg.c (custom_quotes): New array.
35801         (custom_results): New array.
35802         (main): Extend to test custom quoting.
35803
35804 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35805
35806         quotearg: fix right quote escaping when it's in quote_these_too
35807         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35808         quote, be sure to prepend only one backslash.
35809         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35810         (main): Test it.
35811
35812 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35813
35814         quotearg-tests: test escaping of embedded locale quotes
35815         * tests/test-quotearg.c (struct result_strings): Add member for
35816         new input.
35817         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35818         (inputs): Add new input.
35819         (results_g): Add expected results.
35820         (flag_results): Likewise.
35821         (locale_results): Likewise.
35822         (compare_strings): Check those.
35823
35824 2009-08-23  Bruno Haible  <bruno@clisp.org>
35825
35826         Tests for module 'dup3'.
35827         * modules/dup3-tests: New file.
35828         * tests/test-dup3.c: New file.
35829
35830         New module 'dup3'.
35831         * lib/unistd.in.h (dup3): New declaration.
35832         * lib/dup3.c: New file.
35833         * m4/dup3.m4: New file.
35834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35835         HAVE_DUP3.
35836         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35837         * modules/dup3: New file.
35838         * doc/glibc-functions/dup3.texi: Mention the new module.
35839
35840 2009-08-23  Bruno Haible  <bruno@clisp.org>
35841
35842         Tweak the dup2 test.
35843         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35844         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35845         the test file is still empty. Fix argument order of lseek.
35846
35847 2009-08-23  Bruno Haible  <bruno@clisp.org>
35848
35849         Avoid test link errors when the modules getopt-gnu, gettext are used.
35850         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35852
35853 2009-08-23  Bruno Haible  <bruno@clisp.org>
35854
35855         Fix getdtablesize() on mingw.
35856         * lib/getdtablesize.c (getdtablesize): Implement differently.
35857         * lib/unistd.in.h (getdtablesize): Improve comment.
35858
35859 2009-08-23  Bruno Haible  <bruno@clisp.org>
35860
35861         New module 'mkostemp'.
35862         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35863         * lib/stdlib.in.h (mksotemp): New declaration.
35864         * lib/mkostemp.c: New file, from glibc with modifications.
35865         * lib/tempname.h (GT_FILE): Remove outdated comment.
35866         (gen_tempname): Add flags argument.
35867         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35868         (__GT_FILE): Map to 1.
35869         (small_open, large_open): Remove macros.
35870         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35871         * lib/mkstemp.c (mkstemp): Update.
35872         * lib/mkdtemp.c (mkdtemp): Likewise.
35873         * m4/mkostemp.m4: New file.
35874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35875         HAVE_MKOSTEMP.
35876         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35877         HAVE_MKOSTEMP.
35878         * modules/mkostemp: New file, based on modules/mkstemp.
35879         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35880         * NEWS: Mention the change.
35881
35882 2009-08-23  Bruno Haible  <bruno@clisp.org>
35883
35884         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35885         Reported by Eric Blake.
35886
35887 2009-08-23  Bruno Haible  <bruno@clisp.org>
35888
35889         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35890         Reported by Eric Blake.
35891
35892 2009-08-23  Bruno Haible  <bruno@clisp.org>
35893
35894         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35895         * modules/pipe2 (Depends-on): Likewise.
35896
35897 2009-08-23  Eric Blake  <ebb9@byu.net>
35898
35899         fcntl-h: add O_TTY_INIT support
35900         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35901         * tests/test-fcntl-h.c (o): Test it.
35902         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35903
35904         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35905         * modules/fcntl: Move <fcntl.h> header replacement...
35906         * modules/fcntl-h: ...to new name, so as not to collide with
35907         like-named function.
35908         * tests/test-fcntl.c: Rename...
35909         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35910         * modules/fcntl-tests: Rename...
35911         * modules/fcntl-h-tests: ...to this.  Update test file name.
35912         * modules/chdir-long (Depends-on): Update clients.
35913         * modules/chdir-safer (Depends-on): Likewise.
35914         * modules/fcntl-safer (Depends-on): Likewise.
35915         * modules/fts (Depends-on): Likewise.
35916         * modules/mkancesdirs (Depends-on): Likewise.
35917         * modules/mkdir-p (Depends-on): Likewise.
35918         * modules/open (Depends-on): Likewise.
35919         * modules/savewd (Depends-on): Likewise.
35920         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35921         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35922
35923 2009-08-22  Bruno Haible  <bruno@clisp.org>
35924
35925         * modules/binary-io (License): Relicense under LGPL.
35926         * modules/pipe2 (License): Likewise.
35927
35928 2009-08-22  Bruno Haible  <bruno@clisp.org>
35929
35930         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
35931         return value.
35932         * lib/pipe-filter-gi.c (filter_init): Likewise.
35933         Reported by Eric Blake.
35934
35935 2009-08-22  Bruno Haible  <bruno@clisp.org>
35936
35937         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
35938         * modules/pipe (Depends-on): Add pipe2.
35939
35940 2009-08-22  Bruno Haible  <bruno@clisp.org>
35941
35942         Tests for module 'pipe2'.
35943         * modules/pipe2-tests: New file.
35944         * tests/test-pipe2.c: New file.
35945
35946         New module 'pipe2'.
35947         * lib/unistd.in.h (pipe2): New declaration.
35948         * lib/pipe2.c: New file.
35949         * m4/pipe2.m4: New file.
35950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
35951         HAVE_PIPE2.
35952         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
35953         * modules/pipe2: New file.
35954         * doc/glibc-functions/pipe2.texi: Mention the new module.
35955
35956 2009-08-22  Bruno Haible  <bruno@clisp.org>
35957
35958         Reference some new glibc functions.
35959         * doc/glibc-functions/accept4.texi: New file.
35960         * doc/glibc-functions/dup3.texi: New file.
35961         * doc/glibc-functions/mkostemp.texi: New file.
35962         * doc/glibc-functions/pipe2.texi: New file.
35963         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
35964         (Glibc sys/socket.h): Refer to accept4.
35965         (Glibc unistd.h): Refer to dup3, pipe2.
35966         Reported by Eric Blake.
35967
35968 2009-08-22  Jim Meyering  <meyering@redhat.com>
35969             Bruno Haible  <bruno@clisp.org>
35970
35971         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
35972         This makes it so packages using automake-1.11's silent-rules option
35973         can print e.g., a single "GEN    configmake.h" line, rather than
35974         the 30+ statements that perform the job.  If you want to see the
35975         actual commands, you can still run "make V=1".
35976         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
35977         so that make output is abbreviated when those variables are defined
35978         appropriately.
35979         * modules/argz: Likewise.
35980         * modules/arpa_inet: Likewise.
35981         * modules/byteswap: Likewise.
35982         * modules/configmake: Likewise.
35983         * modules/dirent: Likewise.
35984         * modules/errno: Likewise.
35985         * modules/fcntl: Likewise.
35986         * modules/float: Likewise.
35987         * modules/fnmatch: Likewise.
35988         * modules/getopt-posix: Likewise.
35989         * modules/glob: Likewise.
35990         * modules/iconv_open: Likewise.
35991         * modules/inttypes: Likewise.
35992         * modules/localcharset: Likewise.
35993         * modules/locale: Likewise.
35994         * modules/math: Likewise.
35995         * modules/netdb: Likewise.
35996         * modules/netinet_in: Likewise.
35997         * modules/poll: Likewise.
35998         * modules/posix_spawnp-tests: Likewise.
35999         * modules/sched: Likewise.
36000         * modules/search: Likewise.
36001         * modules/selinux-h: Likewise.
36002         * modules/signal: Likewise.
36003         * modules/spawn: Likewise.
36004         * modules/stdarg: Likewise.
36005         * modules/stdbool: Likewise.
36006         * modules/stddef: Likewise.
36007         * modules/stdint: Likewise.
36008         * modules/stdio: Likewise.
36009         * modules/stdlib: Likewise.
36010         * modules/string: Likewise.
36011         * modules/strings: Likewise.
36012         * modules/sys_file: Likewise.
36013         * modules/sys_ioctl: Likewise.
36014         * modules/sys_select: Likewise.
36015         * modules/sys_socket: Likewise.
36016         * modules/sys_stat: Likewise.
36017         * modules/sys_time: Likewise.
36018         * modules/sys_times: Likewise.
36019         * modules/sys_utsname: Likewise.
36020         * modules/sys_wait: Likewise.
36021         * modules/sysexits: Likewise.
36022         * modules/time: Likewise.
36023         * modules/unistd: Likewise.
36024         * modules/wchar: Likewise.
36025         * modules/wctype: Likewise.
36026
36027 2009-08-22  Jim Meyering  <meyering@redhat.com>
36028
36029         announce-gen: detect write failure
36030         * build-aux/announce-gen: Add Coda at end.
36031         Remove equivalent-but-more-verbose block at top.
36032
36033 2009-08-19  Akim Demaille  <demaille@gostai.com>
36034
36035         bootstrap: --help to stdout.
36036         * bootstrap (usage): Don't send --help to stderr.
36037         Use a here doc instead of a long string.
36038
36039 2009-08-21  Eric Blake  <ebb9@byu.net>
36040
36041         test-popen-safer: split from test-popen
36042         * tests/test-popen.c (main): Move...
36043         * tests/test-popen.h: ...into new file.
36044         * tests/test-popen-safer2.c: New file.
36045         * modules/popen-tests (Files): Add test-popen.h.
36046         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36047         Suggested by Bruno Haible.
36048
36049         test-fcntl-safer: split from test-open
36050         * tests/test-open.c (main): Move...
36051         * tests/test-open.h: ...into new file.
36052         * tests/test-fcntl-safer.c: New file.
36053         * modules/open-tests (Files): Add test-open.h.
36054         * modules/fcntl-safer-tests: New file.
36055         Suggested by Bruno Haible.
36056
36057         test-fopen-safer: split from test-fopen
36058         * tests/test-fopen.c (main): Move...
36059         * tests/test-fopen.h: ...into new file.
36060         * tests/test-fopen-safer.c: New file.
36061         * modules/fopen-tests (Files): Add test-fopen.h.
36062         * modules/fopen-safer-tests: New file.
36063         Suggested by Bruno Haible.
36064
36065 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36066
36067         popen-safer: test O_CLOEXEC at run-time.
36068         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36069
36070 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36071
36072         fcntl: move more flags to the header
36073         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36074         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36075         * lib/fcntl.in.h: Do both things here.
36076
36077 2009-08-21  Jim Meyering  <meyering@redhat.com>
36078
36079         consistently remove $@-t before redirecting to it
36080         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36081         * modules/alloca-opt: Likewise.
36082         * modules/byteswap: Likewise.
36083         * modules/fnmatch: Likewise.
36084         * modules/getopt-posix: Likewise.
36085         * modules/glob: Likewise.
36086         * modules/poll: Likewise.
36087         * modules/posix_spawnp-tests: Likewise.
36088         * modules/sys_socket: Likewise.
36089         * modules/sysexits: Likewise.
36090
36091 2009-08-21  Eric Blake  <ebb9@byu.net>
36092
36093         popen: simplify access to original popen
36094         * lib/popen.c (rpl_popen): No need to worry about popen being a
36095         macro.
36096         Reported by Bruno Haible.
36097
36098 2009-08-20  Eric Blake  <ebb9@byu.net>
36099
36100         build: avoid some compiler warnings
36101         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36102         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36103         type.
36104         (new_exclude_segment, excluded_file_pattern_p)
36105         (excluded_file_name_p): Reduce scope.
36106         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36107         old-style declaration.
36108
36109 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36110
36111         * tests/test-exclude1.sh: Handle Windows EOL.
36112         * tests/test-exclude2.sh: Likewise.
36113         * tests/test-exclude3.sh: Likewise.
36114         * tests/test-exclude4.sh: Likewise.
36115         * tests/test-exclude5.sh: Likewise.
36116         * tests/test-exclude6.sh: Likewise.
36117         * tests/test-exclude7.sh: Likewise.
36118
36119 2009-08-19  Akim Demaille  <demaille@gostai.com>
36120
36121         bootstrap: find sha1sum when named gsha1sum.
36122         * bootstrap (find_tool): New.
36123         ($SHA1SUM): New.
36124         Use it.
36125
36126 2009-08-20  Jim Meyering  <meyering@redhat.com>
36127
36128         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36129         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36130         expression that converts "." in a file name to "\." in the resulting
36131         regexp.  Start with a dummy statement, so that prior shell variable
36132         definitions are expanded portably.  Reported by Simon Josefsson.
36133
36134 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36135
36136         Fix polling for writeability of a screen buffer.
36137         * lib/poll.c: Distinguish input and screen buffers for the
36138         Win32 implementation.
36139         * lib/select.c: Likewise.
36140
36141 2009-08-19  Eric Blake  <ebb9@byu.net>
36142
36143         popen-safer: prevent popen from clobbering std descriptors
36144         * modules/popen-safer: New file.
36145         * lib/popen-safer.c: Likewise.
36146         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36147         * lib/stdio--.h (popen): Provide override.
36148         * lib/stdio-safer.h (popen_safer): Provide declaration.
36149         * tests/test-popen.c (includes): Partially test this.
36150         * modules/popen-safer-tests: New file, for more tests.
36151         * tests/test-popen-safer.c: Likewise.
36152         * MODULES.html.sh (file stream based Input/Output): Mention it.
36153
36154         tests: test some of the *-safer modules
36155         * modules/fopen-safer (Depends-on): Add fopen.
36156         * modules/fcntl-safer (Depends-on): Add fcntl.
36157         * modules/stdlib-safer (Depends-on): Add stdlib.
36158         (configure.ac): Set indicator.
36159         * modules/unistd-safer (configure.ac): Likewise.
36160         * modules/tmpfile-safer (configure.ac): Likewise.
36161         (Depends-on): Add tmpfile.
36162         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36163         active.
36164         * tests/test-fopen.c (includes): Test safer versions when they are
36165         in use.
36166         * tests/test-open.c (includes): Likewise.
36167
36168         popen: fix cygwin 1.5 bug when stdin closed
36169         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36170         * modules/popen: New file.
36171         * modules/popen-tests: Likewise.
36172         * tests/test-popen.c: Likewise.
36173         * m4/popen.m4: Likewise.
36174         * lib/popen.c: Likewise.
36175         * lib/stdio.in.h (popen): New declaration.
36176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36177         * modules/stdio (Makefile.am): Likewise.
36178         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36179
36180 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36181
36182         maint.mk: give full control over update-copyright exclusions
36183         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36184         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36185         (update-copyright): Don't force inclusion of top-level
36186         ChangeLog.  Don't force exclusion of all COPYING files, but make
36187         them the default exclusion instead.
36188
36189 2009-08-16  Bruno Haible  <bruno@clisp.org>
36190
36191         Fix test failures on Solaris 10.
36192         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36193         tests when Solaris iconv() is used.
36194         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36195         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36196         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36197         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36198         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36199
36200 2009-08-16  Bruno Haible  <bruno@clisp.org>
36201
36202         Fix test failures on Solaris 10.
36203         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36204         'tr' program and pass it as first argument.
36205         * tests/test-pipe-filter-gi1.sh: Likewise.
36206         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36207         program as first argument.
36208         * tests/test-pipe-filter-gi1.c (main): Likewise.
36209
36210 2009-08-16  Eric Blake  <ebb9@byu.net>
36211
36212         fpurge: fix previous commits
36213         * modules/fpurge (Makefile.am): Make replacement conditional,
36214         partially reverting 2007-04-29 change; missed in previous
36215         attempt.
36216         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36217         is missing.
36218
36219 2009-08-16  Bruno Haible  <bruno@clisp.org>
36220
36221         Clarify fpurge's effect on the file position.
36222         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36223         * tests/test-fpurge.c (main): Make a second pass for checking the file
36224         position.
36225
36226 2009-08-16  Bruno Haible  <bruno@clisp.org>
36227
36228         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36229         declaration of fpurge is missing.
36230         * tests/test-fpurge.c (main): Check that the file has not more contents
36231         than expected. Close the file before removing it.
36232
36233 2009-08-15  Eric Blake  <ebb9@byu.net>
36234
36235         fpurge: don't wrap working cygwin implementation
36236         * lib/fpurge.c (fpurge): Fix comment typo.
36237         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36238         1.7 to avoid replacement.
36239         * tests/test-fpurge.c (main): Enhance test.
36240
36241 2009-08-15  Eric Blake  <ebb9@byu.net>
36242         and Jim Meyering  <meyering@redhat.com>
36243
36244         test-update-copyright: skip if perl is insufficient
36245         * tests/test-update-copyright.sh: Failure to run maintainer tool
36246         should not cause testsuite failure on cygwin 1.5.
36247
36248 2009-08-14  Eric Blake  <ebb9@byu.net>
36249
36250         doc: mention more functions added in cygwin 1.7.0
36251         * doc/posix-headers/limits.texi (limits.h): Update for recent
36252         cygwin additions.
36253         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36254         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36255         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36256         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36257         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36258
36259 2009-08-14  Eric Blake  <ebb9@byu.net>
36260
36261         maint.mk: simplify update-copyright rule
36262         * top/maint.mk (update-copyright-local): Delete, and document how
36263         to do it in cfg.mk instead.
36264         (update-copyright-exclude-regexp): Delete, and document how to do
36265         it in .x-update-copyright instead.
36266         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36267         exclude ChangeLog.
36268
36269 2009-08-14  Bruno Haible  <bruno@clisp.org>
36270
36271         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36272
36273 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36274
36275         maint.mk: support update-copyright-env
36276         * top/maint.mk (update-copyright-env): Define place-holder.
36277         (update-copyright): Expand $(update-copyright-env) before
36278         invoking update-copyright.
36279
36280 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36281
36282         update-copyright: implement forced reformatting
36283         * build-aux/update-copyright: Implement and document
36284         UPDATE_COPYRIGHT_FORCE.
36285         * tests/test-update-copyright.sh: Test it.
36286
36287 2009-08-14  Eric Blake  <ebb9@byu.net>
36288         and Bruno Haible  <bruno@clisp.org>
36289
36290         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36291         * tests/test-locale.c: Revert previous patch related to NULL.
36292         * tests/test-stdio.c: Likewise.
36293         * tests/test-stdlib.c: Likewise.
36294         * tests/test-string.c: Likewise.
36295         * tests/test-unistd.c: Likewise.
36296         * modules/time-tests (Depends-on): Add verify.
36297         * modules/wchar-tests (Depends-on): Likewise.
36298         * tests/test-time.c: Test for NULL compliance.
36299         * tests/test-wchar.c: Likewise.
36300         * modules/locale (Depends-on): Add stddef.
36301         * modules/stdio (Depends-on): Likewise.
36302         * modules/stdlib (Depends-on): Likewise.
36303         * modules/string (Depends-on): Likewise.
36304         * modules/time (Depends-on): Likewise.
36305         * modules/unistd (Depends-on): Likewise.
36306         * modules/wchar (Depends-on): Likewise.
36307         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36308         * lib/stdlib.in.h (includes): Likewise.
36309         * lib/string.in.h (includes): Likewise.
36310         * lib/time.in.h (includes): Likewise.
36311         * lib/unistd.in.h (includes): Likewise.
36312         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36313         replaced.
36314         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36315         * m4/stddef_h.m4: New file.
36316         * modules/stddef: Likewise.
36317         * lib/stddef.in.h: Likewise.
36318         * modules/stddef-tests: Likewise.
36319         * tests/test-stddef.c: Likewise.
36320         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36321         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36322         * doc/posix-headers/locale.texi (locale.h): Likewise.
36323         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36324         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36325         * doc/posix-headers/string.texi (string.h): Likewise.
36326         * doc/posix-headers/time.texi (time.h): Likewise.
36327         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36328         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36329
36330 2009-08-14  Eric Blake  <ebb9@byu.net>
36331
36332         doc: improve git diff of texinfo files
36333         * .gitattributes: Add rule for *.texi files, with hint on how to
36334         use it.
36335         Copied from m4, and based on a report by Bruno Haible.
36336
36337 2009-08-14  Bruno Haible  <bruno@clisp.org>
36338
36339         Disable multithread support by default on Cygwin 1.5.x for real.
36340         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36341
36342 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36343
36344         update-copyright: much ado about intervals
36345         * build-aux/update-copyright: Implement and document
36346         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36347         of copyright year intervals.
36348         Also, document UPDATE_COPYRIGHT_YEAR.
36349         * tests/test-update-copyright.sh: Test it.
36350
36351         update-copyright: convert 2-digit to 4-digit years
36352         * build-aux/update-copyright: Implement and document.
36353         * tests/test-update-copyright.sh: Update.
36354
36355 2009-08-14  Jim Meyering  <meyering@redhat.com>
36356
36357         test-exclude: avoid coreutils "make check" failure
36358         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36359         just as in test-argmatch.c.
36360
36361 2009-08-13  Eric Blake  <ebb9@byu.net>
36362
36363         test-dup2: fix bad assumption
36364         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36365         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36366
36367         test-version-etc: fix CRLF portability issue
36368         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36369         recognize \r.
36370         * tests/test-argp-version-etc-1.sh: Likewise.
36371
36372         getopt: update client modules
36373         * modules/argp (Depends-on): Use getopt-gnu.
36374         * modules/git-merge-changelog (Depends-on): Likewise.
36375         * modules/long-options (Depends-on): Likewise.
36376         * modules/xstrtol (Depends-on): Likewise.
36377
36378 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36379
36380         * tests/test-version-etc.sh: Don't fail on different
36381         project/version.  Don't fail on CRLF differences.  Rewrite to use
36382         multiple -e instead of multiple sed forks, suggested by Eric Blake
36383         <ebb9@byu.net>.
36384         * tests/test-argp-version-etc-1.sh: Likewise.
36385
36386 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36387
36388         * tests/test-version-etc.sh: Don't fail on different
36389         project/version.
36390
36391 2009-08-12  Bruno Haible  <bruno@clisp.org>
36392
36393         Tests for modules 'getopt-posix', 'getopt-gnu'.
36394         * modules/getopt-posix-tests: New file.
36395         * tests/test-getopt.c: New file.
36396         * tests/test-getopt.h: New file.
36397         * tests/test-getopt_long.h: New file.
36398
36399         New modules 'getopt-posix', 'getopt-gnu'.
36400         * modules/getopt-gnu: New file, renamed from modules/getopt.
36401         * modules/getopt-posix: New file.
36402         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36403         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36404         (gl_GETOPT): Remove macro.
36405         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36406         Disable the test against BSD systems that declare optreset. Test
36407         against mingw bug. Test against lack of support of optional arguments
36408         on many platforms.
36409         * doc/glibc-headers/getopt.texi: Update module name and list of
36410         relevant platforms.
36411         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36412         'getopt-gnu' and more portability problems.
36413         * NEWS: Mention the changes.
36414
36415 2009-08-12  Bruno Haible  <bruno@clisp.org>
36416
36417         Ensure that optarg etc. get declared by <unistd.h>.
36418         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36419         AC_USE_SYSTEM_EXTENSIONS.
36420         * modules/getopt (Depends-on): Add 'extensions'.
36421
36422 2009-08-12  Bruno Haible  <bruno@clisp.org>
36423
36424         Avoid test link errors.
36425         * modules/pipe-filter-ii-tests (Makefile.am): Define
36426         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36427         * modules/pipe-filter-gi-tests (Makefile.am): Define
36428         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36429         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36430
36431 2009-08-12  Bruno Haible  <bruno@clisp.org>
36432
36433         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36434         gl_GETOPT_SUBSTITUTE before.
36435         (gl_GETOPT): Use it.
36436         * m4/argp.m4 (gl_ARGP): Update.
36437         Reported by Sergey Poznyakoff.
36438
36439         * m4/getopt.m4: Reorder macros.
36440         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36441         (gl_GETOPT_SUBSTITUTE): Remove macro.
36442
36443 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36444
36445         Minor improvement in gitlog-to-changelog
36446
36447         * build-aux/gitlog-to-changelog: New option `--format' makes
36448         output format string configurable.
36449
36450 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36451
36452         Optimize exclude: use hash tables for non-wildcard patterns.
36453
36454         * lib/exclude.c: Include hash.h and mbuiter.h
36455         (struct exclude_pattern, exclude_segment): New data types.
36456         (struct exclude): Rewrite.
36457         (fnmatch_pattern_has_wildcards): New function.
36458         (new_exclude_segment, free_exclude_segment): New functions.
36459         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36460         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36461         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36462         * modules/exclude: Depend on hash and mbuiter.
36463
36464         * modules/exclude-tests: New file.
36465         * tests/test-exclude.c: New file.
36466         * tests/test-exclude1.sh: New file.
36467         * tests/test-exclude2.sh: New file.
36468         * tests/test-exclude3.sh: New file.
36469         * tests/test-exclude4.sh: New file.
36470         * tests/test-exclude5.sh: New file.
36471         * tests/test-exclude6.sh: New file.
36472         * tests/test-exclude7.sh: New file.
36473
36474 2009-08-12  Bruno Haible  <bruno@clisp.org>
36475
36476         Ensure that getopt() gets declared by <unistd.h>.
36477         * lib/unistd.in.h: Conditionally include getopt.h.
36478         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36479         Set GNULIB_UNISTD_H_GETOPT.
36480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36481         GNULIB_UNISTD_H_GETOPT.
36482         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36483
36484 2009-08-12  Bruno Haible  <bruno@clisp.org>
36485
36486         Clarify logic.
36487         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36488         gl_replace_getopt instead of GETOPT_H.
36489
36490 2009-08-12  Bruno Haible  <bruno@clisp.org>
36491
36492         * m4/getopt.m4: Add comments.
36493
36494 2009-08-12  Bruno Haible  <bruno@clisp.org>
36495
36496         Disable multithread support by default on Cygwin 1.5.x.
36497         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36498         set gl_use_threads=no if not specified otherwise.
36499
36500 2009-08-11  Bruno Haible  <bruno@clisp.org>
36501
36502         Avoid compilation error on NetBSD 5.0.
36503         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36504         * tests/test-stdio.c: Likewise.
36505         * tests/test-stdlib.c: Likewise.
36506         * tests/test-string.c: Likewise.
36507         * tests/test-unistd.c: Likewise.
36508         Reported by Greg Troxel <gdt@ir.bbn.com>
36509         at <https://savannah.gnu.org/support/?106973>.
36510
36511 2009-08-11  Bruno Haible  <bruno@clisp.org>
36512
36513         * modules/dup2-tests (Depends-on): Remove close.
36514
36515         Undo 2009-07-19 commit.
36516         * modules/acl-tests (Depends-on): Remove close.
36517         * modules/binary-io-tests (Depends-on): Likewise.
36518         * modules/closein-tests (Depends-on): Likewise.
36519         * modules/flock-tests (Depends-on): Likewise.
36520         * modules/fsync-tests (Depends-on): Likewise.
36521         * modules/lseek-tests (Depends-on): Likewise.
36522         * modules/pipe-tests (Depends-on): Likewise.
36523         * modules/posix_spawn-tests (Depends-on): Likewise.
36524         * modules/posix_spawnp-tests (Depends-on): Likewise.
36525         * modules/stat-time-tests (Depends-on): Likewise.
36526         * modules/yesno-tests (Depends-on): Likewise.
36527
36528 2009-08-10  Bruno Haible  <bruno@clisp.org>
36529
36530         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36531
36532 2009-08-10  Bruno Haible  <bruno@clisp.org>
36533
36534         Fix a gcc warning.
36535         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36536
36537 2009-08-10  Bruno Haible  <bruno@clisp.org>
36538
36539         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36540         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36541         not only the first time.
36542         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36543         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36544         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36545         is 1, not only the the first time.
36546
36547 2009-08-10  Bruno Haible  <bruno@clisp.org>
36548
36549         Make it possible to use module 'gethostname' without module 'close'.
36550         * lib/unistd.in.h (close): Evoke a link error only if
36551         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36553         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36554         * modules/unistd (Makefile.am): Substitute
36555         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36556         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36557         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36558         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36559         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36560         * modules/sys_ioctl (Makefile.am): Substitute
36561         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36562         * modules/socket (configure.ac): On native Windows, set
36563         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36564         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36565         Reported by Sam Steingold <sds@gnu.org>.
36566
36567 2009-08-10  Bruno Haible  <bruno@clisp.org>
36568
36569         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36570         * modules/ioctl (configure.ac): Likewise.
36571
36572 2009-08-10  Bruno Haible  <bruno@clisp.org>
36573
36574         Avoid collision between gnulib wrapper and libintl wrapper.
36575         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36576         already defined in intl/printf.c.
36577         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36578         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36579
36580 2009-08-09  Bruno Haible  <bruno@clisp.org>
36581
36582         Make <sys/select.h> really self-contained, also on Solaris 10.
36583         * lib/sys_select.in.h: Include <string.h>.
36584         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36585         Solaris 10 problem.
36586         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36587         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36588         Reported by Jim Meyering.
36589
36590 2009-08-09  Bruno Haible  <bruno@clisp.org>
36591
36592         Avoid warnings from 'aclocal' that are due to a use of macro name
36593         AM_XGETTEXT_OPTION that is not defined in automake.
36594         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36595         automake.
36596         * modules/error (configure.ac): Likewise.
36597         * modules/propername (configure.ac): Likewise.
36598         * modules/vasprintf (configure.ac): Likewise.
36599         * modules/verror (configure.ac): Likewise.
36600         * modules/xprintf (configure.ac): Likewise.
36601         * modules/xvasprintf (configure.ac): Likewise.
36602
36603 2009-08-08  Bruno Haible  <bruno@clisp.org>
36604
36605         Avoid compilation error in C++ mode.
36606         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36607         Reported by Sam Steingold <sds@gnu.org>.
36608
36609 2009-08-08  Bruno Haible  <bruno@clisp.org>
36610
36611         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36612         for the various Unix platforms.
36613         * doc/posix-headers/limits.texi: Update platforms list regarding
36614         HOST_NAME_MAX.
36615         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36616
36617 2009-08-07  Jim Meyering  <meyering@redhat.com>
36618
36619         selinux-at: fix typo in a comment
36620         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36621         Spotted by Paolo Bonzini.
36622
36623         selinux-at: remove redundant m4 code, add documentation
36624         * modules/selinux-at (configure.ac): Remove redundant code.
36625         LIB_SELINUX is already set via the dependent module, selinux-h.
36626         (Include): Add quotes around selinux-at.h.
36627         * lib/selinux-at.h: Add documentation.
36628         Reported by Bruno Haible in
36629         http://marc.info/?l=gnulib-bug&m=124958988300749
36630
36631 2009-08-07  Bruno Haible  <bruno@clisp.org>
36632
36633         Avoid link error on MacOS X 10.3 and 10.4.
36634         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36635         on non-ELF systems.
36636         * lib/argp-pv.c (argp_program_version): Likewise.
36637         Reported by Simon Josefsson.
36638
36639 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36640
36641         * tests/test-version-etc.sh: Use $EXEEXT.
36642
36643 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36644
36645         update-copyright: update documentation to point to maint.mk
36646         * build-aux/update-copyright: Here.
36647
36648 2009-08-06  Jim Meyering  <meyering@redhat.com>
36649
36650         maint.mk: support update-copyright-local
36651         * top/maint.mk (update-copyright-local): Define place-holder.
36652         (update-copyright): Depend on $(update-copyright-local).
36653
36654 2009-08-06  Jim Meyering  <meyering@redhat.com>
36655
36656         selinux-at: new module
36657         Initially written for coreutils, this module will soon be
36658         used by findutils, too.
36659         * MODULES.html.sh [Misc]: Add selinux-at.
36660         * lib/selinux-at.h: New file, from coreutils.
36661         * lib/selinux-at.c: Likewise.
36662         * modules/selinux-at: Likewise.
36663         (License): Change from LGPL to GPL, since it depends
36664         on the GPL'd openat module.
36665
36666         doc: update README
36667         * README: Remove references to cogito.
36668         Remove cvs-repo-updating instructions from 2007.
36669         Don't imply that CVS is better if you have limited disk space.
36670
36671 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36672
36673         update-copyright: support C-style comments
36674         * build-aux/update-copyright: Implement and document.
36675         * tests/test-update-copyright.sh: Test.
36676
36677 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36678
36679         update-copyright: support omitted "(C)"
36680         * build-aux/update-copyright: Implement and document.  Also,
36681         allow variable whitespace before "(C)".
36682         * tests/test-update-copyright.sh: Test.
36683
36684 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36685
36686         update-copyright: don't trip on non-FSF copyright statements
36687         * build-aux/update-copyright: Fix so that the first correctly
36688         formatted FSF copyright statement is recognized no matter what
36689         appears before it.  Update documentation.
36690         * tests/test-update-copyright.sh: Test that.
36691
36692 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36693
36694         update-copyright: clean up code a little
36695         * build-aux/update-copyright: Append "_re" to the name of any
36696         variable holding a regular expression.
36697         Replace "old" and "new" with "stmt" in variable names.
36698         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36699         handled correctly.
36700         Format code more consistently.
36701
36702 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36703
36704         update-copyright-tests: improve portability
36705         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36706         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36707
36708 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36709
36710         update-copyright: support @copyright{} and &copy;
36711         * build-aux/update-copyright: Implement and document.
36712         * tests/test-update-copyright.sh: Test.
36713
36714 2009-08-04  Jim Meyering  <meyering@redhat.com>
36715
36716         update-copyright-tests: correctly test EOL=\r\n handling
36717         * tests/test-update-copyright.sh: Put \r at the end of some lines
36718         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36719
36720         maint.mk: make update-copyright exclusion list more configurable
36721         * top/maint.mk (update-copyright): Default to excluding COPYING,
36722         but allow an override, in case someone does want to update that file.
36723
36724         maint.mk: don't update copyright date in COPYING
36725         * top/maint.mk (update-copyright): Exclude COPYING.
36726
36727         maint.mk: add a copyright-updating rule
36728         * top/maint.mk (update-copyright): New rule.
36729         Derived from coreutils/Makefile.am.
36730
36731         update-copyright: rename some variables
36732         * build-aux/update-copyright: Rename a few variables for clarity.
36733         Tweak syntax.  List Joel E. Denny as coauthor.
36734
36735 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36736
36737         update-copyright: fix bug for 2-digit last year and add tests
36738         * build-aux/update-copyright: Fix bug.
36739         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36740         specified.
36741         * modules/update-copyright-tests: New
36742         * tests/test-update-copyright.sh: New.
36743
36744 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36745
36746         update-copyright: handle leading tabs in line prefix
36747         * build-aux/update-copyright: Count leading tabs as 8 spaces
36748         when computing margin.  This helps with the formatting of
36749         ChangeLogs, for example.
36750         Fix documentation a little.
36751
36752 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36753
36754         update-copyright: support EOL=\r\n
36755         * build-aux/update-copyright: Implement that.
36756
36757 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36758
36759         update-copyright: automatically format copyright statements
36760         * build-aux/update-copyright: Implement that.
36761         Also, be a little more predictable and safer by always failing
36762         when the full copyright format is not perfectly recognized as an
36763         unbroken whole.  Discussed at
36764         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36765         Rewrite documentation.
36766
36767 2009-08-03  Bruno Haible  <bruno@clisp.org>
36768
36769         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36770
36771 2009-08-02  Bruno Haible  <bruno@clisp.org>
36772
36773         Tests for module 'uname'.
36774         * modules/uname-tests: New file.
36775         * tests/test-uname.c: New file.
36776
36777         New module 'uname'.
36778         * lib/uname.c: New file.
36779         * m4/uname.m4: New file.
36780         * modules/uname: New file.
36781         * doc/posix-functions/uname.texi: Mention the new module.
36782
36783 2009-08-02  Bruno Haible  <bruno@clisp.org>
36784
36785         Tests for module 'sys_utsname'.
36786         * modules/sys_utsname-tests: New file.
36787         * tests/test-sys_utsname.c: New file.
36788
36789         New module 'sys_utsname'.
36790         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36791         * m4/sys_utsname_h.m4: New file.
36792         * modules/sys_utsname: New file.
36793         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36794
36795 2009-08-02  Bruno Haible  <bruno@clisp.org>
36796
36797         Implicitly initialize the sockets library.
36798         * lib/gethostname.c: Include sockets.h.
36799         (rpl_gethostname): Invoke gl_sockets_startup.
36800         * lib/socket.c: Include sockets.h.
36801         (rpl_socket): Invoke gl_sockets_startup.
36802         * modules/gethostname (Depends-on): Add sockets.
36803         * modules/socket (Depends-on): Likewise.
36804         * tests/test-poll.c: Don't include sockets.h.
36805         (main): Don't invoke gl_sockets_startup.
36806         * tests/test-select.c: Don't include sockets.h.
36807         (main): Don't invoke gl_sockets_startup.
36808
36809 2009-08-02  Bruno Haible  <bruno@clisp.org>
36810
36811         Allow multiple calls to gl_sockets_startup.
36812         * lib/sockets.c (initialized_sockets_version): New variable.
36813         (gl_sockets_startup): Do nothing if already called for this or a higher
36814         version.
36815         (gl_sockets_cleanup): Reset initialized_sockets_version.
36816
36817 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36818
36819         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36820         different project/version.
36821
36822 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36823             Bruno Haible  <bruno@clisp.org>
36824
36825         Tests for module 'pipe-filter-gi'.
36826         * modules/pipe-filter-gi-tests: New file.
36827         * tests/test-pipe-filter-gi1.sh: New file.
36828         * tests/test-pipe-filter-gi1.c: New file.
36829         * tests/test-pipe-filter-gi2.sh: New file.
36830         * tests/test-pipe-filter-gi2-main.c: New file.
36831         * tests/test-pipe-filter-gi2-child.c: New file.
36832
36833         New module 'pipe-filter-gi'.
36834         * lib/pipe-filter-gi.c: New file.
36835         * modules/pipe-filter-gi: New file.
36836
36837 2009-08-02  Bruno Haible  <bruno@clisp.org>
36838             Paolo Bonzini  <bonzini@gnu.org>
36839
36840         Tests for module 'pipe-filter-ii'.
36841         * modules/pipe-filter-ii-tests: New file.
36842         * tests/test-pipe-filter-ii1.sh: New file.
36843         * tests/test-pipe-filter-ii1.c: New file.
36844         * tests/test-pipe-filter-ii2.sh: New file.
36845         * tests/test-pipe-filter-ii2-main.c: New file.
36846         * tests/test-pipe-filter-ii2-child.c: New file.
36847
36848         New module 'pipe-filter-ii'.
36849         * lib/pipe-filter.h: New file.
36850         * lib/pipe-filter-ii.c: New file.
36851         * lib/pipe-filter-aux.h: New file.
36852         * modules/pipe-filter-ii: New file.
36853
36854 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36855
36856         * lib/gc-libgcrypt.c: Change copyright to FSF.
36857         * lib/gc-gnulib.c: Likewise.
36858
36859 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36860
36861         * lib/gethostname.c: Include limits.h.
36862
36863 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36864             Bruno Haible  <bruno@clisp.org>
36865
36866         Ensure HOST_NAME_MAX as part of the gethostname module.
36867         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36868         define also HOST_NAME_MAX.
36869         * tests/test-gethostname.c: Include <limits.h>.
36870         (main): Check also HOST_NAME_MAX.
36871         * doc/posix-headers/limits.texi: Document the mingw problem.
36872
36873 2009-08-02  Bruno Haible  <bruno@clisp.org>
36874
36875         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36876         Add comments.
36877
36878 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36879
36880         * lib/gethostname.c: Add Windows wrapper.
36881         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36882         * modules/gethostname: Depend on sys_socket & errno, for also
36883         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36884         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36885
36886 2009-07-31  Jim Meyering  <meyering@redhat.com>
36887
36888         getloadavg: fix symbol name in comment
36889         * lib/getloadavg.c: Correct a typo I introduced when adding
36890         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36891         Matt Kraai spotted the problem.
36892
36893 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36894
36895         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36896         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36897         code also if ! defined N_NAME_POINTER.
36898         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36899         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36900         but the n_name member is a 12-byte array.
36901
36902 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36903
36904         update-copyright: generalize comment handling
36905         * build-aux/update-copyright: Handle copyright statements
36906         within more comment styles.
36907         Document usage.
36908         Report any file with an external copyright holder or parse failure.
36909
36910 2009-07-29  Jim Meyering  <meyering@redhat.com>
36911
36912         mktime: correct setting of REPLACE_MKTIME
36913         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36914
36915         update-copyright: new module
36916         * modules/update-copyright: New file.
36917         * build-aux/update-copyright: New file.
36918         * MODULES.html.sh (maint+release support): Add update-copyright.
36919
36920 2009-07-27  Bruno Haible  <bruno@clisp.org>
36921
36922         Fix compilation error when <ctime> is used and mktime is replaced.
36923         * lib/time.in.h (mktime): New declaration.
36924         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36925         REPLACE_MKTIME instead of defining mktime in config.h.
36926         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
36927         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
36928         Reported by Ross McFarland <rwmcfa1@neces.com>.
36929
36930 2009-07-27  Bruno Haible  <bruno@clisp.org>
36931
36932         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
36933         Reported by Matt Kraai <mkraai@beckman.com>.
36934
36935 2009-07-25  Jim Meyering  <meyering@redhat.com>
36936
36937         maint.mk: avoid warnings about missing files
36938         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
36939         diagnostic when .prev-version does not exist.
36940         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
36941         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
36942         nonexistent cfg.mk.
36943         Suggestions from Simon Josefsson.
36944
36945 2009-07-25  Bruno Haible  <bruno@clisp.org>
36946
36947         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
36948         defined as macros. Needed on QNX 6.4.1.
36949         Reported by Matt Kraai <mkraai@beckman.com>.
36950
36951 2009-07-23  Jim Meyering  <meyering@redhat.com>
36952
36953         maint.mk: invoke "make dist" with a working value of XZ_OPT
36954         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
36955
36956 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
36957
36958         Make fseeko.c compile on QNX.
36959         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
36960
36961 2009-07-22  Peter Simons  <simons@cryp.to>
36962
36963         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
36964         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
36965         * lib/md4.h: Likewise.
36966         * lib/md5.h: Likewise.
36967         * lib/sha1.h: Likewise.
36968         * lib/sha256.h: Likewise.
36969         * lib/sha512.h: Likewise.
36970
36971         tests-sha1: don't assign literal string to 'char *' variable
36972         * tests/test-sha1.c (main): Declare locals with "const" to match
36973         attributes of the right hand side.
36974
36975 2009-07-21  Eric Blake  <ebb9@byu.net>
36976
36977         dup2: fix more mingw problems
36978         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
36979         fd to itself.
36980         * doc/posix-functions/dup2.texi (dup2): Document the bug.
36981         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
36982         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
36983         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
36984         care of mingw bugs.
36985
36986 2009-07-21  Jim Meyering  <meyering@redhat.com>
36987
36988         vc-list-files: avoid failure when /bin/sh is dash
36989         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
36990         On some Debian based systems, /bin/sh is a symlink to dash, and running
36991         this command would omit the "/" following each 'tests' prefix:
36992           dash -x build-aux/vc-list-files -C . tests
36993         That is because bash and dash work differently:
36994           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
36995           bash ok
36996           dash odd
36997
36998 2009-07-21  Eric Blake  <ebb9@byu.net>
36999
37000         dup2-tests: test previous patch
37001         * modules/dup2-tests: New file.
37002         * tests/test-dup2.c: Likewise.
37003         * tests/test-open.c (main): Avoid unspecified behavior.
37004         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37005         test.
37006
37007         dup2: work around mingw and cygwin 1.5 bug
37008         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37009         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37010         * modules/unistd (Makefile.am): Substitute it.
37011         * lib/unistd.in.h (dup2): Declare the replacement.
37012         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37013         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37014         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37015         * modules/execute (Depends-on): Add dup2.
37016         * modules/fseterr (Depends-on): Likewise.
37017         * modules/pipe (Depends-on): Likewise.
37018         * modules/posix_spawn-internal (Depends-on): Likewise.
37019
37020 2009-07-21  Bruno Haible  <bruno@clisp.org>
37021
37022         * modules/.gitattributes: New file.
37023
37024 2009-07-20  Bruno Haible  <bruno@clisp.org>
37025
37026         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37027         (main): Use it.
37028
37029 2009-07-20  Eric Blake  <ebb9@byu.net>
37030
37031         test-pipe: make a bit more robust.
37032         * tests/test-pipe.c (myerr): Allow error messages regardless of
37033         what we do to stderr.
37034         (test_pipe): Rearrange to avoid deadlock.
37035         (child_main): Try a larger read, to ensure we avoided deadlock.
37036         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37037         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37038         if misused.
37039
37040 2009-07-19  Jim Meyering  <meyering@redhat.com>
37041
37042         fts: avoid false-positive cycle-detection
37043         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37044         for each new command line argument.
37045
37046 2009-07-19  Bruno Haible  <bruno@clisp.org>
37047
37048         Fix build error on mingw with the modules sys_select and unistd.
37049         * modules/acl-tests (Depends-on): Add close.
37050         * modules/binary-io-tests (Depends-on): Likewise.
37051         * modules/closein-tests (Depends-on): Likewise.
37052         * modules/flock-tests (Depends-on): Likewise.
37053         * modules/fsync-tests (Depends-on): Likewise.
37054         * modules/lseek-tests (Depends-on): Likewise.
37055         * modules/pipe-tests (Depends-on): Likewise.
37056         * modules/posix_spawn-tests (Depends-on): Likewise.
37057         * modules/posix_spawnp-tests (Depends-on): Likewise.
37058         * modules/stat-time-tests (Depends-on): Likewise.
37059         * modules/yesno-tests (Depends-on): Likewise.
37060
37061 2009-07-19  Bruno Haible  <bruno@clisp.org>
37062
37063         Unify conditionals.
37064         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37065         macros, not at the compiler macros.
37066         * lib/pipe.c: Likewise.
37067         * lib/execute.c: Likewise.
37068         * lib/spawni.c: Likewise.
37069
37070 2009-07-19  Bruno Haible  <bruno@clisp.org>
37071
37072         Fix handling of closed stdin/stdout/stderr on mingw.
37073         * lib/w32spawn.h: Include unistd.h.
37074         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37075         file descriptor with O_NOINHERIT flag.
37076         (fd_safer_noinherit): New function, based on fd-safer.c.
37077         (dup_safer_noinherit): New function, based on dup-safer.c.
37078         (undup_safer_noinherit): New function.
37079         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37080         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37081         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37082         instead of fd_safer.
37083         * tests/test-pipe.c: Include <windows.h>.
37084         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37085         result.
37086
37087         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37088         from main.
37089         (test_pipe): Pass an extra argument for disambiguation.
37090         (main): Invoke parent_main or child_main.
37091
37092         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37093         consistently.
37094
37095 2009-07-18  Eric Blake  <ebb9@byu.net>
37096
37097         test-pipe: fix mingw build
37098         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37099
37100 2009-07-18  Bruno Haible  <bruno@clisp.org>
37101
37102         * modules/pipe-tests (Makefile.am): Fix typo.
37103
37104 2009-07-18  Eric Blake  <ebb9@byu.net>
37105
37106         error: fix mingw build
37107         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37108         Reported by Bruno Haible.
37109
37110         error: avoid undefined use of stdout
37111         * lib/error.c (error, error_at_line): Check that fd 1 is open
37112         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37113         is handling faults and the close_stdout module wants to report the
37114         detection of closed stdout as an error.
37115
37116 2009-07-17  Eric Blake  <ebb9@byu.net>
37117
37118         pipe: be robust in face of closed fds
37119         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37120         should cause child to misbehave.
37121         * modules/pipe-tests: New module.
37122         * tests/test-pipe.c: New file.
37123         * tests/test-pipe.sh: New file.
37124         Reported by Akim Demaille.
37125
37126 2009-07-14  Bruno Haible  <bruno@clisp.org>
37127
37128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37129         Reported by anonymous kc.
37130
37131 2009-07-07  Jim Meyering  <meyering@redhat.com>
37132
37133         maint.mk: don't look for translatable strings in *.m4 or *.mk
37134         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37135         when searching for translatable strings.
37136
37137 2009-07-05  Jim Meyering  <meyering@redhat.com>
37138
37139         remove superfluous parentheses in STREQ definition
37140         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37141         * lib/getugroups.c (STREQ): Likewise.
37142         * lib/fnmatch.c (STREQ): Likewise.
37143         Spotted by Bruno Haible.
37144
37145 2009-07-04  Jim Meyering  <meyering@redhat.com>
37146
37147         argv-iter: new module
37148         * MODULES.html.sh: Add argv-iter.
37149         * lib/argv-iter.c, lib/argv-iter.h: New files.
37150         * modules/argv-iter: New file.
37151         * modules/argv-iter-tests: New file.
37152         * tests/test-argv-iter.c: Test it.
37153
37154 2009-07-04  Bruno Haible  <bruno@clisp.org>
37155
37156         Fix assertion.
37157         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37158         contains more exact copies of a given entry than file2, leave the extra
37159         copies unpaired rather than aborting.
37160         Reported by Eric Blake.
37161
37162 2009-07-02  Bruno Haible  <bruno@clisp.org>
37163
37164         Speedup git-merge-changelog for git cherry-pick.
37165         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37166         (entries_mapping_get): New function, extracted from compute_mapping.
37167         (entries_mapping_reverse_get): New function.
37168         (compute_mapping): Add a 'full' argument. Return the result in a
37169         'struct entries_mapping'.
37170         (main): Update. Access the mappings through entries_mapping_get.
37171         Reported by Eric Blake.
37172
37173 2009-07-02  Bruno Haible  <bruno@clisp.org>
37174
37175         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37176         best_i.
37177
37178 2009-07-02  Bruno Haible  <bruno@clisp.org>
37179
37180         Speed up approximate search for matching ChangeLog entries.
37181         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37182         argument. Call fstrcmp_bounded instead of fstrcmp.
37183         (compute_mapping, try_split_merged_entry, main): Update callers.
37184
37185 2009-07-02  Bruno Haible  <bruno@clisp.org>
37186
37187         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37188
37189 2009-06-30  Bruno Haible  <bruno@clisp.org>
37190
37191         Reduce the number of uc_is_cased calls.
37192         * lib/unicase.h (casing_suffix_context_t): Add
37193         'first_char_except_ignorable' field.
37194         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37195         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37196         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37197         Update initializer.
37198         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37199         case-ignorable characters.
37200         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37201         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37202         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37203         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37204         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37205
37206 2009-06-30  Bruno Haible  <bruno@clisp.org>
37207
37208         Tests for module 'unicase/ignorable'.
37209         * modules/unicase/ignorable-tests: New file.
37210         * tests/unicase/test-ignorable.c: New file, generated by
37211         gen-uni-tables.
37212
37213         Tests for module 'unicase/cased'.
37214         * modules/unicase/cased-tests: New file.
37215         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37216         * tests/unicase/test-predicate-part1.h: New file, derived from
37217         tests/unictype/test-predicate-part1.h.
37218         * tests/unicase/test-predicate-part2.h: New file, same as
37219         tests/unictype/test-predicate-part2.h.
37220
37221         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37222         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37223         (output_casing_properties): New function.
37224         (main): Call it.
37225         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37226         * lib/unicase/cased.c: Include unictype/bitmap.h.
37227         (uc_is_cased): Define through a bitmap lookup.
37228         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37229         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37230         (uc_is_case_ignorable): Define through a bitmap lookup.
37231         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37232         lib/unictype/bitmap.h.
37233         (Depends-on): Add inline. Clean up.
37234         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37235         lib/unictype/bitmap.h.
37236         (Depends-on): Add inline. Clean up.
37237         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37238         recognition.
37239         * tests/unicase/test-u16-tolower.c (main): Likewise.
37240         * tests/unicase/test-u32-tolower.c (main): Likewise.
37241
37242 2009-06-30  Bruno Haible  <bruno@clisp.org>
37243
37244         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37245         * lib/unicase/u16-casemap.c: Likewise.
37246         * lib/unicase/u32-casemap.c: Likewise.
37247
37248 2009-06-29  Bruno Haible  <bruno@clisp.org>
37249
37250         Define u32_casefold as a wrapper around u32_ct_casefold.
37251         * lib/unicase/u32-casefold.c: Update.
37252         * modules/unicase/u32-casefold (Depends-on): Add
37253         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37254         unicase/empty-suffix-context. Clean up.
37255
37256         Define u16_casefold as a wrapper around u16_ct_casefold.
37257         * lib/unicase/u16-casefold.c: Update.
37258         * modules/unicase/u16-casefold (Depends-on): Add
37259         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37260         unicase/empty-suffix-context. Clean up.
37261
37262         Define u8_casefold as a wrapper around u8_ct_casefold.
37263         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37264         * lib/unicase/u8-casefold.c: Update.
37265         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37266         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37267
37268         Define u32_totitle as a wrapper around u32_ct_totitle.
37269         * lib/unicase/u32-totitle.c: Update.
37270         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37271         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37272
37273         Define u16_totitle as a wrapper around u16_ct_totitle.
37274         * lib/unicase/u16-totitle.c: Update.
37275         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37276         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37277
37278         Define u8_totitle as a wrapper around u8_ct_totitle.
37279         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37280         functions.
37281         (FUNC): Delegate to U_CT_TOTITLE.
37282         * lib/unicase/u8-totitle.c: Update.
37283         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37284         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37285
37286         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37287         invocation.
37288         * modules/unicase/u32-tolower (Depends-on): Add
37289         unicase/empty-prefix-context, unicase/empty-suffix-context.
37290
37291         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37292         invocation.
37293         * modules/unicase/u16-tolower (Depends-on): Add
37294         unicase/empty-prefix-context, unicase/empty-suffix-context.
37295
37296         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37297         * modules/unicase/u8-tolower (Depends-on): Add
37298         unicase/empty-prefix-context, unicase/empty-suffix-context.
37299
37300         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37301         invocation.
37302         * modules/unicase/u32-toupper (Depends-on): Add
37303         unicase/empty-prefix-context, unicase/empty-suffix-context.
37304
37305         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37306         invocation.
37307         * modules/unicase/u16-toupper (Depends-on): Add
37308         unicase/empty-prefix-context, unicase/empty-suffix-context.
37309
37310         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37311         * modules/unicase/u8-toupper (Depends-on): Add
37312         unicase/empty-prefix-context, unicase/empty-suffix-context.
37313
37314         New module 'unicase/u32-ct-casefold'.
37315         * lib/unicase/u32-ct-casefold.c: New file.
37316         * modules/unicase/u32-ct-casefold: New file.
37317
37318         New module 'unicase/u16-ct-casefold'.
37319         * lib/unicase/u16-ct-casefold.c: New file.
37320         * modules/unicase/u16-ct-casefold: New file.
37321
37322         New module 'unicase/u8-ct-casefold'.
37323         * lib/unicase/u8-ct-casefold.c: New file.
37324         * lib/unicase/u-ct-casefold.h: New file, derived from
37325         lib/unicase/u-casefold.h.
37326         * modules/unicase/u8-ct-casefold: New file.
37327
37328         New module 'unicase/u32-ct-totitle'.
37329         * lib/unicase/u32-ct-totitle.c: New file.
37330         * modules/unicase/u32-ct-totitle: New file.
37331
37332         New module 'unicase/u16-ct-totitle'.
37333         * lib/unicase/u16-ct-totitle.c: New file.
37334         * modules/unicase/u16-ct-totitle: New file.
37335
37336         New module 'unicase/u8-ct-totitle'.
37337         * lib/unicase/u8-ct-totitle.c: New file.
37338         * lib/unicase/u-ct-totitle.h: New file, derived from
37339         lib/unicase/u-totitle.h.
37340         * modules/unicase/u8-ct-totitle: New file.
37341
37342         New module 'unicase/u32-ct-tolower'.
37343         * lib/unicase/u32-ct-tolower.c: New file.
37344         * modules/unicase/u32-ct-tolower: New file.
37345
37346         New module 'unicase/u16-ct-tolower'.
37347         * lib/unicase/u16-ct-tolower.c: New file.
37348         * modules/unicase/u16-ct-tolower: New file.
37349
37350         New module 'unicase/u8-ct-tolower'.
37351         * lib/unicase/u8-ct-tolower.c: New file.
37352         * modules/unicase/u8-ct-tolower: New file.
37353
37354         New module 'unicase/u32-ct-toupper'.
37355         * lib/unicase/u32-ct-toupper.c: New file.
37356         * modules/unicase/u32-ct-toupper: New file.
37357
37358         New module 'unicase/u16-ct-toupper'.
37359         * lib/unicase/u16-ct-toupper.c: New file.
37360         * modules/unicase/u16-ct-toupper: New file.
37361
37362         New module 'unicase/u8-ct-toupper'.
37363         * lib/unicase/u8-ct-toupper.c: New file.
37364         * modules/unicase/u8-ct-toupper: New file.
37365
37366         Add context arguments to u*_casemap functions.
37367         * lib/unicase/unicasemap.h: Include unicase.h.
37368         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37369         suffix_context arguments.
37370         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37371         functions.
37372         (FUNC): Add prefix_context and suffix_context arguments. Use
37373         uc_is_cased and uc_is_case_ignorable.
37374         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37375         * lib/unicase/u16-casemap.c: Likewise.
37376         * lib/unicase/u32-casemap.c: Likewise.
37377         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37378         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37379         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37380         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37381         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37382         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37383
37384         New module 'unicase/u32-suffix-context'.
37385         * lib/unicase/u32-suffix-context.c: New file.
37386         * modules/unicase/u32-suffix-context: New file.
37387
37388         New module 'unicase/u16-suffix-context'.
37389         * lib/unicase/u16-suffix-context.c: New file.
37390         * modules/unicase/u16-suffix-context: New file.
37391
37392         New module 'unicase/u8-suffix-context'.
37393         * lib/unicase/u8-suffix-context.c: New file.
37394         * lib/unicase/u-suffix-context.h: New file.
37395         * modules/unicase/u8-suffix-context: New file.
37396
37397         New module 'unicase/empty-suffix-context'.
37398         * lib/unicase/empty-suffix-context.c: New file.
37399         * modules/unicase/empty-suffix-context: New file.
37400
37401         New module 'unicase/u32-prefix-context'.
37402         * lib/unicase/u32-prefix-context.c: New file.
37403         * modules/unicase/u32-prefix-context: New file.
37404
37405         New module 'unicase/u16-prefix-context'.
37406         * lib/unicase/u16-prefix-context.c: New file.
37407         * modules/unicase/u16-prefix-context: New file.
37408
37409         New module 'unicase/u8-prefix-context'.
37410         * lib/unicase/u8-prefix-context.c: New file.
37411         * lib/unicase/u-prefix-context.h: New file.
37412         * lib/unicase/context.h: New file.
37413         * modules/unicase/u8-prefix-context: New file.
37414
37415         New module 'unicase/empty-prefix-context'.
37416         * lib/unicase/empty-prefix-context.c: New file.
37417         * modules/unicase/empty-prefix-context: New file.
37418
37419         New module 'unicase/ignorable'.
37420         * lib/unicase/ignorable.c: New file.
37421         * modules/unicase/ignorable: New file.
37422
37423         New module 'unicase/cased'.
37424         * lib/unicase/caseprop.h: New file.
37425         * lib/unicase/cased.c: New file.
37426         * modules/unicase/cased: New file.
37427
37428         New functions for case mapping of substrings.
37429         * lib/unicase.h (casing_prefix_context_t): New type.
37430         (unicase_empty_prefix_context): New variable.
37431         (u8_casing_prefix_context, u16_casing_prefix_context,
37432         u32_casing_prefix_context, u8_casing_prefixes_context,
37433         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37434         declarations.
37435         (casing_suffix_context_t): New type.
37436         (unicase_empty_suffix_context): New variable.
37437         (u8_casing_suffix_context, u16_casing_suffix_context,
37438         u32_casing_suffix_context, u8_casing_suffixes_context,
37439         u16_casing_suffixes_context, u32_casing_suffixes_context,
37440         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37441         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37442         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37443         declarations.
37444
37445 2009-06-28  Jim Meyering  <meyering@redhat.com>
37446
37447         boostrap: indent only with spaces
37448         * build-aux/bootstrap: Indent only with spaces, never TABs.
37449
37450         bootstrap: split long lines
37451         * build-aux/bootstrap: Keep line length < 80.
37452
37453         bootstrap: sync from coreutils
37454         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37455         just as autoreconf does.  Verify a list of prerequisite
37456         package-name,version-number pairs if defined in bootstrap.conf.
37457         Refer to README-prereq, if prerequisites are not satisfied.
37458
37459 2009-06-27  Eric Blake  <ebb9@byu.net>
37460
37461         tests: add test for bogus NULL definition
37462         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37463         * tests/test-stdlib.c: Likewise.
37464         * tests/test-string.c: Likewise.
37465         * tests/test-locale.c: Likewise.
37466         * tests/test-unistd.c: Likewise.
37467         * modules/stdio-tests (Depends-on): Add verify.
37468         * modules/stdlib-tests (Depends-on): Likewise.
37469         * modules/string-tests (Depends-on): Likewise.
37470         * modules/locale-tests (Depends-on): Likewise.
37471         * modules/unistd-tests (Depends-on): Likewise.
37472
37473 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37474
37475         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37476         self-explaining comment.
37477         * m4/selinux-selinux-h: Update serial.
37478         (gl_LIBSELINUX): New macro, adding a warning for missing development
37479         packages to code extracted from...
37480         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37481         Add warning for missing development packages here, too.
37482
37483 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37484
37485         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37486
37487 2009-06-25  Eric Blake  <ebb9@byu.net>
37488
37489         version-etc: fix regression
37490         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37491         gcc.
37492         (version_etc): Use it, to catch bugs with trailing NULL.
37493         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37494         (version_etc_va): Fix logic bug.
37495         * modules/version-etc-tests: Add test.
37496         * tests/test-version-etc.c: New file.
37497         * tests/test-version-etc.sh: Likewise.
37498
37499 2009-06-25  Sam Steingold  <sds@gnu.org>
37500
37501         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37502         mbtowc declaration.
37503
37504 2009-06-25  Eric Blake  <ebb9@byu.net>
37505
37506         fpurge: migrate into <stdio.h>
37507         * lib/fpurge.h: Delete...
37508         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37509         * lib/fpurge.c (fpurge): Change declaring header.
37510         * modules/fpurge (Files): Drop deleted file.
37511         (Depends-on): Add stdio.
37512         (configure.ac): Set witness.
37513         * modules/stdio (Makefile.am): Support fpurge macros.
37514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37515         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37516         * lib/fflush.c: Update client.
37517         * tests/test-fpurge.c: Likewise.
37518         * NEWS: Mention the change.
37519
37520 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37521
37522         * lib/argp-version-etc.c (program_authors): Add const
37523         qualifier.
37524         * lib/version-etc.c: Fix typos in the comments.
37525         * modules/argp-version-etc: Depends on version-etc.
37526
37527 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37528
37529         argp-version-etc: new module.
37530
37531         * lib/argp-version-etc.c: New file.
37532         * lib/argp-version-etc.h: New file.
37533         * modules/argp-version-etc: New file.
37534         * modules/argp-version-etc-tests: New file.
37535         * tests/test-argp-version-etc.c: New test.
37536         * tests/test-argp-version-etc-1.sh: New test.
37537
37538 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37539
37540         Provide additional interfaces and documentation for version-etc
37541         module.
37542
37543         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37544         interfaces.
37545         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37546         prototypes.
37547
37548 2009-06-24  Bruno Haible  <bruno@clisp.org>
37549
37550         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37551         HAVE_LIB${NAME} macro.
37552         Reported by Sam Steingold <sds@gnu.org>.
37553
37554 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37555
37556         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37557         needed.
37558
37559 2009-06-21  Bruno Haible  <bruno@clisp.org>
37560
37561         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37562         work.
37563         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37564         together with LIB${NAME}, LTLIB${NAME}.
37565         Reported by Sam Steingold <sds@gnu.org>.
37566
37567 2009-06-20  Jim Meyering  <meyering@redhat.com>
37568
37569         tests: make sc_require_test_exit_idiom more generic
37570         * top/maint.mk (Exit_witness_file): New overridable variable.
37571         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37572         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37573
37574 2009-06-19  Jim Meyering  <meyering@redhat.com>
37575
37576         hash: reverse order of src/dst parameters in an internal interface
37577         * lib/hash.c (transfer_entries): Reverse order of parameters to
37578         put DST before SRC.  Adjust callers.
37579
37580         tests: test-hash: avoid wholesale duplication
37581         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37582         Instead, use a loop and add a single conditional.
37583
37584         tests: test-hash: allow seed selection via a command line argument
37585         * tests/test-hash.c (get_seed): New function.
37586         (main): Use it.
37587
37588 2009-06-19  Eric Blake  <ebb9@byu.net>
37589
37590         hash: avoid memory leak on allocation failure
37591         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37592         failure.  Factor repeated algorithm...
37593         (transfer_entries): ...into new helper routine.
37594         (hash_delete): React to hash_rehash return value.
37595
37596         hash: reduce memory pressure in hash_rehash no-op case
37597         * lib/hash.c (next_prime): Avoid overflow.
37598         (hash_initialize): Factor bucket size computation...
37599         (compute_bucket_size): ...into new helper function.
37600         (hash_rehash): Use new function and open coding to reduce memory
37601         pressure, and avoid a memory leak in USE_OBSTACK code.
37602         Reported by Jim Meyering.
37603
37604 2009-06-18  Eric Blake  <ebb9@byu.net>
37605
37606         hash: make rotation more obvious
37607         * modules/hash (Depends-on): Add bitrotate and stdint.
37608         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37609         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37610         (SIZE_MAX): Rely on headers for definition.
37611         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37612         (raw_hasher): Use rotr_sz.
37613         Suggested by Jim Meyering.
37614
37615         hash: fix memory leak in last patch
37616         * lib/hash.c (hash_rehash): Avoid memory leak.
37617
37618         hash: avoid no-op rehashing
37619         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37620
37621         hash: provide default callback functions
37622         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37623         (hash_initialize): Use them as defaults.
37624         * tests/test-hash.c (main): Test this.
37625
37626         hash: minor optimization
37627         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37628         when possible.
37629         (hash_initialize): Document this promise.
37630         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37631         * tests/test-hash.c (hash_compare_strings): Test this.
37632
37633 2009-06-18  Bruno Haible  <bruno@clisp.org>
37634
37635         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37636         going to be replaced anyway.
37637
37638 2009-06-18  Bruno Haible  <bruno@clisp.org>
37639
37640         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37641         in one place.
37642         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37643         be replaced anyway.
37644
37645 2009-06-18  Eric Blake  <ebb9@byu.net>
37646
37647         hash: check for resize before insertion
37648         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37649         threshold before insertion, so that a pathological hash_rehash
37650         that fills every bucket can still trigger another rehash.
37651
37652 2009-06-18  Jim Meyering  <meyering@redhat.com>
37653
37654         hash-tests: add a loop around the small tests
37655         * tests/test-hash.c (main): Repeat small tests with selected
37656         small initial table sizes.
37657
37658 2009-06-17  Eric Blake  <ebb9@byu.net>
37659
37660         hash: minor cleanups
37661         * lib/hash.h (hash_entry): Make opaque, by moving...
37662         * lib/hash.c (hash_entry): ...here.
37663         (hash_insert): Clarify restrictions on what can be inserted.
37664         (hash_get_next): Clarify when it is safe to remove an element
37665         during traversal.
37666         (check_tuning): Skip verification when tuning is known safe.
37667         (hash_initialize): Clarify restrictions on tuning.
37668
37669 2009-06-17  Jim Meyering  <jim@meyering.net>
37670         and Eric Blake  <ebb9@byu.net>
37671
37672         hash-tests: new module
37673         * modules/hash-tests: New file.
37674         * tests/test-hash.c: New file.
37675
37676 2009-06-17  Eric Blake  <ebb9@byu.net>
37677
37678         strstr-simple: document new module
37679         * MODULES.html.sh: Document new module.
37680
37681         strstr, strcasestr: replace on platforms with broken memchr
37682         * modules/strstr: Split into...
37683         * modules/strstr-simple: ...new module that does not care about
37684         performance, but does care about glibc bug.
37685         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37686         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37687         if platform memchr is broken, per Debian bug 521737.
37688         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37689         memchr.
37690         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37691         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37692         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37693         * modules/mountlist (Depends-on): Add strstr-simple.
37694         * modules/gen-uni-tables (Depends-on): Likewise.
37695         * modules/argz (Depends-on): Add strstr.
37696
37697 2009-06-17  Bruno Haible  <bruno@clisp.org>
37698
37699         * modules/posix_spawn-internal (Depends-on): Add errno.
37700
37701 2009-06-17  Bruno Haible  <bruno@clisp.org>
37702
37703         Define missing ESTALE on Interix 3.5.
37704         * lib/errno.in.h (ESTALE): Assign a value if missing.
37705         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37706         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37707         missing.
37708         * doc/posix-headers/errno.texi: Mention the Interix bug.
37709         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37710
37711 2009-06-15  Eric Blake  <ebb9@byu.net>
37712
37713         memchr, memchr2: add valgrind exception
37714         * lib/memchr.valgrind: New file.
37715         * lib/memchr2.valgrind: New file.
37716         * modules/memchr (Files): Distribute valgrind file.
37717         * modules/memchr2 (Files): Likewise.
37718
37719         docs: memchr is no longer obsolete
37720         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37721         * lib/string.in.h (memchr): Simplify logic.
37722
37723 2009-06-14  Jim Meyering  <meyering@redhat.com>
37724
37725         link-follow: fix the "checking..." message to not mention trailing slash
37726         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37727         never considered trailing slashes.
37728
37729 2009-06-14  Bruno Haible  <bruno@clisp.org>
37730
37731         * m4/memchr.m4: Mention also the bug on IA-64.
37732         * doc/posix-functions/memchr.texi: Likewise.
37733
37734 2009-06-12  Eric Blake  <ebb9@byu.net>
37735
37736         memchr: detect broken x86_64 and alpha implementations
37737         * modules/memchr-tests (Depends-on): Move mmap detection...
37738         * modules/memchr (Depends-on): ...here.
37739         (configure.ac): Set indicator.
37740         * lib/string.in.h (memchr): Declare replacement.
37741         * modules/string (Makefile.am): Trigger replacement.
37742         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37743         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37744         bugs.
37745         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37746         * modules/getpagesize (License): Relax license.
37747
37748 2009-06-11  Bruno Haible  <bruno@clisp.org>
37749
37750         * lib/idpriv.h: Add more references.
37751
37752 2009-06-08  Bruno Haible  <bruno@clisp.org>
37753
37754         Tests for module 'idpriv-droptemp'.
37755         * modules/idpriv-droptemp-tests: New file.
37756         * tests/test-idpriv-droptemp.sh: New file.
37757         * tests/test-idpriv-droptemp.su.sh: New file.
37758         * tests/test-idpriv-droptemp.c: New file.
37759
37760         New module 'idpriv-droptemp'.
37761         * lib/idpriv-droptemp.c: New file.
37762         * modules/idpriv-droptemp: New file.
37763
37764 2009-06-08  Bruno Haible  <bruno@clisp.org>
37765
37766         Tests for module 'idpriv-drop'.
37767         * modules/idpriv-drop-tests: New file.
37768         * tests/test-idpriv-drop.sh: New file.
37769         * tests/test-idpriv-drop.su.sh: New file.
37770         * tests/test-idpriv-drop.c: New file.
37771
37772         New module 'idpriv-drop'.
37773         * lib/idpriv.h: New file.
37774         * lib-idpriv-drop.c: New file.
37775         * m4/idpriv.m4: New file.
37776         * modules/idpriv-drop: New file.
37777
37778 2009-06-08  Bruno Haible  <bruno@clisp.org>
37779
37780         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37781         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37782         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37783         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37784         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37785         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37786         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37787
37788 2009-06-08  Eric Blake  <ebb9@byu.net>
37789
37790         test-strstr: use memory fence, when possible
37791         * tests/test-strstr.c (main): Use memory fence, in order to be
37792         more likely to trigger Debian bug 521737.
37793         * modules/strstr-tests (Files): Pull in additional files.
37794
37795         memchr: no longer obsolete, for wider field testing
37796         * modules/memchr (Status, Notice): Delete, this module is no
37797         longer obsolete.
37798         * modules/vasnprintf (Depends-on): Add memchr.
37799
37800 2009-06-07  Jim Meyering  <meyering@redhat.com>
37801
37802         hash: declare some functions with the warn_unused_result attribute
37803         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37804
37805 2009-06-07  Bruno Haible  <bruno@clisp.org>
37806
37807         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37808         Reported by Eric Blake.
37809
37810 2009-06-06  Eric Blake  <ebb9@byu.net>
37811
37812         test-alignof: fix typo with long double
37813         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37814         compiler error.
37815
37816 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37817
37818         Escape non-texinfo { and }s.
37819         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37820         markup error.
37821
37822 2009-06-04  Jim Meyering  <meyering@redhat.com>
37823
37824         gitlog-to-changelog: don't infloop on an empty commit log
37825         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37826         Reported by Boris Petersen <transacid@centerim.org>.
37827
37828 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37829
37830         version-etc: extend for packagers
37831         Add three new configure options, intended for packagers:
37832           --with-packager="packager name"
37833           --with-packager-version="packager-specific version"
37834           --with-packager-bug-reports="packager bug reporting"
37835         An example with coreutils:
37836           $ ./configure \
37837             --with-packager=Gentoo \
37838             --with-packager-bug-report=http://bugs.gentoo.org/ \
37839             --with-packager-version="patchset 1.6"
37840           $ ./src/ls --version | head -n2
37841           ls (GNU coreutils) 7.1-dirty
37842           Packaged by Gentoo (patchset 1.6)
37843         Note that the bug reporting info via --help doesn't show up because
37844         coreutils uses its own custom emit_bug_reporting_address() implementation
37845         in src/system.h.  If it didn't, it'd look like:
37846           $ ./src/ls --help | tail -n4
37847           Report bugs to <bug-coreutils@gnu.org>.
37848           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37849           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37850           General help using GNU software: <http://www.gnu.org/gethelp/>.
37851         * lib/version-etc.c: Print new information, if provided.
37852         * m4/version-etc.m4: New file.
37853         * modules/version-etc (Files): Add m4/version-etc.m4.
37854         (configure.ac): Add gl_VERSION_ETC.
37855
37856 2009-05-31  Bruno Haible  <bruno@clisp.org>
37857
37858         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37859         and 'int64_t'.
37860         * modules/alignof-tests (Dependencies): Add stdint.
37861         Reported by Eric Blake.
37862
37863 2009-05-31  Bruno Haible  <bruno@clisp.org>
37864
37865         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37866         restriction due to compiler bugs.
37867         Reported by Eric Blake.
37868
37869 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37870             Bruno Haible  <bruno@clisp.org>
37871
37872         Fix test-alignof failure.
37873         * lib/alignof.h (alignof_slot): New macro.
37874         (alignof_type): New macro, with the same semantics as the previous
37875         'alignof'.
37876         (alignof): Alias to alignof_slot.
37877         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37878         check that the results are usable as constant expressions.
37879
37880 2009-05-31  Bruno Haible  <bruno@clisp.org>
37881
37882         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37883         * tests/test-memchr.c (main): Check that memchr does not read past the
37884         first occurrence of the byte.
37885         * tests/test-strstr.c (main): Update comment.
37886         Suggested by Eric Blake.
37887
37888 2009-05-30  Bruno Haible  <bruno@clisp.org>
37889
37890         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37891         detail how to use dumpbin.
37892         Reported by David Byron <dbyron@dbyron.com>.
37893
37894 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37895
37896         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37897
37898 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37899
37900         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37901
37902 2009-05-28  Bruno Haible  <bruno@clisp.org>
37903
37904         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37905         build-aux/ files.
37906
37907 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37908
37909         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37910
37911 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37912
37913         * gnulib-tool (sed_transform_main_lib_file)
37914         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37915         regexps.
37916
37917 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37918
37919         * tests/test-strstr.c: Add another self-test.
37920         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37921         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37922
37923 2009-05-23  Bruno Haible  <bruno@clisp.org>
37924
37925         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37926         change.
37927
37928 2009-05-21  Bruno Haible  <bruno@clisp.org>
37929
37930         Simplify use of mode_t varargs.
37931         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
37932         uses 'mode_t' or 'int'.
37933         * lib/openat.c (openat): Likewise.
37934         * lib/open-safer.c (open_safer): Likewise.
37935         * m4/mode_t.m4: New file.
37936         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
37937         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
37938         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
37939         * modules/open (Files): Add m4/mode_t.m4.
37940         * modules/openat (Files): Likewise.
37941         * modules/fcntl-safer (Files): Likewise.
37942         Suggested by Eric Blake.
37943
37944 2009-05-21  Pádraig Brady  <P@draigbrady.com>
37945
37946         * doc/glibc-functions/fallocate.texi: New file.
37947         * doc/gnulib.texi: Include it.
37948
37949 2009-05-21  Eric Blake  <ebb9@byu.net>
37950             Bruno Haible  <bruno@clisp.org>
37951
37952         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
37953         invocations.
37954         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37955
37956 2009-05-21  Eric Blake  <ebb9@byu.net>
37957             Bruno Haible  <bruno@clisp.org>
37958
37959         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
37960         include_next. Fix of 2008-11-20 commit.
37961         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
37962         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
37963         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
37964         NEXT_MATH_H.
37965         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
37966         instead of NEXT_MATH_H.
37967
37968 2009-05-21  Bruno Haible  <bruno@clisp.org>
37969
37970         Avoid redefinition warnings for SIZE_MAX.
37971         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
37972         Reported by Simon Josefsson.
37973
37974 2009-05-21  Bruno Haible  <bruno@clisp.org>
37975
37976         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
37977         AC_CACHE_VAL.
37978
37979 2009-05-20  Bruno Haible  <bruno@clisp.org>
37980
37981         Make zeroptr.h work on mingw.
37982         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
37983         mprotect.
37984         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
37985         * modules/memchr2-tests (configure.ac): Likewise.
37986         * modules/memcmp-tests (configure.ac): Likewise.
37987         * modules/memmem-tests (configure.ac): Likewise.
37988         * modules/memrchr-tests (configure.ac): Likewise.
37989         Reported by Simon Josefsson.
37990
37991 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37992
37993         * tests/test-glob.c: Include string.h for strcmp prototype.
37994
37995 2009-05-20  Simon Josefsson  <simon@josefsson.org>
37996
37997         * modules/getdelim (Depends-on): Add explicit stdint, although it
37998         was implicitly already pulled in via realloc-posix.
37999         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38000
38001 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38002
38003         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38004         G. Christensen" <tgc@jupiterrise.com>.
38005         * m4/sys_socket_h.m4: Check for sa_family_t.
38006         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38007         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38008         * tests/test-sys_socket.c: Check that sa_family_t works.
38009
38010 2009-05-18  Eric Blake  <ebb9@byu.net>
38011
38012         maint.mk: allow gnulib_dir in VPATH build
38013         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38014
38015 2009-05-15  Jim Meyering  <meyering@redhat.com>
38016
38017         maint.mk: Give gnulib_dir a default definition.
38018         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38019         Thus, most packages no longer need to specify this variable in cfg.mk
38020
38021 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38022
38023         rename.m4: fix typos that would make non-mingw cross-configure fail
38024         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38025
38026 2009-05-13  Eric Blake  <ebb9@byu.net>
38027
38028         mmap-anon: avoid out-of-order autoconf expansion
38029         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38030         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38031         * modules/memchr-tests (Depends-on): Add extensions.
38032         * modules/memchr2-tests (Depends-on): Add extensions.
38033         * modules/memcmp-tests (Depends-on): Add extensions.
38034         * modules/memmem-tests (Depends-on): Add extensions.
38035         * modules/memrchr-tests (Depends-on): Add extensions.
38036
38037 2009-05-13  Bruno Haible  <bruno@clisp.org>
38038
38039         Make some tests ISO C 99 compliant.
38040         * tests/zerosize-ptr.h: New file.
38041         * tests/test-memchr.c: Include zerosize-ptr.h.
38042         (main): Use a zero-size object pointer instead of NULL.
38043         * tests/test-memchr2.c: Include zerosize-ptr.h.
38044         (main): Use a zero-size object pointer instead of NULL.
38045         * tests/test-memcmp.c: Include zerosize-ptr.h.
38046         (main): Use a zero-size object pointer instead of NULL.
38047         * tests/test-memmem.c: Include zerosize-ptr.h.
38048         (main): Use a zero-size object pointer instead of NULL.
38049         * tests/test-memrchr.c: Include zerosize-ptr.h.
38050         (main): Use a zero-size object pointer instead of NULL.
38051         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38052         m4/mmap-anon.m4.
38053         (Depends-on): Add getpagesize.
38054         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38055         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38056         m4/mmap-anon.m4.
38057         (Depends-on): Add getpagesize.
38058         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38059         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38060         m4/mmap-anon.m4.
38061         (Depends-on): Add getpagesize.
38062         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38063         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38064         m4/mmap-anon.m4.
38065         (Depends-on): Add getpagesize.
38066         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38067         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38068         m4/mmap-anon.m4.
38069         (Depends-on): Add getpagesize.
38070         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38071
38072 2009-05-12  Bruno Haible  <bruno@clisp.org>
38073
38074         Tests for module 'alignof'.
38075         * modules/alignof-tests: New file.
38076         * tests/test-alignof.c: New file.
38077
38078 2009-05-12  Bruno Haible  <bruno@clisp.org>
38079
38080         Fix alignof macro.
38081         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38082         vendor compilers that are always correct.
38083
38084 2009-05-12  Bruno Haible  <bruno@clisp.org>
38085
38086         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38087         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38088         not whether its fully works.
38089
38090 2009-05-12  Bruno Haible  <bruno@clisp.org>
38091
38092         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38093
38094 2009-05-12  Jim Meyering  <meyering@redhat.com>
38095
38096         * top/maint.mk: Adjust backslash alignment.
38097
38098 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38099
38100         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38101
38102 2009-05-11  Eric Blake  <ebb9@byu.net>
38103
38104         argp: avoid undefined behavior
38105         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38106         macros.
38107
38108 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38109
38110         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38111         user.name to prevent git commit from complaining.
38112
38113 2009-05-10  Bruno Haible  <bruno@clisp.org>
38114
38115         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38116         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38117         it rewrites every file name only once.
38118         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38119
38120 2009-05-08  Bruno Haible  <bruno@clisp.org>
38121
38122         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38123         instead of 'max'.
38124
38125 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38126
38127         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38128         sockaddr_storage test.
38129
38130 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38131
38132         * modules/sys_socket (Makefile.am): Substitute
38133         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38134         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38135         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38136         * tests/test-sys_socket.c: Check sockaddr_storage.
38137
38138 2009-05-08  Bruno Haible  <bruno@clisp.org>
38139
38140         New module 'alignof'.
38141         * lib/alignof.h: New file.
38142         * modules/alignof: New file.
38143
38144 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38145             Bruno Haible  <bruno@clisp.org>
38146
38147         Fix test-file-has-acl on FreeBSD.
38148         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38149         mask is implicitly added.
38150         * tests/test-file-has-acl.c: Include <signal.h>.
38151         (main): Terminate the test after 5 seconds.
38152         * modules/acl-tests (configure.ac): Check for alarm function.
38153
38154 2009-05-04  Bruno Haible  <bruno@clisp.org>
38155
38156         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38157         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38158         * modules/errno (configure.ac): Drop AC_REQUIRE.
38159         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38160         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38161
38162 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38163
38164         * modules/glob-tests: New module.
38165         * tests/test-glob.c: Add.
38166
38167 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38168
38169         * modules/fnmatch-tests: New module.
38170         * tests/test-fnmatch.c: Add.
38171
38172 2009-05-04  Eric Blake  <ebb9@byu.net>
38173
38174         maint: make the new no-submodule-changes rule VPATH-safe
38175         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38176
38177 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38178             Bruno Haible  <bruno@clisp.org>
38179
38180         acl: Fix infinite loop on FreeBSD.
38181         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38182         of return value from acl_get_entry.
38183         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38184         Likewise.
38185
38186 2009-05-03  Bruno Haible  <bruno@clisp.org>
38187
38188         * lib/acl-internal.h (acl_entries): Clarify return value.
38189         * lib/acl_entries.c (acl_entries): Likewise.
38190
38191 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38192
38193         Bug fix in acl module.
38194         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38195
38196 2009-05-03  Bruno Haible  <bruno@clisp.org>
38197
38198         Create gperf-generated file in the source dir, not in the build dir.
38199         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38200         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38201         * modules/unicase/locale-language (unicase/locale-languages.h):
38202         Likewise.
38203         * modules/unicase/special-casing (unicase/special-casing-table.h):
38204         Likewise.
38205         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38206         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38207         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38208         Reported by Ralf Wildenhues.
38209
38210 2009-05-03  Bruno Haible  <bruno@clisp.org>
38211
38212         * modules/fnmatch (Description, configure.ac): Taken from
38213         fnmatch-posix.
38214         * modules/fnmatch-posix: Turn into a symbolic reference to the
38215         'fnmatch' module, and deprecate.
38216         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38217
38218 2009-05-03  Bruno Haible  <bruno@clisp.org>
38219
38220         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38221         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38222         Reported by Ralf Wildenhues.
38223
38224 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38225
38226         * m4/fnmatch.m4: Fix fnmatch re-define.
38227
38228 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38229
38230         priv-set: new module and tests; adapt write-any-file
38231         * lib/priv-set.c: New file.
38232         * lib/priv-set.h: New file.
38233         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38234         * lib/write-any-file.c: Simplify by using priv-set module.
38235         * m4/priv-set.m4: New file.
38236         * modules/priv-set: New file.
38237         * modules/unlinkdir: Add dependency on priv-set module.
38238         * modules/write-any-file: Likewise.
38239
38240         Tests for module 'priv-set'.
38241         * modules/priv-set-tests: New file.
38242         * tests/test-priv-set.c: New file.
38243
38244 2009-05-03  Jim Meyering  <meyering@redhat.com>
38245             Bruno Haible  <bruno@clisp.org>
38246
38247         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38248         use the converted UTF-8 variant of the name instead.
38249
38250 2009-05-03  Jim Meyering  <meyering@redhat.com>
38251
38252         tests: tighten some getdate tests
38253         * tests/test-getdate.c (main): Tighten tests: require equality,
38254         not just greater than.  Set TZ envvar to UTC0.
38255
38256 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38257
38258         getdate: correctly interpret "next monday" when run on a Monday
38259         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38260         that e.g., "next tues" (when run on a tuesday) results in a date
38261         that is one week in the future, and not today's date.
38262         I.e., add a week when the wday is the same as the current one.
38263         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38264         and earlier by Martin Bernreuther and Jan Minář.
38265         * tests/test-getdate.c (main): Check that "next DAY" is always in
38266         the future and that "last DAY" is always in the past.
38267
38268 2009-05-02  Jim Meyering  <meyering@redhat.com>
38269
38270         build: ensure that a release build fails when a submodule is unclean
38271         * top/maint.mk (no-submodule-changes): New rule.
38272         (alpha beta major): Depend on it.
38273
38274 2009-05-02  Bruno Haible  <bruno@clisp.org>
38275
38276         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38277         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38278         shell variable gl_fnmatch_required to detect which variant is
38279         requested.
38280         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38281         gl_FUNC_FNMATCH_POSIX.
38282         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38283         exclude fnmatch-posix.
38284
38285 2009-05-02  Bruno Haible  <bruno@clisp.org>
38286
38287         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38288         * modules/mbsrtowcs (License): Change to LGPLv2+.
38289         * modules/strnlen1 (License): Likewise.
38290         Reported by Simon Josefsson.
38291
38292 2009-05-02  Bruno Haible  <bruno@clisp.org>
38293
38294         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38295         "cross".
38296         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38297         gnulib-tool was called with option --source-base=lib.
38298
38299 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38300
38301         Use automake *-local hooks without commands, for extensibility.
38302         * modules/localcharset (Makefile.am): Rename install-exec-local
38303         rule to install-exec-localcharset, and make it a prerequisite of
38304         install-exec-local.  Likewise, rename the uninstall-local rule to
38305         uninstall-localcharset, and make it a prerequisite of the former.
38306
38307 2009-05-01  Bruno Haible  <bruno@clisp.org>
38308
38309         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38310         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38311         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38312         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38313         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38314         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38315         m4/locale-zh.m4, m4/codeset.m4.
38316
38317         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38318         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38319         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38320         m4/locale-zh.m4.
38321
38322         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38323         REPLACE_WCRTOMB if mbstate_t must be replaced.
38324         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38325         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38326
38327 2009-05-01  Bruno Haible  <bruno@clisp.org>
38328
38329         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38330         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38331         dngettext, dcngettext, textdomain, bindtextdomain,
38332         bind_textdomain_codeset): Undefine before redefining.
38333
38334 2009-04-30  Bruno Haible  <bruno@clisp.org>
38335
38336         Fix bug introduced on 2009-04-25.
38337         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38338         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38339         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38340         is defined.
38341         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38342         is defined.
38343         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38344         is defined.
38345         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38346
38347 2009-04-28  Bruno Haible  <bruno@clisp.org>
38348
38349         Comment tweaks.
38350         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38351         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38352         * lib/unicase.h (u*_casexfrm): Likewise.
38353         Reported by Paolo Bonzini.
38354
38355 2009-04-28  Bruno Haible  <bruno@clisp.org>
38356
38357         Fix a compilation error.
38358         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38359         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38360         Reported by Jim Meyering.
38361
38362 2009-04-27  Bruno Haible  <bruno@clisp.org>
38363
38364         New module 'libunistring'.
38365         * modules/libunistring: New file.
38366         * m4/libunistring.m4: New file.
38367         * MODULES.html.sh (Unicode string functions): Add it.
38368
38369 2009-04-27  Eric Blake  <ebb9@byu.net>
38370
38371         maint.mk: allow package-specific header to provide <config.h>
38372         * top/maint.mk (sc_require_config_h): New variable.
38373         (sc_require_config_h, sc_require_config_h_first): Use it.
38374
38375 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38376
38377         * top/maint.mk (sc_avoid_if_before_free): Except
38378         useless-if-before-free script.
38379
38380 2009-04-27  Eric Blake  <ebb9@byu.net>
38381
38382         maintainer-makefile: depend on all required helper scripts
38383         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38384         useless-if-before-free.
38385         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38386         version, rather than assuming gnulib checkout is available.
38387         Reported by Simen Josefsson.
38388
38389 2009-04-26  Bruno Haible  <bruno@clisp.org>
38390
38391         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38392         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38393         "../" or "..".
38394
38395 2009-04-26  Bruno Haible  <bruno@clisp.org>
38396
38397         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38398         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38399         AC_LIB_HAVE_LINKFLAGS.
38400
38401 2009-04-26  Bruno Haible  <bruno@clisp.org>
38402
38403         Simplify calling convention of u*_conv_from_encoding.
38404         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38405         u32_conv_from_encoding): Expect a resultbuf argument and return the
38406         result directly as a pointer.
38407         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38408         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38409         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38410         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38411         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38412         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38413         Update.
38414         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38415         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38416         * lib/vasnprintf.c (VASNPRINTF): Update.
38417         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38418         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38419         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38420         * NEWS: Mention the change.
38421
38422 2009-04-26  Bruno Haible  <bruno@clisp.org>
38423
38424         Simplify calling convention of u*_conv_to_encoding.
38425         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38426         u32_conv_to_encoding): Expect a resultbuf argument and return the
38427         result directly as a pointer.
38428         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38429         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38430         freeing scaled_offsets if mem_iconveha failed.
38431         * lib/unicase/u-casexfrm.h (FUNC): Update.
38432         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38433         * lib/vasnprintf.c (VASNPRINTF): Update.
38434         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38435         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38436         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38437         * NEWS: Mention the change.
38438
38439 2009-04-26  Bruno Haible  <bruno@clisp.org>
38440
38441         Avoid test failures on AIX and OSF/1.
38442         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38443         malloc(0).
38444         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38445         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38446         Likewise.
38447         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38448         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38449         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38450         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38451         * doc/posix-functions/malloc.texi: Document the portability problem
38452         related to malloc(0).
38453
38454 2009-04-26  Bruno Haible  <bruno@clisp.org>
38455
38456         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38457         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38458         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38459
38460 2009-04-25  Bruno Haible  <bruno@clisp.org>
38461
38462         Avoid link error when creating a namespace clean library.
38463         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38464         as macro with arguments if already defined as an alias.
38465         * lib/signbitf.c (gl_signbitf): Don't undefine.
38466         * lib/signbitd.c (gl_signbitd): Don't undefine.
38467         * lib/signbitl.c (gl_signbitl): Don't undefine.
38468
38469 2009-04-25  Jim Meyering  <meyering@redhat.com>
38470
38471         vc-list-files: fix another quoting bug
38472         * build-aux/vc-list-files: Avoid sed backslash expansion
38473         of pathological directory names.
38474
38475 2009-04-25  Eric Blake  <ebb9@byu.net>
38476
38477         vc-list-files: fix shell quoting error
38478         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38479         timestamp.
38480
38481 2009-04-25  Jim Meyering  <meyering@redhat.com>
38482
38483         vc-list-files: restore lost functionality with subdir argument
38484         * build-aux/vc-list-files: When given a non-"." sub-directory
38485         argument, substitute the $dir/ prefix back onto each resulting name.
38486         Otherwise, coreutils' root_tests check would fail.
38487
38488 2009-04-24  Eric Blake  <ebb9@byu.net>
38489
38490         vc-list-files: ignore git symlinks
38491         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38492         than ls-files, to ignore git symlinks.
38493
38494         maint.mk: import improvements from m4
38495         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38496         (move_if_change): Delete unused macro.
38497         (news-date-check, vc-diff-check): Support VPATH builds.
38498         (announcement): Likewise.  Split --bootstrap-tools list...
38499         (boostrap-tools): ...into separate list, which can be overridden
38500         in cfg.mk.
38501         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38502         requiring dependency on useless-if-before-free module.
38503         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38504         Support VPATH builds.
38505
38506 2009-04-24  Jim Meyering  <meyering@redhat.com>
38507
38508         maint.mk: remove coreutils-specific rules and variables
38509         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38510         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38511         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38512
38513         maint.mk: remove obsolete rule
38514         * top/maint.mk (rel-check): Remove rule.
38515         (WGET, WGETFLAGS): Remove now-unused variables.
38516
38517 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38518
38519         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38520         consistency.
38521
38522         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38523         '$(PATH_SEPARATOR)' instead of ':'.
38524
38525 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38526
38527         * lib/getopt1.c (main): Use 'const' for static array.
38528
38529 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38530
38531         * top/maint.mk: Sync with coreutils.
38532         * NEWS: Explain incompatibilities.
38533
38534 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38535             Bruno Haible  <bruno@clisp.org>
38536
38537         Fix cross-compilation results.
38538         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38539         statement, as third argument of AC_TRY_RUN.
38540         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38541         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38542         Likewise.
38543         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38544         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38545         Likewise.
38546         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38547         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38548         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38549
38550 2009-04-20  Bruno Haible  <bruno@clisp.org>
38551
38552         Avoid test failure on mingw.
38553         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38554
38555 2009-04-20  Bruno Haible  <bruno@clisp.org>
38556
38557         Avoid compilation error on mingw.
38558         * modules/localename-tests (Depends-on): Add locale.
38559
38560 2009-04-19  Bruno Haible  <bruno@clisp.org>
38561
38562         Support for building a shared library on Windows platforms.
38563         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38564         (main): Test the presence of UNINORM_NFC here.
38565         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38566         (main): Test the presence of UNINORM_NFD here.
38567         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38568         (main): Test the presence of UNINORM_NFKC here.
38569         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38570         (main): Test the presence of UNINORM_NFKD here.
38571
38572 2009-04-19  Bruno Haible  <bruno@clisp.org>
38573
38574         Avoid a compiler warning.
38575         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38576         Change type of variable 'sequence'.
38577
38578 2009-04-19  Bruno Haible  <bruno@clisp.org>
38579
38580         * modules/configmake (Makefile.am): When the contents of configmake.h
38581         does not change, arrange to preserve its modification time.
38582
38583 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38584
38585         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38586         gettext domain.
38587
38588 2009-04-16  Jim Meyering  <meyering@redhat.com>
38589
38590         useless-if-before-free: improve conversion code
38591         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38592         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38593
38594 2009-04-14  Bruno Haible  <bruno@clisp.org>
38595
38596         * modules/fcntl (Depends-on): Add extensions.
38597         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38598
38599 2009-04-12  Ben Pfaff  <blp@gnu.org>
38600
38601         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38602         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38603
38604 2009-03-20  Ben Pfaff  <blp@gnu.org>
38605
38606         Make rename replace existing destinations on Windows.
38607         * m4/rename.m4: Add test for Mingw.
38608         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38609         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38610         * doc/posix-functions/rename.texi: Document.
38611
38612 2009-04-10  Bruno Haible  <bruno@clisp.org>
38613
38614         New include file "iconveh.h".
38615         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38616         * lib/striconveh.h: Include it.
38617         (enum iconv_ilseq_handler): Remove definition.
38618         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38619         striconveh.h.
38620         * lib/striconveha.c: Include striconveh.h.
38621         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38622         * modules/striconveh (Files): Add lib/iconveh.h.
38623         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38624         lib/striconveh.h.
38625
38626 2009-04-10  Bruno Haible  <bruno@clisp.org>
38627
38628         * lib/uniconv.h: Update comment.
38629
38630 2009-04-10  Bruno Haible  <bruno@clisp.org>
38631
38632         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38633         always.
38634         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38635         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38636         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38637         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38638         "unistring-notinline.h", so that the function gets defined always.
38639         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38640         * lib/unistr/u8-uctomb.c: Likewise.
38641         * lib/unistr/u16-mbtouc.c: Likewise.
38642         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38643         * lib/unistr/u16-uctomb.c: Likewise.
38644         * lib/unistr/u32-mbtouc.c: Likewise.
38645         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38646         * lib/unistr/u32-uctomb.c: Likewise.
38647
38648 2009-04-10  Bruno Haible  <bruno@clisp.org>
38649
38650         Mark 'utime' obsolete.
38651         * modules/utime (Status, Notice): New sections.
38652         Suggested by Jim Meyering.
38653
38654         Fix cross-compile guess for utime test.
38655         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38656         autoconf.
38657         * doc/posix-functions/utime.texi: Give more precisions.
38658         Reported by Jan <ipif@ymail.com>.
38659
38660 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38661
38662         filevercmp: correct today's change
38663         * lib/filevercmp.c: Also handle coreutils' test inputs.
38664         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38665
38666         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38667         for reporting it.
38668         * lib/filevercmp.c: Special handle for "", "." and "..".
38669         * tests/test-filevercmp.c: Enlarge the set suite.
38670
38671 2009-04-07  Jim Meyering  <meyering@redhat.com>
38672
38673         useless-if-before-free: show how to remove braced useless free, too
38674         * build-aux/useless-if-before-free: still only in a comment, though.
38675
38676 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38677
38678         maint.mk: import changes to syntax-check macros from coreutils
38679         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38680         Use them in the relevant macros.
38681
38682 2009-04-06  Bruno Haible  <bruno@clisp.org>
38683
38684         Fix unportable use of bit-fields.
38685         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38686         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38687         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38688
38689 2009-04-06  Bruno Haible  <bruno@clisp.org>
38690
38691         Avoid test failures on AIX and OSF/1.
38692         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38693         that malloc(0) = NULL.
38694         * tests/unicase/test-u8-tolower.c (check): Likewise.
38695         * tests/unicase/test-u8-totitle.c (check): Likewise.
38696         * tests/unicase/test-u8-toupper.c (check): Likewise.
38697         * tests/unicase/test-u16-casefold.c (check): Likewise.
38698         * tests/unicase/test-u16-tolower.c (check): Likewise.
38699         * tests/unicase/test-u16-totitle.c (check): Likewise.
38700         * tests/unicase/test-u16-toupper.c (check): Likewise.
38701         * tests/unicase/test-u32-casefold.c (check): Likewise.
38702         * tests/unicase/test-u32-tolower.c (check): Likewise.
38703         * tests/unicase/test-u32-totitle.c (check): Likewise.
38704         * tests/unicase/test-u32-toupper.c (check): Likewise.
38705         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38706         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38707         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38708         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38709         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38710         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38711         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38712         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38713         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38714         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38715         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38716         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38717
38718 2009-04-05  Bruno Haible  <bruno@clisp.org>
38719
38720         Work around an autoconf limitation.
38721         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38722         comment line if it would be longer than 3 KB.
38723
38724 2009-04-05  Bruno Haible  <bruno@clisp.org>
38725
38726         Avoid test failure with libiconv-1.13.
38727         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38728         of the expected test results.
38729
38730 2009-04-05  Bruno Haible  <bruno@clisp.org>
38731
38732         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38733         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38734         that it should be installed.
38735
38736 2009-04-05  Bruno Haible  <bruno@clisp.org>
38737
38738         * gnulib-tool: New option --copy-file.
38739         (func_usage): Document it.
38740         (func_dest_tmpfilename): Moved out of func_import.
38741         (func_add_file, func_update_file): New functions, extracted from
38742         func_import.
38743         (func_import): Update.
38744
38745 2009-04-05  Karl Berry  <karl@gnu.org>
38746
38747         * README: prominently mention gnulib-tool.
38748         Rearrange sections so getting the code is near the top.
38749
38750 2009-04-05  Bruno Haible  <bruno@clisp.org>
38751
38752         * lib/unicase.h: Mention u*_cmp2.
38753         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38754         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38755         * lib/unicase/ulc-casecmp.c: Likewise.
38756         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38757         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38758         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38759         unistr/u8-cmp.
38760         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38761         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38762         unistr/u16-cmp.
38763         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38764         unistr/u32-cmp.
38765
38766         * lib/uninorm.h: Mention u*_cmp2.
38767         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38768         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38769         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38770         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38771         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38772         unistr/u8-cmp.
38773         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38774         unistr/u16-cmp.
38775         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38776         unistr/u32-cmp.
38777
38778         New module 'unistr/u32-cmp2'.
38779         * lib/unistr/u32-cmp2.c: New file.
38780         * modules/unistr/u32-cmp2: New file.
38781
38782         New module 'unistr/u16-cmp2'.
38783         * lib/unistr/u16-cmp2.c: New file.
38784         * modules/unistr/u16-cmp2: New file.
38785
38786         New module 'unistr/u8-cmp2'.
38787         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38788         * lib/unistr/u8-cmp2.c: New file.
38789         * lib/unistr/u-cmp2.h: New file.
38790         * modules/unistr/u8-cmp2: New file.
38791
38792 2009-04-05  Bruno Haible  <bruno@clisp.org>
38793
38794         * lib/unictype.h (uc_property_is_valid): New macro.
38795         * tests/unictype/test-pr_byname.c (main): Use it.
38796
38797         * lib/unistr.h: Doc fixes.
38798         * lib/uniconv.h: Doc fixes.
38799         * lib/unictype.h: Doc fixes.
38800
38801 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38802
38803         Port coreutils 7.2 to Solaris 8.
38804
38805         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38806         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38807         for Solaris 8.  This is a bit of a hack, as it means it's the
38808         caller's responsibility to add -lnsl if needed, but most likely it
38809         won't be needed since only getaddrinfo uses this and getaddrinfo
38810         isn't needed on Solaris 8.
38811
38812         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38813         problem to Solaris 8 encountered with coreutils 7.2, which
38814         resulted in a message "fnmatch.c:292: warning: passing argument 4
38815         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38816         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38817
38818 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38819
38820         * m4/ld-version-script.m4: Add FIXME comment.
38821
38822 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38823
38824         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38825         SOVERSION variable.
38826
38827 2009-04-02  Bruno Haible  <bruno@clisp.org>
38828
38829         * Makefile (info, html, dvi, pdf): Combine the rules.
38830         Suggested by Jim Meyering.
38831
38832 2009-04-01  Bruno Haible  <bruno@clisp.org>
38833
38834         * Makefile (info, html, dvi, pdf): New targets.
38835         Reported by Reuben Thomas <rrt@sc3d.org>.
38836
38837 2009-04-01  Bruno Haible  <bruno@clisp.org>
38838
38839         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38840         can be put into PATH.
38841         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38842
38843 2009-04-01  Bruno Haible  <bruno@clisp.org>
38844
38845         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38846
38847 2009-04-01  Bruno Haible  <bruno@clisp.org>
38848
38849         Rename module 'visibility'.
38850         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38851         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38852         * doc/gnulib.texi: Update.
38853         * MODULES.html.sh (Misc): Update.
38854         * NEWS: Mention the change.
38855
38856 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38857
38858         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38859         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38860         Eric Blake <ebb9@byu.net> for review.
38861         * MODULES.html.sh: Add lib-msvc-compat.
38862         * doc/gnulib.texi: Link to new section.
38863         * m4/ld-output-def.m4: New file.
38864         * doc/ld-output-def.texi: New file.
38865
38866 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38867
38868         Rename ld-version-script to lib-symbol-versions.  Suggested by
38869         Bruno Haible <bruno@clisp.org>.
38870         * modules/ld-version-script: Renamed to lib-symbol-versions.
38871         * doc/ld-version-script.texi: Fix module name.
38872         * MODULES.html.sh: Add lib-symbol-versions.
38873
38874 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38875
38876         * modules/u64-tests: New file.
38877         * tests/test-u64.c: New file.
38878
38879 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38880
38881         * MODULES.html.sh: Mention u64.
38882         * modules/u64: New module.
38883         * modules/crypto/sha512: Depend on u64 module instead of providing
38884         u64.h.
38885
38886 2009-03-27  Eric Blake  <ebb9@byu.net>
38887
38888         test-strerror: make debugging EAI_SYSTEM easier
38889         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38890         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38891         failure was EAI_SYSTEM.
38892
38893 2009-03-25  Bruno Haible  <bruno@clisp.org>
38894
38895         Fix a problem with --enable-relocatable on Solaris 7.
38896         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38897         since 2008-02-24.
38898
38899 2009-03-25  Eric Blake  <ebb9@byu.net>
38900
38901         test-sockets: avoid gcc warning
38902         * tests/test-sockets.c (main): Silence compiler warning.
38903
38904 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38905
38906         New modules nproc, pthread, contributed by Glen Lenker.
38907
38908         * MODULES.html.sh: Add pthread, nproc.
38909         * lib/nproc.c: New file.
38910         * lib/nproc.h: New file.
38911         * lib/pthread.in.h: New file.
38912         * m4/pthread.m4: New file.
38913         * modules/nproc: New file.
38914         * modules/pthread: New file.
38915
38916 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38917
38918         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38919         New variable.
38920
38921 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38922
38923         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38924         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38925         * tests/test-filevercmp.c: Add tests for backup suffixes.
38926
38927 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38928
38929         * modules/stdlib (Depends-on): Add stdint, needed when defining
38930         struct random_data on, for example, HP-UX 10.20.  Reported by
38931         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38932
38933 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38934
38935         * lib/readline.c (readline): Call fflush on stdout after printing
38936         prompt.
38937
38938 2009-03-20  Bruno Haible  <bruno@clisp.org>
38939
38940         Remove dependency from 'close' module to -lws2_32 on native Windows.
38941         * lib/close-hook.h: New file.
38942         * lib/close-hook.c: New file.
38943         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
38944         w32sock.h.
38945         (_gl_close_fd_maybe_socket): Remove function.
38946         (rpl_close): Invoke execute_all_close_hooks instead of
38947         _gl_close_fd_maybe_socket.
38948         * lib/sockets.c: Include close-hook.h, w32sock.h.
38949         (close_fd_maybe_socket): New function, essentially from lib/close.c.
38950         (close_sockets_hook): New variable.
38951         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
38952         (gl_sockets_cleanup): Unregister it.
38953         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
38954         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
38955         * modules/close-hook: New file.
38956         * modules/close (Files): Remove lib/w32sock.h.
38957         (Depends-on): Add close-hook.
38958         (Link): Remove section.
38959         * modules/sockets (Files): Add lib/w32sock.h.
38960         (Depends-on): Add close-hook.
38961         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
38962         invocation.
38963         * NEWS: Mention that LIB_CLOSE is gone.
38964
38965 2009-03-23  Eric Blake  <ebb9@byu.net>
38966
38967         signal-tests: test previous patch
38968         * tests/test-signal.c: New file.
38969         * modules/signal-tests: Likewise.
38970
38971         signal.h: always support 'volatile sig_atomic_t'
38972         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
38973         (gl_SIGNAL_H_DEFAULTS): Add a default.
38974         * modules/signal (Makefile.am): Substitute if needed.
38975         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
38976         users can blindly add volatile.
38977         * doc/posix-headers/signal.texi (signal.h): Document it.
38978         Reported by Matthew Woehlke.
38979
38980 2009-03-23  Jim Meyering  <meyering@redhat.com>
38981
38982         pathmax: PATH_MAX: use pathconf only when available
38983         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
38984         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
38985         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
38986         This avoids a link failure in a PSP cross-compilation environment
38987         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
38988
38989         * lib/vasnprintf.c (divide): Fix typo in comment.
38990
38991 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38992
38993         * gnulib-tool (func_filter_filelist): Fix comment.
38994
38995 2009-03-20  Bruno Haible  <bruno@clisp.org>
38996
38997         Make sockets.h self-contained.
38998         * lib/sockets.c: Include sockets.h first.
38999         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39000
39001 2009-03-19  Eric Blake  <ebb9@byu.net>
39002
39003         doc: mention more functions added in cygwin 1.7.0
39004         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39005         addition.
39006         * doc/posix-functions/log2f.texi: Likewise.
39007
39008 2009-03-19  Jim Meyering  <meyering@redhat.com>
39009
39010         fsusage: avoid syntax error due to statement-before-declaration
39011         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39012         after all declarations.  Reported by Matthew Woehlke in
39013         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39014
39015 2009-03-18  Eric Blake  <ebb9@byu.net>
39016
39017         build-aux/compile: sync from automake
39018         * build-aux/compile: New file, from automake.
39019         * config/srclist.txt: Mention build-aux/compile.
39020
39021 2009-03-17  Bruno Haible  <bruno@clisp.org>
39022
39023         * lib/git-merge-changelog.c: Fix typo in comment.
39024         Reported by Reuben Thomas <rrt@sc3d.org>.
39025
39026 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39027
39028         * m4/regex.m4: update and improve help for
39029         --without-included-regex.
39030
39031 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39032
39033         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39034         failure on missing include files.
39035
39036 2009-03-17  Eric Blake  <ebb9@byu.net>
39037
39038         doc: mention more functions added in cygwin 1.7.0
39039         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39040         addition.
39041         * doc/posix-functions/fwscanf.texi: Likewise.
39042         * doc/posix-functions/swprintf.texi: Likewise.
39043         * doc/posix-functions/swscanf.texi: Likewise.
39044         * doc/posix-functions/vfwprintf.texi: Likewise.
39045         * doc/posix-functions/vfwscanf.texi: Likewise.
39046         * doc/posix-functions/vswprintf.texi: Likewise.
39047         * doc/posix-functions/vswscanf.texi: Likewise.
39048         * doc/posix-functions/vwprintf.texi: Likewise.
39049         * doc/posix-functions/vwscanf.texi: Likewise.
39050         * doc/posix-functions/wcscasecmp.texi: Likewise.
39051         * doc/posix-functions/wcsdup.texi: Likewise.
39052         * doc/posix-functions/wcsftime.texi: Likewise.
39053         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39054         * doc/posix-functions/wprintf.texi: Likewise.
39055         * doc/posix-functions/wscanf.texi: Likewise.
39056         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39057
39058 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39059
39060         maint.mk: really add $(AM_MAKEFLAGS)
39061         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39062         was inadvertently omitted in the last commit.
39063         Spotted by Bruno Haible.
39064
39065         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39066         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39067         $(AM_MAKEFLAGS)' rather than plain `make'.
39068
39069         gnulib-tool: execute $MAKE not make
39070         * gnulib-tool: Default $MAKE to 'make'.
39071         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39072         than make.  Initialize $MAKE in the do-autobuild script.
39073
39074         gnulib-tool: use $MAKE not make in generated files
39075         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39076         make, in generated files.  Initialize $MAKE in the do-autobuild
39077         script.
39078
39079         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39080
39081         GNUmakefile: disable parallelism only for multiple, recursive targets
39082         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39083         additions in the Makefile.
39084         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39085         by Automake.
39086         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39087         are listed on the command line and at least one of them is
39088         listed in $(ALL_RECURSIVE_TARGETS).
39089
39090 2009-03-14  Bruno Haible  <bruno@clisp.org>
39091
39092         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39093         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39094         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39095         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39096         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39097         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39098         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39099         unistr/u8-uctomb.
39100         * modules/unistr/u8-strchr (Depends-on): Likewise.
39101         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39102         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39103         unistr/u16-uctomb.
39104         * modules/unistr/u16-strchr (Depends-on): Likewise.
39105         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39106
39107 2009-03-12  Bruno Haible  <bruno@clisp.org>
39108
39109         Work around select() bug on Interix 3.5.
39110         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39111         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39112         * m4/select.m4: New file.
39113         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39114         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39115         * modules/select (Files): Add m4/select.m4.
39116         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39117         * modules/nanosleep (Depends-on): Add select.
39118         * modules/poll (Depends-on): Likewise.
39119         * doc/posix-functions/select.texi: Mention the Interix bug.
39120         Reported by Markus Duft <mduft@gentoo.org>.
39121
39122         * lib/select.c: Renamed from lib/winsock-select.c.
39123         * modules/select (Files): Add lib/select.c, remove
39124         lib/winsock-select.c.
39125         (configure.ac): Update.
39126
39127 2009-03-12  Jim Meyering  <meyering@redhat.com>
39128
39129         avoid gcc warnings about unused macro definitions
39130         * lib/readtokens.c (STREQ): Remove unused definition.
39131         * lib/xmalloc.c (SIZE_MAX): Likewise.
39132         * lib/openat-die.c (N_): Likewise.
39133         * lib/mountlist.c (SIZE_MAX): Remove definition.
39134         Instead, include <stdint.h>.
39135         * lib/readutmp.c: Likewise.
39136         * modules/readutmp (Depends-on): Add stdint.
39137         * modules/mountlist (Depends-on): Add stdint.
39138         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39139
39140 2009-03-10  Bruno Haible  <bruno@clisp.org>
39141
39142         Tests for module 'mbmemcasecoll'.
39143         * modules/mbmemcasecoll-tests: New file.
39144         * tests/test-mbmemcasecoll1.sh: New file.
39145         * tests/test-mbmemcasecoll2.sh: New file.
39146         * tests/test-mbmemcasecoll3.sh: New file.
39147         * tests/test-mbmemcasecoll.c: New file.
39148
39149         New module 'mbmemcasecoll'.
39150         * lib/mbmemcasecoll.h: New file.
39151         * lib/mbmemcasecoll.c: New file.
39152         * modules/mbmemcasecoll: New file.
39153
39154         * tests/test-mbmemcasecmp.h: New file, extracted from
39155         tests/test-mbmemcasecmp.c.
39156         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39157         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39158         (main): Update.
39159         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39160
39161 2009-03-09  Bruno Haible  <bruno@clisp.org>
39162
39163         Tests for module 'mbmemcasecmp'.
39164         * modules/mbmemcasecmp-tests: New file.
39165         * tests/test-mbmemcasecmp1.sh: New file.
39166         * tests/test-mbmemcasecmp2.sh: New file.
39167         * tests/test-mbmemcasecmp3.sh: New file.
39168         * tests/test-mbmemcasecmp.c: New file.
39169
39170         New module 'mbmemcasecmp'.
39171         * lib/mbmemcasecmp.h: New file.
39172         * lib/mbmemcasecmp.c: New file.
39173         * modules/mbmemcasecmp: New file.
39174
39175 2009-03-09  Bruno Haible  <bruno@clisp.org>
39176
39177         Tests for module 'unicase/ulc-casecoll'.
39178         * modules/unicase/ulc-casecoll-tests: New file.
39179         * tests/unicase/test-ulc-casecoll1.sh: New file.
39180         * tests/unicase/test-ulc-casecoll2.sh: New file.
39181         * tests/unicase/test-ulc-casecoll.c: New file.
39182
39183         New module 'unicase/ulc-casecoll'.
39184         * lib/unicase.h (ulc_casecoll): New declaration.
39185         * lib/unicase/ulc-casecoll.c: New file.
39186         * modules/unicase/ulc-casecoll: New file.
39187
39188         New module 'unicase/ulc-casexfrm'.
39189         * lib/unicase.h (ulc_casexfrm): New declaration.
39190         * lib/unicase/ulc-casexfrm.c: New file.
39191         * modules/unicase/ulc-casexfrm: New file.
39192
39193 2009-03-09  Bruno Haible  <bruno@clisp.org>
39194
39195         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39196         invocations.
39197
39198         * m4/mbscasecmp.m4: Remove file.
39199         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39200         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39201
39202         * m4/mbscasestr.m4: Remove file.
39203         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39204         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39205
39206         * m4/mbschr.m4: Remove file.
39207         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39208         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39209
39210         * m4/mbscspn.m4: Remove file.
39211         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39212         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39213
39214         * m4/mbslen.m4: Remove file.
39215         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39216         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39217
39218         * m4/mbsncasecmp.m4: Remove file.
39219         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39220         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39221
39222         * m4/mbsnlen.m4: Remove file.
39223         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39224         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39225
39226         * m4/mbspbrk.m4: Remove file.
39227         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39228         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39229
39230         * m4/mbspcasecmp.m4: Remove file.
39231         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39232         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39233
39234         * m4/mbsrchr.m4: Remove file.
39235         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39236         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39237
39238         * m4/mbssep.m4: Remove file.
39239         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39240         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39241
39242         * m4/mbsspn.m4: Remove file.
39243         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39244         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39245
39246         * m4/mbsstr.m4: Remove file.
39247         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39248         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39249
39250         * m4/mbstok_r.m4: Remove file.
39251         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39252         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39253
39254         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39255
39256         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39257         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39258
39259         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39260
39261 2009-03-08  Bruno Haible  <bruno@clisp.org>
39262
39263         Tests for module 'unicase/ulc-casecmp'.
39264         * modules/unicase/ulc-casecmp-tests: New file.
39265         * tests/unicase/test-ulc-casecmp1.sh: New file.
39266         * tests/unicase/test-ulc-casecmp2.sh: New file.
39267         * tests/unicase/test-ulc-casecmp.c: New file.
39268
39269         New module 'unicase/ulc-casecmp'.
39270         * lib/unicase.h (ulc_casecmp): New declaration.
39271         * lib/unicase/ulc-casecmp.c: New file.
39272         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39273         'const SRC_UNIT *'.
39274         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39275         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39276         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39277         * modules/unicase/ulc-casecmp: New file.
39278
39279         Tests for module 'unicase/u32-is-cased'.
39280         * modules/unicase/u32-is-cased-tests: New file.
39281         * tests/unicase/test-u32-is-cased.c: New file.
39282
39283         Tests for module 'unicase/u16-is-cased'.
39284         * modules/unicase/u16-is-cased-tests: New file.
39285         * tests/unicase/test-u16-is-cased.c: New file.
39286
39287         Tests for module 'unicase/u8-is-cased'.
39288         * modules/unicase/u8-is-cased-tests: New file.
39289         * tests/unicase/test-u8-is-cased.c: New file.
39290         * tests/unicase/test-is-cased.h: New file.
39291
39292         New module 'unicase/u32-is-cased'.
39293         * lib/unicase/u32-is-cased.c: New file.
39294         * modules/unicase/u32-is-cased: New file.
39295
39296         New module 'unicase/u16-is-cased'.
39297         * lib/unicase/u16-is-cased.c: New file.
39298         * modules/unicase/u16-is-cased: New file.
39299
39300         New module 'unicase/u8-is-cased'.
39301         * lib/unicase/u8-is-cased.c: New file.
39302         * lib/unicase/u-is-cased.h: New file.
39303         * modules/unicase/u8-is-cased: New file.
39304
39305         Tests for module 'unicase/u32-is-casefolded'.
39306         * modules/unicase/u32-is-casefolded-tests: New file.
39307         * tests/unicase/test-u32-is-casefolded.c: New file.
39308
39309         Tests for module 'unicase/u16-is-casefolded'.
39310         * modules/unicase/u16-is-casefolded-tests: New file.
39311         * tests/unicase/test-u16-is-casefolded.c: New file.
39312
39313         Tests for module 'unicase/u8-is-casefolded'.
39314         * modules/unicase/u8-is-casefolded-tests: New file.
39315         * tests/unicase/test-u8-is-casefolded.c: New file.
39316         * tests/unicase/test-is-casefolded.h: New file.
39317
39318         New module 'unicase/u32-is-casefolded'.
39319         * lib/unicase/u32-is-casefolded.c: New file.
39320         * modules/unicase/u32-is-casefolded: New file.
39321
39322         New module 'unicase/u16-is-casefolded'.
39323         * lib/unicase/u16-is-casefolded.c: New file.
39324         * modules/unicase/u16-is-casefolded: New file.
39325
39326         New module 'unicase/u8-is-casefolded'.
39327         * lib/unicase/u8-is-casefolded.c: New file.
39328         * modules/unicase/u8-is-casefolded: New file.
39329
39330         Tests for module 'unicase/u32-is-titlecase'.
39331         * modules/unicase/u32-is-titlecase-tests: New file.
39332         * tests/unicase/test-u32-is-titlecase.c: New file.
39333
39334         Tests for module 'unicase/u16-is-titlecase'.
39335         * modules/unicase/u16-is-titlecase-tests: New file.
39336         * tests/unicase/test-u16-is-titlecase.c: New file.
39337
39338         Tests for module 'unicase/u8-is-titlecase'.
39339         * modules/unicase/u8-is-titlecase-tests: New file.
39340         * tests/unicase/test-u8-is-titlecase.c: New file.
39341         * tests/unicase/test-is-titlecase.h: New file.
39342
39343         New module 'unicase/u32-is-titlecase'.
39344         * lib/unicase/u32-is-titlecase.c: New file.
39345         * modules/unicase/u32-is-titlecase: New file.
39346
39347         New module 'unicase/u16-is-titlecase'.
39348         * lib/unicase/u16-is-titlecase.c: New file.
39349         * modules/unicase/u16-is-titlecase: New file.
39350
39351         New module 'unicase/u8-is-titlecase'.
39352         * lib/unicase/u8-is-titlecase.c: New file.
39353         * modules/unicase/u8-is-titlecase: New file.
39354
39355         Tests for module 'unicase/u32-is-lowercase'.
39356         * modules/unicase/u32-is-lowercase-tests: New file.
39357         * tests/unicase/test-u32-is-lowercase.c: New file.
39358
39359         Tests for module 'unicase/u16-is-lowercase'.
39360         * modules/unicase/u16-is-lowercase-tests: New file.
39361         * tests/unicase/test-u16-is-lowercase.c: New file.
39362
39363         Tests for module 'unicase/u8-is-lowercase'.
39364         * modules/unicase/u8-is-lowercase-tests: New file.
39365         * tests/unicase/test-u8-is-lowercase.c: New file.
39366         * tests/unicase/test-is-lowercase.h: New file.
39367
39368         New module 'unicase/u32-is-lowercase'.
39369         * lib/unicase/u32-is-lowercase.c: New file.
39370         * modules/unicase/u32-is-lowercase: New file.
39371
39372         New module 'unicase/u16-is-lowercase'.
39373         * lib/unicase/u16-is-lowercase.c: New file.
39374         * modules/unicase/u16-is-lowercase: New file.
39375
39376         New module 'unicase/u8-is-lowercase'.
39377         * lib/unicase/u8-is-lowercase.c: New file.
39378         * modules/unicase/u8-is-lowercase: New file.
39379
39380         Tests for module 'unicase/u32-is-uppercase'.
39381         * modules/unicase/u32-is-uppercase-tests: New file.
39382         * tests/unicase/test-u32-is-uppercase.c: New file.
39383
39384         Tests for module 'unicase/u16-is-uppercase'.
39385         * modules/unicase/u16-is-uppercase-tests: New file.
39386         * tests/unicase/test-u16-is-uppercase.c: New file.
39387
39388         Tests for module 'unicase/u8-is-uppercase'.
39389         * modules/unicase/u8-is-uppercase-tests: New file.
39390         * tests/unicase/test-u8-is-uppercase.c: New file.
39391         * tests/unicase/test-is-uppercase.h: New file.
39392
39393         New module 'unicase/u32-is-uppercase'.
39394         * lib/unicase/u32-is-uppercase.c: New file.
39395         * modules/unicase/u32-is-uppercase: New file.
39396
39397         New module 'unicase/u16-is-uppercase'.
39398         * lib/unicase/u16-is-uppercase.c: New file.
39399         * modules/unicase/u16-is-uppercase: New file.
39400
39401         New module 'unicase/u8-is-uppercase'.
39402         * lib/unicase/u8-is-uppercase.c: New file.
39403         * modules/unicase/u8-is-uppercase: New file.
39404
39405         New module 'unicase/u32-is-invariant'.
39406         * lib/unicase/u32-is-invariant.c: New file.
39407         * modules/unicase/u32-is-invariant: New file.
39408
39409         New module 'unicase/u16-is-invariant'.
39410         * lib/unicase/u16-is-invariant.c: New file.
39411         * modules/unicase/u16-is-invariant: New file.
39412
39413         New module 'unicase/u8-is-invariant'.
39414         * lib/unicase/u8-is-invariant.c: New file.
39415         * lib/unicase/invariant.h: New file.
39416         * lib/unicase/u-is-invariant.h: New file.
39417         * modules/unicase/u8-is-invariant: New file.
39418
39419         Tests for module 'unicase/u32-casecoll'.
39420         * modules/unicase/u32-casecoll-tests: New file.
39421         * tests/unicase/test-u32-casecoll.c: New file.
39422
39423         Tests for module 'unicase/u16-casecoll'.
39424         * modules/unicase/u16-casecoll-tests: New file.
39425         * tests/unicase/test-u16-casecoll.c: New file.
39426
39427         Tests for module 'unicase/u8-casecoll'.
39428         * modules/unicase/u8-casecoll-tests: New file.
39429         * tests/unicase/test-u8-casecoll.c: New file.
39430
39431         New module 'unicase/u32-casecoll'.
39432         * lib/unicase/u32-casecoll.c: New file.
39433         * modules/unicase/u32-casecoll: New file.
39434
39435         New module 'unicase/u16-casecoll'.
39436         * lib/unicase/u16-casecoll.c: New file.
39437         * modules/unicase/u16-casecoll: New file.
39438
39439         New module 'unicase/u8-casecoll'.
39440         * lib/unicase/u8-casecoll.c: New file.
39441         * lib/unicase/u-casecoll.h: New file.
39442         * modules/unicase/u8-casecoll: New file.
39443
39444         New module 'unicase/u32-casexfrm'.
39445         * lib/unicase/u32-casexfrm.c: New file.
39446         * modules/unicase/u32-casexfrm: New file.
39447
39448         New module 'unicase/u16-casexfrm'.
39449         * lib/unicase/u16-casexfrm.c: New file.
39450         * modules/unicase/u16-casexfrm: New file.
39451
39452         New module 'unicase/u8-casexfrm'.
39453         * lib/unicase/u8-casexfrm.c: New file.
39454         * lib/unicase/u-casexfrm.h: New file.
39455         * modules/unicase/u8-casexfrm: New file.
39456
39457         Tests for module 'unicase/u32-casecmp'.
39458         * modules/unicase/u32-casecmp-tests: New file.
39459         * tests/unicase/test-u32-casecmp.c: New file.
39460
39461         Tests for module 'unicase/u16-casecmp'.
39462         * modules/unicase/u16-casecmp-tests: New file.
39463         * tests/unicase/test-u16-casecmp.c: New file.
39464
39465         Tests for module 'unicase/u8-casecmp'.
39466         * modules/unicase/u8-casecmp-tests: New file.
39467         * tests/unicase/test-u8-casecmp.c: New file.
39468         * tests/unicase/test-casecmp.h: New file.
39469
39470         New module 'unicase/u32-casecmp'.
39471         * lib/unicase/u32-casecmp.c: New file.
39472         * modules/unicase/u32-casecmp: New file.
39473
39474         New module 'unicase/u16-casecmp'.
39475         * lib/unicase/u16-casecmp.c: New file.
39476         * modules/unicase/u16-casecmp: New file.
39477
39478         New module 'unicase/u8-casecmp'.
39479         * lib/unicase/u8-casecmp.c: New file.
39480         * lib/unicase/u-casecmp.h: New file.
39481         * modules/unicase/u8-casecmp: New file.
39482
39483         Tests for module 'unicase/u32-casefold'.
39484         * modules/unicase/u32-casefold-tests: New file.
39485         * tests/unicase/test-u32-casefold.c: New file.
39486
39487         Tests for module 'unicase/u16-casefold'.
39488         * modules/unicase/u16-casefold-tests: New file.
39489         * tests/unicase/test-u16-casefold.c: New file.
39490
39491         Tests for module 'unicase/u8-casefold'.
39492         * modules/unicase/u8-casefold-tests: New file.
39493         * tests/unicase/test-u8-casefold.c: New file.
39494
39495         New module 'unicase/u32-casefold'.
39496         * lib/unicase/u32-casefold.c: New file.
39497         * modules/unicase/u32-casefold: New file.
39498
39499         New module 'unicase/u16-casefold'.
39500         * lib/unicase/u16-casefold.c: New file.
39501         * modules/unicase/u16-casefold: New file.
39502
39503         New module 'unicase/u8-casefold'.
39504         * lib/unicase/u8-casefold.c: New file.
39505         * lib/unicase/u-casefold.h: New file.
39506         * modules/unicase/u8-casefold: New file.
39507
39508         New module 'unicase/tocasefold'.
39509         * lib/unicase/casefold.h: New file.
39510         * lib/unicase/tocasefold.c: New file.
39511         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39512         * modules/unicase/tocasefold: New file.
39513
39514         Tests for module 'unicase/u32-totitle'.
39515         * modules/unicase/u32-totitle-tests: New file.
39516         * tests/unicase/test-u32-totitle.c: New file.
39517
39518         Tests for module 'unicase/u16-totitle'.
39519         * modules/unicase/u16-totitle-tests: New file.
39520         * tests/unicase/test-u16-totitle.c: New file.
39521
39522         Tests for module 'unicase/u8-totitle'.
39523         * modules/unicase/u8-totitle-tests: New file.
39524         * tests/unicase/test-u8-totitle.c: New file.
39525
39526         New module 'unicase/u32-totitle'.
39527         * lib/unicase/u32-totitle.c: New file.
39528         * modules/unicase/u32-totitle: New file.
39529
39530         New module 'unicase/u16-totitle'.
39531         * lib/unicase/u16-totitle.c: New file.
39532         * modules/unicase/u16-totitle: New file.
39533
39534         New module 'unicase/u8-totitle'.
39535         * lib/unicase/u8-totitle.c: New file.
39536         * lib/unicase/u-totitle.h: New file.
39537         * modules/unicase/u8-totitle: New file.
39538
39539         Tests for module 'unicase/u32-tolower'.
39540         * modules/unicase/u32-tolower-tests: New file.
39541         * tests/unicase/test-u32-tolower.c: New file.
39542
39543         Tests for module 'unicase/u16-tolower'.
39544         * modules/unicase/u16-tolower-tests: New file.
39545         * tests/unicase/test-u16-tolower.c: New file.
39546
39547         Tests for module 'unicase/u8-tolower'.
39548         * modules/unicase/u8-tolower-tests: New file.
39549         * tests/unicase/test-u8-tolower.c: New file.
39550
39551         New module 'unicase/u32-tolower'.
39552         * lib/unicase/u32-tolower.c: New file.
39553         * modules/unicase/u32-tolower: New file.
39554
39555         New module 'unicase/u16-tolower'.
39556         * lib/unicase/u16-tolower.c: New file.
39557         * modules/unicase/u16-tolower: New file.
39558
39559         New module 'unicase/u8-tolower'.
39560         * lib/unicase/u8-tolower.c: New file.
39561         * modules/unicase/u8-tolower: New file.
39562
39563         Tests for module 'unicase/u32-toupper'.
39564         * modules/unicase/u32-toupper-tests: New file.
39565         * tests/unicase/test-u32-toupper.c: New file.
39566
39567         Tests for module 'unicase/u16-toupper'.
39568         * modules/unicase/u16-toupper-tests: New file.
39569         * tests/unicase/test-u16-toupper.c: New file.
39570
39571         Tests for module 'unicase/u8-toupper'.
39572         * modules/unicase/u8-toupper-tests: New file.
39573         * tests/unicase/test-u8-toupper.c: New file.
39574
39575         New module 'unicase/u32-toupper'.
39576         * lib/unicase/u32-toupper.c: New file.
39577         * modules/unicase/u32-toupper: New file.
39578
39579         New module 'unicase/u16-toupper'.
39580         * lib/unicase/u16-toupper.c: New file.
39581         * modules/unicase/u16-toupper: New file.
39582
39583         New module 'unicase/u8-toupper'.
39584         * lib/unicase/u8-toupper.c: New file.
39585         * modules/unicase/u8-toupper: New file.
39586
39587         New module 'unicase/u32-casemap'.
39588         * lib/unicase/u32-casemap.c: New file.
39589         * modules/unicase/u32-casemap: New file.
39590
39591         New module 'unicase/u16-casemap'.
39592         * lib/unicase/u16-casemap.c: New file.
39593         * modules/unicase/u16-casemap: New file.
39594
39595         New module 'unicase/u8-casemap'.
39596         * lib/unicase/unicasemap.h: New file.
39597         * lib/unicase/u8-casemap.c: New file.
39598         * lib/unicase/u-casemap.h: New file.
39599         * modules/unicase/u8-casemap: New file.
39600
39601         New module 'unicase/special-casing'.
39602         * lib/unicase/special-casing.h: New file.
39603         * lib/unicase/special-casing.c: New file.
39604         * lib/unicase/special-casing-table.gperf: New file, generated by
39605         gen-uni-tables.c.
39606         * modules/unicase/special-casing: New file.
39607
39608         Tests for module 'unicase/locale-language'.
39609         * modules/unicase/locale-language-tests: New file.
39610         * tests/unicase/test-locale-language.sh: New file.
39611         * tests/unicase/test-locale-language.c: New file.
39612
39613         New module 'unicase/locale-language'.
39614         * lib/unicase/locale-language.c: New file.
39615         * lib/unicase/locale-languages.gperf: New file.
39616         * modules/unicase/locale-language: New file.
39617
39618         Generate more tables for case conversion and case folding.
39619         * lib/gen-uni-tables.c (SCC_*): New enum items.
39620         (struct special_casing_rule): New type.
39621         (casing_rules, num_casing_rules, allocated_casing_rules): New
39622         variables.
39623         (add_casing_rule, fill_casing_rules): New functions.
39624         (struct casefold_rule): New type.
39625         (casefolding_rules, num_casefolding_rules,
39626         allocated_casefolding_rules): New variables.
39627         (fill_casefolding_rules): New function.
39628         (unicode_casefold): New variable.
39629         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39630         sort_casing_rules, output_casing_rules): New functions.
39631         (main): Accept to more arguments: SpecialCasing.txt and
39632         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39633         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39634         Output mapping for casefolding.
39635
39636         * lib/unicase.h: Include stdbool.h, uninorm.h.
39637         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39638         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39639         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39640         arguments.
39641         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39642         resultp arguments.
39643         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39644         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39645         resultp arguments.
39646         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39647         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39648         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39649         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39650         declarations.
39651         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39652
39653 2009-03-08  Bruno Haible  <bruno@clisp.org>
39654
39655         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39656         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39657         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39658         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39659
39660 2009-03-07  Bruno Haible  <bruno@clisp.org>
39661
39662         Adjust u*_normcmp, u*_normcoll API.
39663         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39664         u16_normcoll, u32_normcoll): Change failure conventions.
39665         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39666         errno and return -1.
39667         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39668
39669 2009-03-07  Bruno Haible  <bruno@clisp.org>
39670
39671         Tests for module 'uninorm/u32-normcoll'.
39672         * modules/uninorm/u32-normcoll-tests: New file.
39673         * tests/uninorm/test-u32-normcoll.c: New file.
39674
39675         Tests for module 'uninorm/u16-normcoll'.
39676         * modules/uninorm/u16-normcoll-tests: New file.
39677         * tests/uninorm/test-u16-normcoll.c: New file.
39678
39679         Tests for module 'uninorm/u8-normcoll'.
39680         * modules/uninorm/u8-normcoll-tests: New file.
39681         * tests/uninorm/test-u8-normcoll.c: New file.
39682
39683 2009-03-07  Bruno Haible  <bruno@clisp.org>
39684
39685         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39686         tests/uninorm/test-u32-normcmp.c.
39687         * tests/uninorm/test-u32-normcmp.c: Include it.
39688         (test_nonascii): New function, extracted from main. Add some more
39689         tests.
39690         (main): Invoke test_ascii and test_nonascii.
39691         * modules/uninorm/u32-normcmp-tests (Files): Add
39692         tests/uninorm/test-u32-normcmp.h.
39693         (Depends-on): Remove uninorm/u32-normcmp.
39694
39695         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39696         tests/uninorm/test-u16-normcmp.c.
39697         * tests/uninorm/test-u16-normcmp.c: Include it.
39698         (test_nonascii): New function, extracted from main. Add some more
39699         tests.
39700         (main): Invoke test_ascii and test_nonascii.
39701         * modules/uninorm/u16-normcmp-tests (Files): Add
39702         tests/uninorm/test-u16-normcmp.h.
39703         (Depends-on): Remove uninorm/u16-normcmp.
39704
39705         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39706         tests/uninorm/test-u8-normcmp.c.
39707         * tests/uninorm/test-u8-normcmp.c: Include it.
39708         (test_nonascii): New function, extracted from main. Add some more
39709         tests.
39710         (main): Invoke test_ascii and test_nonascii.
39711         * modules/uninorm/u8-normcmp-tests (Files): Add
39712         tests/uninorm/test-u8-normcmp.h.
39713         (Depends-on): Remove uninorm/u8-normcmp.
39714
39715 2009-03-07  Bruno Haible  <bruno@clisp.org>
39716
39717         New module 'uninorm/u32-normcoll'.
39718         * lib/uninorm/u32-normcoll.c: New file.
39719         * modules/uninorm/u32-normcoll: New file.
39720
39721         New module 'uninorm/u16-normcoll'.
39722         * lib/uninorm/u16-normcoll.c: New file.
39723         * modules/uninorm/u16-normcoll: New file.
39724
39725         New module 'uninorm/u8-normcoll'.
39726         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39727         declarations.
39728         * lib/uninorm/u8-normcoll.c: New file.
39729         * lib/uninorm/u-normcoll.h: New file.
39730         * modules/uninorm/u8-normcoll: New file.
39731
39732         New module 'uninorm/u32-normxfrm'.
39733         * lib/uninorm/u32-normxfrm.c: New file.
39734         * modules/uninorm/u32-normxfrm: New file.
39735
39736         New module 'uninorm/u16-normxfrm'.
39737         * lib/uninorm/u16-normxfrm.c: New file.
39738         * modules/uninorm/u16-normxfrm: New file.
39739
39740         New module 'uninorm/u8-normxfrm'.
39741         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39742         declarations.
39743         * lib/uninorm/u8-normxfrm.c: New file.
39744         * lib/uninorm/u-normxfrm.h: New file.
39745         * modules/uninorm/u8-normxfrm: New file.
39746
39747 2009-03-07  Bruno Haible  <bruno@clisp.org>
39748
39749         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39750         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39751         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39752
39753 2009-03-07  Bruno Haible  <bruno@clisp.org>
39754
39755         New module 'memxfrm'.
39756         * lib/memxfrm.h: New file.
39757         * lib/memxfrm.c: New file.
39758         * modules/memxfrm: New file.
39759
39760 2009-03-07  Bruno Haible  <bruno@clisp.org>
39761
39762         New module 'memcmp2'.
39763         * lib/memcmp2.h: New file.
39764         * lib/memcmp2.c: New file.
39765         * modules/memcmp2: New file.
39766
39767 2009-03-07  Bruno Haible  <bruno@clisp.org>
39768
39769         Tests for module 'uninorm/decomposing-form'.
39770         * modules/uninorm/decomposing-form-tests: New file.
39771         * tests/uninorm/test-decomposing-form.c: New file.
39772
39773         New module 'uninorm/decomposing-form'.
39774         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39775         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39776         Add 'decomposing_variant' field.
39777         * lib/uninorm/decomposing-form.c: New file.
39778         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39779         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39780         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39781         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39782         * modules/uninorm/decomposing-form: New file.
39783         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39784         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39785
39786 2009-03-07  Bruno Haible  <bruno@clisp.org>
39787
39788         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39789         strings.
39790
39791 2009-03-06  Bruno Haible  <bruno@clisp.org>
39792
39793         Tests for module 'uninorm/u32-normcmp'.
39794         * tests/uninorm/test-u32-normcmp.c: New file.
39795         * modules/uninorm/u32-normcmp-tests: New file.
39796
39797         Tests for module 'uninorm/u16-normcmp'.
39798         * tests/uninorm/test-u16-normcmp.c: New file.
39799         * modules/uninorm/u16-normcmp-tests: New file.
39800
39801         Tests for module 'uninorm/u8-normcmp'.
39802         * tests/uninorm/test-u8-normcmp.c: New file.
39803         * modules/uninorm/u8-normcmp-tests: New file.
39804
39805         New module 'uninorm/u32-normcmp'.
39806         * lib/uninorm/u32-normcmp.c: New file.
39807         * modules/uninorm/u32-normcmp: New file.
39808
39809         New module 'uninorm/u16-normcmp'.
39810         * lib/uninorm/u16-normcmp.c: New file.
39811         * modules/uninorm/u16-normcmp: New file.
39812
39813         New module 'uninorm/u8-normcmp'.
39814         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39815         declarations.
39816         * lib/uninorm/u8-normcmp.c: New file.
39817         * lib/uninorm/u-normcmp.h: New file.
39818         * modules/uninorm/u8-normcmp: New file.
39819
39820 2009-03-06  Bruno Haible  <bruno@clisp.org>
39821
39822         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39823         Reported by Eric Blake.
39824
39825 2009-03-06  Eric Blake  <ebb9@byu.net>
39826             Bruno Haible  <bruno@clisp.org>
39827
39828         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39829         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39830         condition.
39831         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39832         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39833         condition.
39834         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39835
39836 2009-03-06  Eric Blake  <ebb9@byu.net>
39837
39838         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39839         to avoid compiler warnings.
39840         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39841
39842 2009-03-05  Bruno Haible  <bruno@clisp.org>
39843
39844         * tests/test-ftell.c (main): Disable test beyond end of file on
39845         FreeMiNT.
39846         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39847
39848 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39849
39850         * lib/filevercmp.c: Move hidden files up in ordering.
39851         * tests/test-filevercmp.c: Add tests for hidden files.
39852
39853 2009-03-04  Bruno Haible  <bruno@clisp.org>
39854
39855         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39856         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39857         AM_CFLAGS.
39858         Reported by Simon Josefsson.
39859
39860 2009-03-03  Bruno Haible  <bruno@clisp.org>
39861
39862         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39863         Reported by Simon Josefsson.
39864
39865         * doc/ld-version-script.texi: Update node reference.
39866
39867 2009-03-03  Bruno Haible  <bruno@clisp.org>
39868
39869         * modules/visibility (License): Change to 'unlimited'.
39870         Suggested by Simon Josefsson.
39871
39872 2009-03-03  Jim Meyering  <meyering@redhat.com>
39873
39874         unlinkdir: cannot_unlink_dir may modify process state
39875         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39876         it's neither thread-safe nor appropriate for use in a library.
39877
39878 2009-03-03  Eric Blake  <ebb9@byu.net>
39879
39880         test-closein: silence test under Darwin
39881         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39882         care if it dies from EPIPE or EBADF.
39883
39884 2009-03-03  Bruno Haible  <bruno@clisp.org>
39885
39886         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39887         earlier.
39888         * doc/visibility.texi: Fix @node and @section.
39889
39890 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39891
39892         * doc/gnulib.texi: Link to sections for ld version script and
39893         visibility.
39894         * doc/visibility.texi: Add @node and @section.
39895         * modules/ld-version-script: New module.
39896         * m4/ld-version-script.m4: New file.
39897         * doc/ld-version-script.texi: New file.
39898
39899 2009-03-02  David Lutterkort  <lutter@redhat.com>
39900
39901         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39902         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39903
39904 2009-03-02  Bruno Haible  <bruno@clisp.org>
39905
39906         * doc/visibility.texi: Mention libtool's -export-symbols option.
39907
39908 2009-03-02  Jim Meyering  <meyering@redhat.com>
39909
39910         announce-gen: new option: --no-print-checksums
39911         * build-aux/announce-gen (usage): Describe it.
39912         (print_checksums): Print a newline here, not in the [*] footnote.
39913         (main): Honor it.
39914
39915 2009-03-01  Bruno Haible  <bruno@clisp.org>
39916
39917         Use socklen_t in the native Windows replacements prototypes.
39918         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39919         instead of 'int'.
39920         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39921         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39922         * modules/getsockopt (Depends-on): Add socklen.
39923         * modules/setsockopt (Depends-on): Add socklen.
39924
39925 2009-03-01  Bruno Haible  <bruno@clisp.org>
39926
39927         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
39928         least 4.2.
39929
39930 2009-03-01  Eric Blake  <ebb9@byu.net>
39931             Bruno Haible  <bruno@clisp.org>
39932
39933         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
39934         error messages.
39935         * lib/wait-process.c (wait_subprocess): Omit error message about
39936         deadly signal sent to the child of termsigp != NULL.
39937
39938 2009-03-01  Eric Blake  <ebb9@byu.net>
39939
39940         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
39941
39942 2009-03-01  Bruno Haible  <bruno@clisp.org>
39943
39944         Avoid a gcc warning.
39945         * tests/test-sched.c (b): Make global.
39946         Reported by Eric Blake.
39947
39948 2009-01-19  Martin Lambers  <marlam@marlam.de>
39949
39950         Provide POSIX semantics for socket timeout options on W32.
39951         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
39952         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
39953         * modules/setsockopt: Depend on sys_time module for struct timeval.
39954         * modules/getsockopt: Depend on sys_time module for struct timeval.
39955
39956 2009-03-01  Simon Josefsson  <simon@josefsson.org>
39957
39958         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
39959         __USE_GNU, for consistency with netdb.in.h.
39960         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39961
39962 2009-03-01  Bruno Haible  <bruno@clisp.org>
39963
39964         More support for FreeMiNT.
39965         * lib/fseeko.c (rpl_fseeko): Complete last commit.
39966         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39967
39968 2009-03-01  Bruno Haible  <bruno@clisp.org>
39969
39970         More support for FreeMiNT.
39971         * lib/fpurge.c (fpurge): Correct last commit.
39972         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39973
39974 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39975
39976         Fix unportable awk script in vc-list-files.
39977         * build-aux/vc-list-files: In the replacement awk script, use
39978         substr with a second argument of 1, not zero.
39979         Report by Simon Josefsson.
39980
39981 2009-02-28  Bruno Haible  <bruno@clisp.org>
39982
39983         More support for FreeMiNT.
39984         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
39985         to FreeMiNT today.
39986         * lib/fwriting.c (fwriting): Likewise.
39987         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
39988
39989 2009-02-28  Bruno Haible  <bruno@clisp.org>
39990
39991         * tests/test-freadseek.c (main): Disable test beyond end of file on
39992         FreeMiNT.
39993         * tests/test-ftello.c (main): Likewise.
39994         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39995
39996 2009-02-28  Bruno Haible  <bruno@clisp.org>
39997
39998         Add tentative support for FreeMiNT.
39999         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40000         * lib/fpurge.c (fpurge): Likewise.
40001         * lib/freadable.c (freadable): Likewise.
40002         * lib/freading.c (freading): Likewise.
40003         * lib/freadptr.c (freadptr): Likewise.
40004         * lib/freadseek.c (freadptrinc): Likewise.
40005         * lib/fseeko.c (rpl_fseeko): Likewise.
40006         * lib/fseterr.c (fseterr): Likewise.
40007         * lib/fwritable.c (fwritable): Likewise.
40008         * lib/fwriting.c (fwriting): Likewise.
40009         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40010         Hourihane.
40011         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40012
40013 2009-02-28  Bruno Haible  <bruno@clisp.org>
40014
40015         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40016         SIGCHLD.
40017         Reported by Jim Meyering.
40018
40019 2009-02-28  Bruno Haible  <bruno@clisp.org>
40020
40021         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40022         Mention the results of these tests on various platforms.
40023         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40024         order.
40025         * doc/posix-functions/printf.texi: Likewise.
40026         * doc/posix-functions/snprintf.texi: Likewise.
40027         * doc/posix-functions/sprintf.texi: Likewise.
40028         * doc/posix-functions/vfprintf.texi: Likewise.
40029         * doc/posix-functions/vprintf.texi: Likewise.
40030         * doc/posix-functions/vsnprintf.texi: Likewise.
40031         * doc/posix-functions/vsprintf.texi: Likewise.
40032         * doc/glibc-functions/obstack_printf.texi: Likewise.
40033         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40034
40035 2009-02-28  Bruno Haible  <bruno@clisp.org>
40036
40037         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40038         Reported by Loïc Minier <lool@dooz.org>.
40039
40040 2009-02-27  Bruno Haible  <bruno@clisp.org>
40041
40042         * gnulib-tool (func_import): Make the sed expression used to create the
40043         sed script for updating the .gitignore file POSIX compliant.
40044         Reported by Eric Blake.
40045
40046 2009-02-27  Bruno Haible  <bruno@clisp.org>
40047
40048         * gnulib-tool (sed): Don't alias as "sed --posix".
40049         Reported by Eric Blake.
40050
40051 2009-02-27  Bruno Haible  <bruno@clisp.org>
40052
40053         Avoid test link errors.
40054         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40055         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40056         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40057         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40059
40060 2009-02-27  Bruno Haible  <bruno@clisp.org>
40061
40062         Avoid spurious "(cached)" in configure output.
40063         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40064         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40065         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40066         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40067         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40068         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40069         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40070         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40071         Reported by Eric Blake.
40072
40073 2009-02-27  Eric Blake  <ebb9@byu.net>
40074
40075         printf: fix regression in previous patch
40076         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40077
40078 2009-02-27  Bruno Haible  <bruno@clisp.org>
40079
40080         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40081         value.
40082         * lib/stdint.in.h: Likewise.
40083         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40084
40085 2009-02-27  Eric Blake  <ebb9@byu.net>
40086
40087         doc: mention more functions added in cygwin 1.7.0
40088         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40089         addition.
40090         * doc/posix-functions/open_wmemstream.texi: Likewise.
40091         * doc/posix-functions/wcsnlen.texi: Likewise.
40092         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40093         * doc/posix-functions/wcstod.texi: Likewise.
40094         * doc/posix-functions/wcstof.texi: Likewise.
40095         * doc/posix-functions/wcstoimax.texi: Likewise.
40096         * doc/posix-functions/wcstok.texi: Likewise.
40097         * doc/posix-functions/wcstoumax.texi: Likewise.
40098
40099         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40100         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40101         * doc/posix-functions/fprintf.texi: Update.
40102         * doc/posix-functions/printf.texi: Update.
40103         * doc/posix-functions/snprintf.texi: Update.
40104         * doc/posix-functions/sprintf.texi: Update.
40105         * doc/posix-functions/vfprintf.texi: Update.
40106         * doc/posix-functions/vprintf.texi: Update.
40107         * doc/posix-functions/vsnprintf.texi: Update.
40108         * doc/posix-functions/vsprintf.texi: Update.
40109         * doc/glibc-functions/obstack_printf.texi: Update.
40110         * doc/glibc-functions/obstack_vprintf.texi: Update.
40111
40112 2009-02-26  Eric Blake  <ebb9@byu.net>
40113
40114         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40115         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40116         compilation bug by using runtime conversion.
40117         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40118         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40119         * modules/ceill-tests (Files): Use nan.h.
40120         * modules/floorl-tests (Files): Likewise.
40121         * modules/frexpl-tests (Files): Likewise.
40122         * modules/isnanl-tests (Files): Likewise.
40123         * modules/ldexpl-tests (Files): Likewise.
40124         * modules/roundl-tests (Files): Likewise.
40125         * modules/truncl-tests (Files): Likewise.
40126         * tests/test-ceill.c (main): Use a working NaN.
40127         * tests/test-floorl.c (main): Likewise.
40128         * tests/test-frexpl.c (main): Likewise.
40129         * tests/test-isnan.c (test_long_double): Likewise.
40130         * tests/test-isnanl.h (main): Likewise.
40131         * tests/test-ldexpl.h (main): Likewise.
40132         * tests/test-roundl.h (main): Likewise.
40133         * tests/test-truncl.h (main): Likewise.
40134         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40135
40136 2009-02-26  Eric Blake  <ebb9@byu.net>
40137             Bruno Haible  <bruno@clisp.org>
40138
40139         Work around a *printf bug with %ls on Solaris.
40140         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40141         precision is specified, sprintf stops converting the wide string
40142         argument when the number of bytes that have been produced by this
40143         conversion equals or exceeds the precision.
40144         * doc/posix-functions/fprintf.texi: Update.
40145         * doc/posix-functions/printf.texi: Update.
40146         * doc/posix-functions/snprintf.texi: Update.
40147         * doc/posix-functions/sprintf.texi: Update.
40148         * doc/posix-functions/vfprintf.texi: Update.
40149         * doc/posix-functions/vprintf.texi: Update.
40150         * doc/posix-functions/vsnprintf.texi: Update.
40151         * doc/posix-functions/vsprintf.texi: Update.
40152         * doc/glibc-functions/obstack_printf.texi: Update.
40153         * doc/glibc-functions/obstack_vprintf.texi: Update.
40154
40155 2009-02-26  Eric Blake  <ebb9@byu.net>
40156
40157         stdlib: favor compiler check of random.h
40158         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40159         to avoid an ObjC random.h installed by Swarm.
40160
40161 2009-02-26  Bruno Haible  <bruno@clisp.org>
40162
40163         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40164         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40165         Reported by Gary V. Vaughan <gary@gnu.org>.
40166
40167 2009-02-26  Bruno Haible  <bruno@clisp.org>
40168
40169         Fix *printf behaviour regarding the %ls directive.
40170         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40171         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40172         NEED_PRINTF_DIRECTIVE_LS.
40173         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40174         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40175         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40176         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40177         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40178         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40179         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40180         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40181         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40182         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40183         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40184         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40185         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40186         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40187         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40188         * doc/posix-functions/fprintf.texi: Update.
40189         * doc/posix-functions/printf.texi: Update.
40190         * doc/posix-functions/snprintf.texi: Update.
40191         * doc/posix-functions/sprintf.texi: Update.
40192         * doc/posix-functions/vfprintf.texi: Update.
40193         * doc/posix-functions/vprintf.texi: Update.
40194         * doc/posix-functions/vsnprintf.texi: Update.
40195         * doc/posix-functions/vsprintf.texi: Update.
40196         * doc/glibc-functions/obstack_printf.texi: Update.
40197         * doc/glibc-functions/obstack_vprintf.texi: Update.
40198         Reported by Eric Blake.
40199
40200 2009-02-25  Bruno Haible  <bruno@clisp.org>
40201
40202         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40203         with known value.
40204         Reported by Gary V. Vaughan <gary@gnu.org>.
40205
40206 2009-02-25  Bruno Haible  <bruno@clisp.org>
40207
40208         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40209         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40210         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40211         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40212         Reported by Gary V. Vaughan <gary@gnu.org>.
40213
40214 2009-02-25  Bruno Haible  <bruno@clisp.org>
40215
40216         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40217         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40218         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40219         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40220         Reported by Gary V. Vaughan <gary@gnu.org>.
40221
40222 2009-02-25  Eric Blake  <ebb9@byu.net>
40223
40224         tests: skip fseek/ftell tests if ungetc is broken
40225         * m4/ungetc.m4: New file.
40226         * modules/fseek-tests: Split test, so ungetc dependency is
40227         separate from rest of test.
40228         * modules/fseeko-tests: Likewise.
40229         * modules/ftell-tests: Likewise.
40230         * modules/ftello-tests: Likewise.
40231         * tests/test-fseek.c (main): Isolate ungetc dependency.
40232         * tests/test-fseeko.c (main): Likewise.
40233         * tests/test-ftell.c (main): Likewise.
40234         * tests/test-ftello.c (main): Likewise.
40235         * tests/test-fseek2.sh: New file.
40236         * tests/test-fseeko2.sh: Likewise.
40237         * tests/test-ftell2.sh: Likewise.
40238         * tests/test-ftello2.sh: Likewise.
40239
40240 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40241
40242         test-getaddrinfo: fix usage of skip return code 77
40243         * tests/test-gettaddrinfo.c: Return skip code 77 only
40244         for first occurance of skip (4x77 is not 77)
40245
40246 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40247
40248         strtod: avoid C99 decl-after-statement
40249         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40250
40251 2009-02-24  Eric Blake  <ebb9@byu.net>
40252
40253         strtod: detect HP-UX 11.31 bug
40254         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40255         Reported by Gary V. Vaughan.
40256
40257 2009-02-23  Bruno Haible  <bruno@clisp.org>
40258
40259         Fix invalid read past end of memory block.
40260         * lib/vasnprintf.c (DCHAR_SET): Define.
40261         (local_wcslen): Define only when needed.
40262         (local_strnlen, local_wcsnlen): New functions.
40263         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40264         directives that involve a conversion ourselves.
40265         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40266         wcsnlen, mbrtowc, wcrtomb.
40267         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40268         * tests/test-vasprintf-posix.c (test_function): Likewise.
40269         * tests/test-snprintf-posix.h (test_function): Likewise.
40270         * tests/test-sprintf-posix.h (test_function): Likewise.
40271         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40272
40273 2009-02-22  Bruno Haible  <bruno@clisp.org>
40274
40275         Implement new clarified decomposition of Hangul syllables.
40276         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40277         of type LTV, return only a pairwise decomposition.
40278         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40279         Likewise.
40280         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40281         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40282         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40283
40284 2009-02-22  Bruno Haible  <bruno@clisp.org>
40285
40286         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40287         zero-length results and shrink excess allocated memory.
40288         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40289         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40290         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40291         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40292         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40293         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40294         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40295         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40296         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40297         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40298         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40299         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40300
40301 2009-02-21  Bruno Haible  <bruno@clisp.org>
40302
40303         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40304         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40305         spaces after a period. Put a space between a macro name and its
40306         argument list. Trivial rewordings.
40307         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40308         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40309         (main): Return 0 explicitly.
40310
40311 2009-02-21  Bruno Haible  <bruno@clisp.org>
40312
40313         Tests for module 'uninorm/filter'.
40314         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40315         * modules/uninorm/filter-tests: New file.
40316
40317         New module 'uninorm/filter'.
40318         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40319         uninorm_filter_flush, uninorm_filter_free): New declarations.
40320         * lib/uninorm/uninorm-filter.c: New file.
40321         * modules/uninorm/filter: New file.
40322
40323 2009-02-21  Bruno Haible  <bruno@clisp.org>
40324
40325         Tests for module 'uninorm/nfkc'.
40326         * tests/uninorm/test-nfkc.c: New file.
40327         * tests/uninorm/test-u8-nfkc.c: New file.
40328         * tests/uninorm/test-u16-nfkc.c: New file.
40329         * tests/uninorm/test-u32-nfkc.c: New file.
40330         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40331         * tests/uninorm/test-u32-nfkc-big.c: New file.
40332         * modules/uninorm/nfkc-tests: New file.
40333
40334         New module 'uninorm/nfkc'.
40335         * lib/uninorm/nfkc.c: New file.
40336         * modules/uninorm/nfkc: New file.
40337
40338         Tests for module 'uninorm/nfkd'.
40339         * tests/uninorm/test-nfkd.c: New file.
40340         * tests/uninorm/test-u8-nfkd.c: New file.
40341         * tests/uninorm/test-u16-nfkd.c: New file.
40342         * tests/uninorm/test-u32-nfkd.c: New file.
40343         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40344         * tests/uninorm/test-u32-nfkd-big.c: New file.
40345         * modules/uninorm/nfkd-tests: New file.
40346
40347         New module 'uninorm/nfkd'.
40348         * lib/uninorm/nfkd.c: New file.
40349         * modules/uninorm/nfkd: New file.
40350
40351         Tests for module 'uninorm/nfc'.
40352         * tests/uninorm/test-nfc.c: New file.
40353         * tests/uninorm/test-u8-nfc.c: New file.
40354         * tests/uninorm/test-u16-nfc.c: New file.
40355         * tests/uninorm/test-u32-nfc.c: New file.
40356         * tests/uninorm/test-u32-nfc-big.sh: New file.
40357         * tests/uninorm/test-u32-nfc-big.c: New file.
40358         * modules/uninorm/nfc-tests: New file.
40359
40360         New module 'uninorm/nfc'.
40361         * lib/uninorm/nfc.c: New file.
40362         * modules/uninorm/nfc: New file.
40363
40364         Tests for module 'uninorm/nfd'.
40365         * tests/uninorm/test-nfd.c: New file.
40366         * tests/uninorm/test-u8-nfd.c: New file.
40367         * tests/uninorm/test-u16-nfd.c: New file.
40368         * tests/uninorm/test-u32-nfd.c: New file.
40369         * tests/uninorm/test-u32-nfd-big.sh: New file.
40370         * tests/uninorm/test-u32-nfd-big.c: New file.
40371         * tests/uninorm/test-u32-normalize-big.h: New file.
40372         * tests/uninorm/test-u32-normalize-big.c: New file.
40373         * tests/uninorm/NormalizationTest.txt: New file, created from
40374         Unicode 5.1.0 NormalizationTest.txt.
40375         * modules/uninorm/nfd-tests: New file.
40376
40377         New module 'uninorm/nfd'.
40378         * lib/uninorm/nfd.c: New file.
40379         * modules/uninorm/nfd: New file.
40380
40381         New module 'uninorm/u32-normalize'.
40382         * lib/uninorm/u32-normalize.c: New file.
40383         * modules/uninorm/u32-normalize: New file.
40384
40385         New module 'uninorm/u16-normalize'.
40386         * lib/uninorm/u16-normalize.c: New file.
40387         * modules/uninorm/u16-normalize: New file.
40388
40389         New module 'uninorm/u8-normalize'.
40390         * lib/uninorm/u8-normalize.c: New file.
40391         * lib/uninorm/normalize-internal.h: New file.
40392         * lib/uninorm/u-normalize-internal.h: New file.
40393         * modules/uninorm/u8-normalize: New file.
40394
40395         New module 'uninorm/decompose-internal'.
40396         * lib/uninorm/decompose-internal.c: New file.
40397         * modules/uninorm/decompose-internal: New file.
40398
40399         Tests for module 'uninorm/composition'.
40400         * tests/uninorm/test-composition.c: New file.
40401         * modules/uninorm/composition-tests: New file.
40402
40403         New module 'uninorm/composition'.
40404         * lib/uninorm/composition.c: New file.
40405         * lib/uninorm/composition-table.gperf: New file, generated by
40406         gen-uni-tables.
40407         * modules/uninorm/composition: New file.
40408
40409         Tests for module 'uninorm/compat-decomposition'.
40410         * tests/uninorm/test-compat-decomposition.c: New file.
40411         * modules/uninorm/compat-decomposition-tests: New file.
40412
40413         New module 'uninorm/compat-decomposition'.
40414         * lib/uninorm/decompose-internal.h: New file.
40415         * lib/uninorm/compat-decomposition.c: New file.
40416         * modules/uninorm/compat-decomposition: New file.
40417
40418         Tests for module 'uninorm/canonical-decomposition'.
40419         * tests/uninorm/test-canonical-decomposition.c: New file.
40420         * modules/uninorm/canonical-decomposition-tests: New file.
40421
40422         New module 'uninorm/canonical-decomposition'.
40423         * lib/uninorm/canonical-decomposition.c: New file.
40424         * modules/uninorm/canonical-decomposition: New file.
40425
40426         Tests for module 'uninorm/decomposition'.
40427         * tests/uninorm/test-decomposition.c: New file.
40428         * modules/uninorm/decomposition-tests: New file.
40429
40430         New module 'uninorm/decomposition'.
40431         * lib/uninorm/decomposition.c: New file.
40432         * modules/uninorm/decomposition: New file.
40433
40434         New module 'uninorm/decomposition-table'.
40435         * lib/uninorm/decomposition-table.h: New file.
40436         * lib/uninorm/decomposition-table.c: New file.
40437         * lib/uninorm/decomposition-table1.h: New file, generated by
40438         gen-uni-tables.
40439         * lib/uninorm/decomposition-table2.h: New file, generated by
40440         gen-uni-tables.
40441         * modules/uninorm/decomposition-table: New file.
40442
40443         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40444         (UC_DECOMP_*): New enumeration items.
40445         (get_decomposition): New function.
40446         (struct decomp_table): New type.
40447         (output_decomposition, output_decomposition_tables): New functions.
40448         (unicode_composition_exclusions): New variable.
40449         (fill_composition_exclusions, debug_output_composition_tables): New
40450         functions.
40451         (main): Accept one more argument. Invoke fill_composition_exclusions.
40452         Output decomposition and composition tables.
40453
40454         New module 'uninorm/base'.
40455         * lib/uninorm.h: New file.
40456         * lib/unictype.h: Update comment.
40457         * modules/uninorm/base: New file.
40458
40459 2009-02-21  David Lutterkort  <lutter@redhat.com>
40460
40461         Tests for module 'safe-alloc'.
40462         * tests/test-safe-alloc.c: New file.
40463         * modules/safe-alloc-tests: New file.
40464
40465         New module 'safe-alloc'.
40466         * lib/safe-alloc.h: New file.
40467         * lib/safe-alloc.c: New file.
40468         * m4/safe-alloc.m4: New file.
40469         * modules/safe-alloc: New file.
40470         * doc/safe-alloc.texi: New file.
40471         * doc/gnulib.texi: Include it.
40472         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40473         safe-alloc.
40474
40475 2009-02-18  Bruno Haible  <bruno@clisp.org>
40476
40477         Fix link error on non-glibc systems.
40478         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40479         variable.
40480         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40481
40482 2009-02-18  Jim Meyering  <meyering@redhat.com>
40483
40484         fts: avoid used-uninitialized error due to recent change
40485         * lib/fts.c (fts_read): Guard uses of the new member,
40486         parent->fts_n_dirs_remaining, since it's not relevant for
40487         the parent of a directory specified on the command-line.
40488
40489 2009-02-17  James Youngman  <jay@gnu.org>
40490             Bruno Haible  <bruno@clisp.org>
40491
40492         * m4/include_next.m4: Reformulate comment.
40493
40494 2009-02-16  Jim Meyering  <meyering@redhat.com>
40495
40496         fts: add #if guards so that the fts_lgpl module still builds
40497         * lib/fts.c: Guard just-added hash-table-using parts with
40498         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40499         Reported by Simon Josefsson.
40500
40501 2009-02-15  Bruno Haible  <bruno@clisp.org>
40502
40503         * modules/array-mergesort-tests: New file.
40504         * tests/test-array-mergesort.c: New file.
40505
40506         New module 'array-mergesort'.
40507         * modules/array-mergesort: New file.
40508         * lib/array-mergesort.h: New file.
40509
40510 2009-02-15  Bruno Haible  <bruno@clisp.org>
40511
40512         Fix 2009-02-07 commit.
40513         * lib/gen-uni-tables.c (output_predicate, output_category,
40514         output_combclass, output_bidi_category, output_decimal_digit,
40515         output_digit, output_numeric, output_mirror, output_scripts,
40516         output_ident_category, output_simple_mapping): Fix format directives.
40517         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40518
40519 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40520
40521         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40522         fixes are available from IBM.
40523
40524 2009-02-13  Jim Meyering  <meyering@redhat.com>
40525
40526         fts: arrange not to stat non-directories in more cases
40527         This makes GNU find (when it doesn't need to stat each file)
40528         *much* more efficient at traversing reiserfs file systems.
40529         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40530         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40531         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40532         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40533         (leaf_optimization_applies): New function.
40534         (LCO_hash, LCO_compare): New helper functions.
40535         (link_count_optimize_ok): New function.
40536         (fts_stat): Initialize new member (if dir).
40537         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40538         we've just stat'ed a directory.  Skip the stat call when possible.
40539         ---
40540         Note this AFS-related exchange:
40541         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40542         and note find's pioctl call in find/fstype.c.
40543         But that is necessary only if you want to enable the
40544         optimization for AFS, and for now, I don't.
40545
40546         fts: move a function definition "up" (no semantic change)
40547         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40548         "up" to precede upcoming use of a related function.
40549
40550 2009-02-11  Jim Meyering  <meyering@redhat.com>
40551
40552         fts: correct internal computation of nlinks (optimization-related)
40553         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40554         whether the current entry is a directory, so don't test it.
40555
40556 2009-02-10  Bruno Haible  <bruno@clisp.org>
40557
40558         Tests for module 'uniwbrk/ulc-wordbreaks'.
40559         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40560         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40561         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40562
40563         Tests for module 'uniwbrk/u32-wordbreaks'.
40564         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40565         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40566
40567         Tests for module 'uniwbrk/u16-wordbreaks'.
40568         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40569         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40570
40571         Tests for module 'uniwbrk/u8-wordbreaks'.
40572         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40573         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40574
40575 2009-02-10  Bruno Haible  <bruno@clisp.org>
40576
40577         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40578         property.
40579         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40580         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40581         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40582
40583 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40584
40585         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40586         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40587
40588 2009-02-10  Bruno Haible  <bruno@clisp.org>
40589
40590         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40591         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40592         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40593         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40594         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40595         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40596
40597 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40598
40599         * lib/sockets.h (gl_fd_to_handle): New function.
40600
40601         * tests/test-sockets.c: Call gl_fd_to_handle.
40602
40603 2009-02-09  Bruno Haible  <bruno@clisp.org>
40604
40605         * doc/havelib.texi: Document the conventions on bi-arch systems.
40606
40607 2009-02-08  Bruno Haible  <bruno@clisp.org>
40608
40609         Document the AC_LIB_LINKFLAGS macro.
40610         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40611         * doc/gnulib.texi: Include it.
40612
40613 2009-02-08  Bruno Haible  <bruno@clisp.org>
40614
40615         Fix wrong order of sections, compared to TOC.
40616         * doc/gnulib.texi: Include relocatable-maint.texi after the
40617         "Regular expressions" node, not before.
40618
40619 2009-02-08  Bruno Haible  <bruno@clisp.org>
40620
40621         Tests for module 'unicase/totitle'.
40622         * modules/unicase/totitle-tests: New file.
40623
40624         Tests for module 'unicase/tolower'.
40625         * modules/unicase/tolower-tests: New file.
40626
40627         Tests for module 'unicase/toupper'.
40628         * modules/unicase/toupper-tests: New file.
40629         * tests/unicase/test-mapping-part1.h: New file.
40630         * tests/unicase/test-mapping-part2.h: New file.
40631
40632         New module 'unicase/totitle'.
40633         * modules/unicase/totitle: New file.
40634         * lib/unicase/totitle.c: New file.
40635
40636         New module 'unicase/tolower'.
40637         * modules/unicase/tolower: New file.
40638         * lib/unicase/tolower.c: New file.
40639
40640         New module 'unicase/toupper'.
40641         * modules/unicase/toupper: New file.
40642         * lib/unicase/toupper.c: New file.
40643         * lib/unicase/simple-mapping.h: New file.
40644
40645         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40646         (mapping_table): New structure.
40647         (output_simple_mapping): New function.
40648         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40649         * modules/gen-uni-tables (Description): Update.
40650         * lib/unicase/toupper.h: New file, automatically generated by
40651         gen-uni-tables.
40652         * lib/unicase/tolower.h: New file, automatically generated by
40653         gen-uni-tables.
40654         * lib/unicase/totitle.h: New file, automatically generated by
40655         gen-uni-tables.
40656         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40657         gen-uni-tables.
40658         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40659         gen-uni-tables.
40660         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40661         gen-uni-tables.
40662
40663         New module 'unicase/base'.
40664         * modules/unicase/base: New file.
40665         * lib/unicase.h: New file.
40666
40667 2009-02-08  Bruno Haible  <bruno@clisp.org>
40668
40669         New module 'uniwbrk/ulc-wordbreaks'.
40670         * modules/uniwbrk/ulc-wordbreaks: New file.
40671         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40672
40673         New module 'uniwbrk/u32-wordbreaks'.
40674         * modules/uniwbrk/u32-wordbreaks: New file.
40675         * lib/uniwbrk/u32-wordbreaks.c: New file.
40676
40677         New module 'uniwbrk/u16-wordbreaks'.
40678         * modules/uniwbrk/u16-wordbreaks: New file.
40679         * lib/uniwbrk/u16-wordbreaks.c: New file.
40680
40681         New module 'uniwbrk/u8-wordbreaks'.
40682         * modules/uniwbrk/u8-wordbreaks: New file.
40683         * lib/uniwbrk/u8-wordbreaks.c: New file.
40684         * lib/uniwbrk/u-wordbreaks.h: New file.
40685
40686         New module 'uniwbrk/table'.
40687         * modules/uniwbrk/table: New file.
40688         * lib/uniwbrk/wbrktable.h: New file.
40689         * lib/uniwbrk/wbrktable.c: New file.
40690
40691         New module 'uniwbrk/wordbreak-property'.
40692         * modules/uniwbrk/wordbreak-property: New file.
40693         * lib/uniwbrk/wordbreak-property.c: New file.
40694
40695         * lib/gen-uni-tables.c (WBP_*): New enum items.
40696         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40697         (unicode_org_wbp): New variable.
40698         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40699         New functions.
40700         (wbp_table): New structure.
40701         (output_wbp, output_wbrk_tables): New functions.
40702         (main): Accept additional argument. Invoke fill_org_wbp,
40703         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40704         output_wbrk_tables.
40705         * modules/gen-uni-tables (Description): Update.
40706         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40707         gen-uni-tables.
40708
40709         New module 'uniwbrk/base'.
40710         * modules/uniwbrk/base: New file.
40711         * lib/uniwbrk.h: New file.
40712
40713 2009-02-08  Bruno Haible  <bruno@clisp.org>
40714
40715         Update to Unicode 5.1.0.
40716         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40717         U+2185..U+2188.
40718         (is_property_default_ignorable_code_point): Don't include characters
40719         of category Cc or Cs and not-a-characters.
40720         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40721         U+0D79, U+109E, U+109F, U+A60C.
40722         * lib/unictype/bidi_of.h: Regenerated.
40723         * lib/unictype/blocks.h: Regenerated.
40724         * lib/unictype/categ_C.h: Regenerated.
40725         * lib/unictype/categ_Cf.h: Regenerated.
40726         * lib/unictype/categ_Cn.h: Regenerated.
40727         * lib/unictype/categ_L.h: Regenerated.
40728         * lib/unictype/categ_Ll.h: Regenerated.
40729         * lib/unictype/categ_Lm.h: Regenerated.
40730         * lib/unictype/categ_Lo.h: Regenerated.
40731         * lib/unictype/categ_Lu.h: Regenerated.
40732         * lib/unictype/categ_M.h: Regenerated.
40733         * lib/unictype/categ_Mc.h: Regenerated.
40734         * lib/unictype/categ_Me.h: Regenerated.
40735         * lib/unictype/categ_Mn.h: Regenerated.
40736         * lib/unictype/categ_N.h: Regenerated.
40737         * lib/unictype/categ_Nd.h: Regenerated.
40738         * lib/unictype/categ_Nl.h: Regenerated.
40739         * lib/unictype/categ_No.h: Regenerated.
40740         * lib/unictype/categ_P.h: Regenerated.
40741         * lib/unictype/categ_Pd.h: Regenerated.
40742         * lib/unictype/categ_Pe.h: Regenerated.
40743         * lib/unictype/categ_Pf.h: Regenerated.
40744         * lib/unictype/categ_Pi.h: Regenerated.
40745         * lib/unictype/categ_Po.h: Regenerated.
40746         * lib/unictype/categ_Ps.h: Regenerated.
40747         * lib/unictype/categ_S.h: Regenerated.
40748         * lib/unictype/categ_Sk.h: Regenerated.
40749         * lib/unictype/categ_Sm.h: Regenerated.
40750         * lib/unictype/categ_So.h: Regenerated.
40751         * lib/unictype/categ_of.h: Regenerated.
40752         * lib/unictype/combining.h: Regenerated.
40753         * lib/unictype/ctype_alnum.h: Regenerated.
40754         * lib/unictype/ctype_alpha.h: Regenerated.
40755         * lib/unictype/ctype_graph.h: Regenerated.
40756         * lib/unictype/ctype_lower.h: Regenerated.
40757         * lib/unictype/ctype_print.h: Regenerated.
40758         * lib/unictype/ctype_punct.h: Regenerated.
40759         * lib/unictype/ctype_upper.h: Regenerated.
40760         * lib/unictype/decdigit.h: Regenerated.
40761         * lib/unictype/digit.h: Regenerated.
40762         * lib/unictype/mirror.h: Regenerated.
40763         * lib/unictype/numeric.h: Regenerated.
40764         * lib/unictype/pr_alphabetic.h: Regenerated.
40765         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40766         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40767         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40768         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40769         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40770         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40771         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40772         * lib/unictype/pr_combining.h: Regenerated.
40773         * lib/unictype/pr_dash.h: Regenerated.
40774         * lib/unictype/pr_decimal_digit.h: Regenerated.
40775         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40776         * lib/unictype/pr_deprecated.h: Regenerated.
40777         * lib/unictype/pr_diacritic.h: Regenerated.
40778         * lib/unictype/pr_extender.h: Regenerated.
40779         * lib/unictype/pr_format_control.h: Regenerated.
40780         * lib/unictype/pr_grapheme_base.h: Regenerated.
40781         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40782         * lib/unictype/pr_grapheme_link.h: Regenerated.
40783         * lib/unictype/pr_id_continue.h: Regenerated.
40784         * lib/unictype/pr_id_start.h: Regenerated.
40785         * lib/unictype/pr_ideographic.h: Regenerated.
40786         * lib/unictype/pr_ignorable_control.h: Regenerated.
40787         * lib/unictype/pr_lowercase.h: Regenerated.
40788         * lib/unictype/pr_math.h: Regenerated.
40789         * lib/unictype/pr_numeric.h: Regenerated.
40790         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40791         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40792         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40793         * lib/unictype/pr_other_id_continue.h: Regenerated.
40794         * lib/unictype/pr_other_lowercase.h: Regenerated.
40795         * lib/unictype/pr_other_math.h: Regenerated.
40796         * lib/unictype/pr_punctuation.h: Regenerated.
40797         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40798         * lib/unictype/pr_soft_dotted.h: Regenerated.
40799         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40800         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40801         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40802         * lib/unictype/pr_uppercase.h: Regenerated.
40803         * lib/unictype/pr_xid_continue.h: Regenerated.
40804         * lib/unictype/pr_xid_start.h: Regenerated.
40805         * lib/unictype/pr_zero_width.h: Regenerated.
40806         * lib/unictype/scripts.h: Regenerated.
40807         * lib/unictype/scripts_byname.gperf: Regenerated.
40808         * lib/unictype/sy_java_ident.h: Regenerated.
40809         * lib/unilbrk/lbrkprop1.h: Regenerated.
40810         * lib/unilbrk/lbrkprop2.h: Regenerated.
40811         * tests/unictype/test-categ_C.c: Regenerated.
40812         * tests/unictype/test-categ_Cf.c: Regenerated.
40813         * tests/unictype/test-categ_Cn.c: Regenerated.
40814         * tests/unictype/test-categ_L.c: Regenerated.
40815         * tests/unictype/test-categ_Ll.c: Regenerated.
40816         * tests/unictype/test-categ_Lm.c: Regenerated.
40817         * tests/unictype/test-categ_Lo.c: Regenerated.
40818         * tests/unictype/test-categ_Lu.c: Regenerated.
40819         * tests/unictype/test-categ_M.c: Regenerated.
40820         * tests/unictype/test-categ_Mc.c: Regenerated.
40821         * tests/unictype/test-categ_Me.c: Regenerated.
40822         * tests/unictype/test-categ_Mn.c: Regenerated.
40823         * tests/unictype/test-categ_N.c: Regenerated.
40824         * tests/unictype/test-categ_Nd.c: Regenerated.
40825         * tests/unictype/test-categ_Nl.c: Regenerated.
40826         * tests/unictype/test-categ_No.c: Regenerated.
40827         * tests/unictype/test-categ_P.c: Regenerated.
40828         * tests/unictype/test-categ_Pd.c: Regenerated.
40829         * tests/unictype/test-categ_Pe.c: Regenerated.
40830         * tests/unictype/test-categ_Pf.c: Regenerated.
40831         * tests/unictype/test-categ_Pi.c: Regenerated.
40832         * tests/unictype/test-categ_Po.c: Regenerated.
40833         * tests/unictype/test-categ_Ps.c: Regenerated.
40834         * tests/unictype/test-categ_S.c: Regenerated.
40835         * tests/unictype/test-categ_Sk.c: Regenerated.
40836         * tests/unictype/test-categ_Sm.c: Regenerated.
40837         * tests/unictype/test-categ_So.c: Regenerated.
40838         * tests/unictype/test-ctype_alnum.c: Regenerated.
40839         * tests/unictype/test-ctype_alpha.c: Regenerated.
40840         * tests/unictype/test-ctype_graph.c: Regenerated.
40841         * tests/unictype/test-ctype_lower.c: Regenerated.
40842         * tests/unictype/test-ctype_print.c: Regenerated.
40843         * tests/unictype/test-ctype_punct.c: Regenerated.
40844         * tests/unictype/test-ctype_upper.c: Regenerated.
40845         * tests/unictype/test-decdigit.h: Regenerated.
40846         * tests/unictype/test-digit.h: Regenerated.
40847         * tests/unictype/test-numeric.h: Regenerated.
40848         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40849         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40850         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40851         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40852         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40853         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40854         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40855         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40856         * tests/unictype/test-pr_combining.c: Regenerated.
40857         * tests/unictype/test-pr_dash.c: Regenerated.
40858         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40859         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40860         * tests/unictype/test-pr_deprecated.c: Regenerated.
40861         * tests/unictype/test-pr_diacritic.c: Regenerated.
40862         * tests/unictype/test-pr_extender.c: Regenerated.
40863         * tests/unictype/test-pr_format_control.c: Regenerated.
40864         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40865         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40866         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40867         * tests/unictype/test-pr_id_continue.c: Regenerated.
40868         * tests/unictype/test-pr_id_start.c: Regenerated.
40869         * tests/unictype/test-pr_ideographic.c: Regenerated.
40870         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40871         * tests/unictype/test-pr_lowercase.c: Regenerated.
40872         * tests/unictype/test-pr_math.c: Regenerated.
40873         * tests/unictype/test-pr_numeric.c: Regenerated.
40874         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40875         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40876         Regenerated.
40877         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40878         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40879         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40880         * tests/unictype/test-pr_other_math.c: Regenerated.
40881         * tests/unictype/test-pr_punctuation.c: Regenerated.
40882         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40883         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40884         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40885         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40886         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40887         * tests/unictype/test-pr_uppercase.c: Regenerated.
40888         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40889         * tests/unictype/test-pr_xid_start.c: Regenerated.
40890         * tests/unictype/test-pr_zero_width.c: Regenerated.
40891
40892         Update to Unicode 5.1.0.
40893         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40894         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40895         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40896         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40897         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40898         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40899         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40900         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40901         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40902         (nonspacing_table_ind): Update.
40903         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40904
40905         Update to Unicode 5.1.0.
40906         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40907         code transform.
40908         * lib/uniname/uniname.c (unicode_character_name,
40909         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40910         * lib/uniname/uninames.h: Regenerated.
40911         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40912
40913 2009-02-07  Bruno Haible  <bruno@clisp.org>
40914
40915         Merge gen-ctype and gen-lbrk into a single program.
40916         * lib/gen-uni-tables.c: New file, incorporating
40917         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40918         Add directory prefixes to the names of the generated files.
40919         * lib/unictype/gen-ctype.c: Remove file.
40920         * lib/unilbrk/gen-lbrk.c: Remove file.
40921         * modules/gen-uni-tables: New file.
40922         * modules/unictype/gen-ctype: Remove file.
40923         * modules/unilbrk/gen-lbrk: Remove file.
40924
40925 2009-02-07  Bruno Haible  <bruno@clisp.org>
40926
40927         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
40928
40929         New module 'unistr/u32-strcoll'.
40930         * modules/unistr/u32-strcoll: New file.
40931         * lib/unistr/u32-strcoll.c: New file.
40932
40933         New module 'unistr/u16-strcoll'.
40934         * modules/unistr/u16-strcoll: New file.
40935         * lib/unistr/u16-strcoll.c: New file.
40936
40937         New module 'unistr/u8-strcoll'.
40938         * modules/unistr/u8-strcoll: New file.
40939         * lib/unistr/u8-strcoll.c: New file.
40940         * lib/unistr/u-strcoll.h: New file.
40941
40942 2009-02-07  Bruno Haible  <bruno@clisp.org>
40943
40944         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
40945         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40946         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
40947         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
40948         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
40949         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
40950
40951 2009-02-07  Bruno Haible  <bruno@clisp.org>
40952
40953         Make 64-bit clean.
40954         * lib/unictype/gen-ctype.c (output_predicate, output_category,
40955         output_combclass, output_bidi_category, output_decimal_digit,
40956         output_digit, output_numeric, output_mirror, output_scripts,
40957         output_ident_category): Use proper width specifier in format strings.
40958
40959 2009-02-07  Bruno Haible  <bruno@clisp.org>
40960
40961         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
40962         failure behaviour.
40963
40964 2009-02-07  Jim Meyering  <meyering@redhat.com>
40965
40966         regex: avoid compilation failure with upcoming gcc-4.4
40967         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
40968         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
40969         "... error: integer overflow in preprocessor expression".
40970
40971 2009-02-05  Ben Pfaff  <blp@gnu.org>
40972
40973         Fix link errors on Windows when close module is used.
40974         * modules/close: Add $(LIB_CLOSE) to Link section.
40975         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
40976         $(LIB_CLOSE) on Windows.
40977
40978 2009-02-05  Jim Meyering  <meyering@redhat.com>
40979
40980         still avoid unused-parameter warnings, but do it cleanly
40981         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
40982         (get_fs_usage): Cast to void instead.
40983         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
40984         (dev_from_mount_options, read_file_system_list): Cast to void.
40985         Prompted by Bruno Haible.
40986
40987 2009-02-04  Jim Meyering  <meyering@redhat.com>
40988
40989         fsusage.c: correct copyright year
40990         * lib/fsusage.c: Reflect year in which the change is pushed into
40991
40992         avoid misc. warnings
40993         * lib/fsusage.c (UNUSED_PARAM): Define.
40994         (get_fs_usage): Mark parameter "disk" as unused.
40995         * lib/getugroups.c (getgrent): Use "void" in prototype.
40996         * lib/mountlist.c: Mark unused parameters.
40997         (read_file_system_list): Declare a local with "const".
40998         * lib/nanosleep.c (getnow): Declare static.
40999         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41000
41001         dirfd: set errno upon failure
41002         * lib/dirfd.c: Include <errno.h>.
41003         Set errno to ENOTSUP when returning -1.
41004         * modules/dirfd (Depends-on): Add errno.
41005         Suggested by John Kodis <kodis@comcast.net>.
41006
41007 2009-02-01  Bruno Haible  <bruno@clisp.org>
41008
41009         Don't assume sizeof (long) >= sizeof (void *).
41010         * lib/memcmp.c: Include stdint.h.
41011         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41012         srcp2 to 'const byte *'.
41013         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41014         types to uintptr_t.
41015         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41016         * modules/memcmp (Depends-on): Add stdint.
41017         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41018
41019 2009-01-30  Eric Blake  <ebb9@byu.net>
41020
41021         fix more require-before-expand issues
41022         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41023         expand, AC_PROG_AWK.
41024         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41025
41026 2009-01-28  Eric Blake  <ebb9@byu.net>
41027
41028         version-etc: use consistent URL formatting
41029         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41030         Improve formatting.  Use fputs for string without %.
41031
41032 2009-01-28  Jim Meyering  <meyering@redhat.com>
41033
41034         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41035         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41036         "underquoted definition of NAME" from autoconf-2.59.
41037
41038 2009-01-28  Bruno Haible  <bruno@clisp.org>
41039
41040         * doc/gnulib.texi: Add "Obsolete modules" to index.
41041
41042 2009-01-28  Jim Meyering  <meyering@redhat.com>
41043
41044         useless-if-before-free: recognize more variants
41045         * build-aux/useless-if-before-free: Also recognize e.g.,
41046         if (NULL != p) free (p);
41047
41048 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41049
41050         test-getaddrinfo: skip (don't fail) this test when there's no network
41051         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41052         on the presumption that it means you lack network access.
41053
41054 2009-01-26  Jim Meyering  <meyering@redhat.com>
41055
41056         fflush: avoid warnings on modern systems
41057         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41058         pos and result, into scopes where they're used.
41059
41060 2009-01-26  Eric Blake  <ebb9@byu.net>
41061
41062         Silence warning reintroduced by recent extensions patch.
41063         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41064         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41065         autoconf.
41066
41067         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41068         * m4/00gnulib.m4: New file.
41069         * gnulib-tool (func_get_filelist): Always use it.
41070         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41071         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41072
41073 2009-01-25  Bruno Haible  <bruno@clisp.org>
41074
41075         Make test-quotearg work on MacOS X and AIX.
41076         * tests/test-quotearg.sh: New file.
41077         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41078         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41079         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41080         include <libintl.h>.
41081         (fake_locale): Remove variable.
41082         (gettext, dgettext, dcgettext): Remove functions.
41083         (main): Instead of setting a fake locale, set a real locale. Call
41084         textdomain and bindtextdomain.
41085         * modules/quotearg-tests (Files): Add the new files.
41086         (Depends-on): Add gettext, setenv, unsetenv.
41087         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41088         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41089         Augment TESTS_ENVIRONMENT.
41090
41091 2009-01-25  Bruno Haible  <bruno@clisp.org>
41092
41093         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41094         fr_FR.ISO8859-1 locale on MacOS X.
41095         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41096         ja_JP.eucJP locale on MacOS X.
41097         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41098         zh_CN.GB18030 locale on MacOS X.
41099
41100 2009-01-25  Bruno Haible  <bruno@clisp.org>
41101
41102         Avoid link errors on MacOS X 10.3.
41103         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41104         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41105
41106 2009-01-25  Bruno Haible  <bruno@clisp.org>
41107
41108         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41109         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41110         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41111         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41112         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41113         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41114         posix_spawnattr_init, posix_spawnattr_setsigmask,
41115         posix_spawnattr_setflags, posix_spawnattr_destroy.
41116
41117         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41118         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41119         * modules/execute (Files): Remove m4/posix_spawn.m4.
41120         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41121         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41122         posix_spawnattr_init, posix_spawnattr_setsigmask,
41123         posix_spawnattr_setflags, posix_spawnattr_destroy.
41124
41125 2009-01-25  Bruno Haible  <bruno@clisp.org>
41126
41127         * lib/glthread/threadlib.c: Include <stdlib.h>.
41128
41129 2009-01-25  Bruno Haible  <bruno@clisp.org>
41130
41131         * lib/glthread/threadlib.c (dummy): New declaration.
41132
41133 2009-01-25  Bruno Haible  <bruno@clisp.org>
41134
41135         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41136         multibyte characters also for the GB18030 encoding. Don't crash when
41137         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41138
41139 2009-01-25  Bruno Haible  <bruno@clisp.org>
41140
41141         Avoid redefining 'struct random_data' on OSF/1 5.1.
41142         * lib/stdlib.in.h: Include <random.h> if it exists.
41143         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41144         HAVE_RANDOM_H. Include <random.h> when testing whether
41145         'struct random_data' exists.
41146         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41147
41148 2009-01-25  Bruno Haible  <bruno@clisp.org>
41149
41150         Don't install charset.alias on MacOS X >= 10.3.
41151         * lib/localcharset.c (DARWIN7): New macro.
41152         (get_charset_aliases): Hardcode the result for Darwin7.
41153         * modules/localcharset (install-exec-local): Don't install
41154         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41155
41156 2009-01-25  Bruno Haible  <bruno@clisp.org>
41157
41158         Don't install charset.alias on mingw and Cygwin.
41159         * modules/localcharset (install-exec-local): Don't install
41160         charset.alias on mingw and Cygwin, if the file does not yet exist.
41161         The result for these platforms is hardcoded in localcharset.c.
41162
41163 2009-01-25  Bruno Haible  <bruno@clisp.org>
41164
41165         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41166         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41167         before requiring AC_USE_SYSTEM_EXTENSIONS.
41168
41169 2009-01-25  Jim Meyering  <meyering@redhat.com>
41170
41171         c-strtod: avoid warnings
41172         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41173         "assignment discards qualifiers from pointer target type" warnings.
41174
41175 2009-01-24  Bruno Haible  <bruno@clisp.org>
41176
41177         Add support for non-UTF-8 locales on MacOS X.
41178         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41179         canonical encodings. For Darwin 7 and newer, don't map traditional
41180         encodings to UTF-8.
41181         Reported by Vincent Lefevre <vincent@vinc17.org>
41182         at <http://savannah.gnu.org/bugs/?25235>.
41183
41184 2009-01-24  Bruno Haible  <bruno@clisp.org>
41185
41186         * doc/gnulib.texi (Obsolete modules): New section.
41187         Reported by Mike Frysinger <vapier@gentoo.org>.
41188
41189 2009-01-24  Bruno Haible  <bruno@clisp.org>
41190
41191         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41192         (%.dvi): New rule.
41193
41194 2009-01-24  Bruno Haible  <bruno@clisp.org>
41195
41196         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41197         Reported by Eric Blake.
41198
41199 2009-01-24  Bruno Haible  <bruno@clisp.org>
41200
41201         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41202         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41203         Reported by Gary V. Vaughan <gary@gnu.org>.
41204
41205 2009-01-24  Bruno Haible  <bruno@clisp.org>
41206
41207         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41208
41209 2009-01-23  Bruno Haible  <bruno@clisp.org>
41210
41211         Make c-strtod, c-strtold usable in libraries.
41212         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41213         (C_STRTOD): Call strdup instead of xstrdup.
41214         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41215         * modules/c-strtold (Depends-on): Likewise.
41216         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41217         * NEWS: Mention the change.
41218         Reported by Michael Gold <mgold@ncf.ca>.
41219
41220 2009-01-23  Jim Meyering  <meyering@redhat.com>
41221
41222         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41223         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41224         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41225
41226 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41227
41228         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41229         GNU CoreUtils.
41230         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41231         * modules/version-etc (Description): Update.
41232
41233 2009-01-22  Bruno Haible  <bruno@clisp.org>
41234
41235         Cache the C locale object.
41236         * lib/c-strtod.c (c_locale_cache): New variable.
41237         (c_locale): New function.
41238         (C_STRTOD): Use it, and don't call freelocale.
41239         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41240         Suggested by Paolo Bonzini.
41241
41242 2009-01-21  Bruno Haible  <bruno@clisp.org>
41243
41244         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41245         conditions other than overflow.
41246
41247 2009-01-21  Bruno Haible  <bruno@clisp.org>
41248
41249         * lib/c-strtod.c: Include errno.h.
41250         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41251         value from STRTOD_L and STRTOD.
41252
41253 2009-01-21  Bruno Haible  <bruno@clisp.org>
41254         and Jim Meyering  <meyering@redhat.com>
41255
41256         nanosleep: skip configure test (fail it) for apple universal builds
41257         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41258         universal builds, assume that nanosleep does not work.
41259         * modules/nanosleep (Depends-on): Add multiarch.
41260
41261         mktime: skip configure test (fail it) for apple universal builds
41262         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41263         universal builds, assume that mktime does not work.
41264         * modules/mktime (Depends-on): Add multiarch.
41265
41266 2009-01-21  Eric Blake  <ebb9@byu.net>
41267
41268         multiarch: avoid expand-before-require warning
41269         * modules/multiarch (configure.ac): Require, rather than expand,
41270         gl_MULTIARCH.
41271         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41272         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41273         enforce that all clients require it.  Partial reversion of
41274         2008-12-29 patch.
41275
41276         error: avoid expand-before-require warning
41277         * modules/errno (configure.ac): Require, rather than expand,
41278         gl_HEADER_ERRNO_H.
41279         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41280         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41281         enforce that all clients require it.
41282
41283         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41284         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41285         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41286         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41287
41288 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41289
41290         Revert:
41291         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41292
41293         regex: do not depend on obsolete modules.
41294         * modules/regex: Remove memcmp and memmove.
41295
41296 2009-01-20  Bruno Haible  <bruno@clisp.org>
41297
41298         Make the 'link' module link on Windows NT 4.
41299         * lib/link.c (_WIN32_WINNT): Don't define.
41300         (CreateHardLinkFuncType): New type.
41301         (CreateHardLinkFunc, initialized): New variables.
41302         (initialize): New function.
41303         (link): Invoke CreateHardLink indirectly through the function pointer.
41304
41305 2009-01-20  Bruno Haible  <bruno@clisp.org>
41306
41307         Fix compilation failure on mingw.
41308         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41309
41310 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41311
41312         * doc/c-strtod.texi: Mention a couple of restrictions.
41313
41314 2009-01-20  Jim Meyering  <meyering@redhat.com>
41315
41316         gettimeofday: move more declarations out of functions
41317         * lib/gettimeofday.c: Move extern declarations of tzset and
41318         gmtime out of containing functions.  Prompted by Bruno Haible.
41319
41320 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41321
41322         regex: do not depend on obsolete modules.
41323         * modules/regex: Remove memcmp and memmove.
41324
41325 2009-01-19  Bruno Haible  <bruno@clisp.org>
41326
41327         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41328         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41329         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41330         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41331         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41332
41333 2009-01-19  Bruno Haible  <bruno@clisp.org>
41334
41335         * tests/test-link.c: Include <errno.h>.
41336         (main): Exit with code 77 when a hard link cannot be created due to
41337         the file system.
41338         * tests/test-link.sh: Skip test when a hard link cannot be created due
41339         to the file system.
41340         Suggested by Eric Blake.
41341
41342 2009-01-19  Martin Lambers  <marlam@marlam.de>
41343
41344         * modules/link-tests: New file.
41345         * tests/test-link.sh: New file.
41346         * tests/test-link.c: New file.
41347
41348 2009-01-19  Eric Blake  <ebb9@byu.net>
41349
41350         doc: mention another function added in cygwin 1.7.0
41351         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41352         Another new function in cygwin 1.7.
41353
41354 2009-01-19  Bruno Haible  <bruno@clisp.org>
41355
41356         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41357         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41358         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41359         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41360         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41361         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41362         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41363         * m4/md4.m4 (gl_MD4): Likewise.
41364         * m4/md5.m4 (gl_MD5): Likewise.
41365         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41366         * m4/sha1.m4 (gl_SHA1): Likewise.
41367         * m4/sha256.m4 (gl_SHA256): Likewise.
41368         * m4/sha512.m4 (gl_SHA512): Likewise.
41369
41370 2009-01-19  Bruno Haible  <bruno@clisp.org>
41371
41372         * modules/uniname/uniname-tests (Depends-on): Add progname.
41373         * tests/uniname/test-uninames.c: Include progname.h.
41374         (main): Call set_program_name.
41375
41376         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41377         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41378         (main): Call set_program_name.
41379
41380         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41381         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41382         (main): Call set_program_name.
41383
41384         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41385         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41386         (main): Call set_program_name.
41387
41388         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41389         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41390         (main): Call set_program_name.
41391
41392         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41393         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41394         (main): Call set_program_name.
41395
41396         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41397         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41398         (main): Call set_program_name.
41399
41400         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41401         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41402         (main): Call set_program_name.
41403
41404         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41405         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41406         (main): Call set_program_name.
41407
41408 2009-01-19  Eric Blake  <ebb9@byu.net>
41409
41410         test-unistd: test previous patch
41411         * tests/test-unistd.c: Test *_FILENO macros.
41412
41413         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41414         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41415         Guarantee a definition.
41416         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41417         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41418         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41419         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41420         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41421         Likewise.
41422         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41423         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41424         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41425         Likewise.
41426         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41427         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41428         (STDERR_FILENO): Likewise.
41429         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41430         (STDERR_FILENO): Likewise.
41431         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41432         (STDERR_FILENO): Likewise.
41433         Reported by Elbert Pol.
41434
41435 2009-01-19  Eric Blake  <ebb9@byu.net>
41436
41437         doc: mention more functions added in cygwin 1.7.0
41438         * doc/posix-functions/abort.texi (abort): Update wording related
41439         to cygwin.
41440         * doc/posix-functions/daylight.texi (daylight): Likewise.
41441         * doc/posix-functions/optarg.texi (optarg): Likewise.
41442         * doc/posix-functions/optarg.texi (opterr): Likewise.
41443         * doc/posix-functions/optarg.texi (optind): Likewise.
41444         * doc/posix-functions/optarg.texi (optopt): Likewise.
41445         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41446         worked in 1.5.x, and was withdrawn in 1.7.
41447         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41448         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41449         cygwin versions.
41450         * doc/posix-functions/perror.texi (perror): Likewise.
41451         * doc/posix-functions/printf.texi (printf): Likewise.
41452         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41453         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41454         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41455         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41456         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41457         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41458         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41459         Likewise.
41460         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41461         Likewise.
41462         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41463         this function.
41464         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41465         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41466         Likewise.
41467         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41468         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41469         * doc/posix-functions/confstr.texi (confstr): Likewise.
41470         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41471         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41472         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41473         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41474         * doc/posix-functions/fputws.texi (fputws): Likewise.
41475         * doc/posix-functions/fwide.texi (fwide): Likewise.
41476         * doc/posix-functions/getwc.texi (getwc): Likewise.
41477         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41478         * doc/posix-functions/putwc.texi (putwc): Likewise.
41479         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41480         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41481         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41482         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41483         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41484         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41485         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41486         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41487         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41488         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41489         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41490
41491 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41492
41493         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41494         * lib/ioctl.c: Include <sys/ioctl.h>.
41495
41496 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41497
41498         * modules/getdate-tests (Depends-on): Add progname.
41499         * tests/test-getdate.c: Use progname module, to avoid link errors
41500         on non-glibc systems.
41501
41502 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41503
41504         * modules/filenamecat-tests (Depends-on): Add progname.
41505         * modules/fstrcmp-tests (Depends-on): Likewise.
41506
41507         * tests/test-filenamecat.c: Use progname module, to avoid link
41508         errors on non-glibc systems.
41509         * tests/test-fstrcmp.c: Likewise.
41510
41511 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41512
41513         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41514         * lib/gettimeofday.c: Move extern declaration out of function.
41515
41516 2009-01-18  Bruno Haible  <bruno@clisp.org>
41517
41518         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41519         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41520         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41521
41522 2009-01-18  Bruno Haible  <bruno@clisp.org>
41523
41524         * lib/strftime.c (MEMPCPY): Remove unused macro.
41525         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41526
41527 2009-01-18  Martin Lambers  <marlam@marlam.de>
41528
41529         New module 'link'.
41530         * lib/unistd.in.h (link): New declaration.
41531         * lib/link.c: New file.
41532         * m4/link.m4: New file.
41533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41534         HAVE_LINK.
41535         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41536         * modules/link: New file.
41537         * doc/posix-functions/link.texi: Mention the new module.
41538
41539 2009-01-18  Bruno Haible  <bruno@clisp.org>
41540
41541         * tests/test-avltree_list.c (main): Call set_program_name.
41542         * tests/test-avltree_oset.c (main): Likewise.
41543         * tests/test-obstack-printf.c: Include progname.h.
41544         (main): Call set_program_name.
41545         * tests/test-quotearg.c: Include progname.h.
41546         (main): Call set_program_name.
41547         * tests/test-xmemdup0.c: Include progname.h.
41548         (main): Call set_program_name.
41549
41550 2009-01-18  Bruno Haible  <bruno@clisp.org>
41551
41552         New module 'alphasort'.
41553         * lib/dirent.in.h (alphasort): New declaration.
41554         * lib/alphasort.c: New file, from glibc with modifications.
41555         * m4/alphasort.m4: New file.
41556         * modules/alphasort: New file.
41557         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41558         HAVE_ALPHASORT.
41559         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41560         HAVE_ALPHASORT.
41561         * doc/posix-functions/alphasort.texi: Mention the new module and the
41562         portability problems.
41563
41564 2009-01-18  Bruno Haible  <bruno@clisp.org>
41565
41566         New module 'scandir'.
41567         * lib/dirent.in.h (scandir): New declaration.
41568         * lib/scandir.c: New file, from glibc with modifications.
41569         * m4/scandir.m4: New file.
41570         * modules/scandir: New file.
41571         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41572         HAVE_SCANDIR.
41573         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41574         HAVE_SCANDIR.
41575         * doc/posix-functions/scandir.texi: Mention the new module and the
41576         portability problems.
41577
41578 2009-01-17  Bruno Haible  <bruno@clisp.org>
41579
41580         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41581         Update documentation.
41582         (func_remove_suffix): Escape all dots in the suffix. Update
41583         documentation.
41584         (func_filter_filelist): Update documentation.
41585         Reported by Ralf Wildenhues.
41586
41587 2009-01-17  Bruno Haible  <bruno@clisp.org>
41588
41589         * modules/dprintf-posix-tests: New file.
41590         * tests/test-dprintf-posix.sh: New file.
41591         * tests/test-dprintf-posix.c: New file.
41592
41593         New modules 'dprintf', 'dprintf-posix'.
41594         * lib/stdio.in.h (dprintf): New declaration.
41595         * lib/dprintf.c: New file.
41596         * m4/dprintf.m4: New file.
41597         * m4/dprintf-posix.m4: New file.
41598         * modules/dprintf: New file.
41599         * modules/dprintf-posix: New file.
41600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41601         HAVE_DPRINTF, REPLACE_DPRINTF.
41602         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41603         HAVE_DPRINTF, REPLACE_DPRINTF.
41604         * doc/posix-functions/dprintf.texi: Mention the new modules.
41605
41606 2009-01-17  Bruno Haible  <bruno@clisp.org>
41607
41608         * modules/vdprintf-posix-tests: New file.
41609         * tests/test-vdprintf-posix.sh: New file.
41610         * tests/test-vdprintf-posix.c: New file.
41611
41612         New modules 'vdprintf', 'vdprintf-posix'.
41613         * lib/stdio.in.h (vdprintf): New declaration.
41614         * lib/vdprintf.c: New file.
41615         * m4/vdprintf.m4: New file.
41616         * m4/vdprintf-posix.m4: New file.
41617         * modules/vdprintf: New file.
41618         * modules/vdprintf-posix: New file.
41619         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41620         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41621         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41622         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41623         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41624
41625 2009-01-17  Bruno Haible  <bruno@clisp.org>
41626
41627         Fix replacement of fopen on mingw.
41628         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41629         mingw.
41630
41631 2009-01-17  Bruno Haible  <bruno@clisp.org>
41632
41633         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41634         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41635
41636 2009-01-17  Bruno Haible  <bruno@clisp.org>
41637
41638         Avoid test-fflush2.sh failure on mingw.
41639         * tests/test-fflush2.c: Include binary-io.h.
41640         (main): Put standard input into binary mode.
41641         * modules/fflush-tests (Depends-on): Add binary-io.
41642
41643 2009-01-17  Bruno Haible  <bruno@clisp.org>
41644
41645         * lib/wchar.in.h: In another particular situation, include only the
41646         system's <wchar.h> file.
41647         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41648         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41649         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41650
41651 2009-01-17  Bruno Haible  <bruno@clisp.org>
41652
41653         Support for stripping executables in --enable-relocatable.
41654         * build-aux/install-reloc: Expect one more argument, or an environment
41655         variable RELOC_STRIP_PROG. If set, strip the destination program and
41656         its wrapper.
41657         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41658         RELOC_STRIP_PROG.
41659         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41660         to set RELOCATABLE_STRIP.
41661         * NEWS: Mention the new Makefile requirement.
41662
41663 2009-01-17  Bruno Haible  <bruno@clisp.org>
41664
41665         * build-aux/install-reloc: Remove debugging information left over by
41666         C compiler on MacOS X.
41667
41668 2009-01-17  Bruno Haible  <bruno@clisp.org>
41669
41670         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41671         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41672         _NSGetExecutablePath.
41673
41674 2009-01-16  Jim Meyering  <meyering@redhat.com>
41675
41676         strerror: avoid warnings about discarding "const"
41677         * lib/strerror.c (rpl_strerror): Instead of returning a const
41678         string from each and every "case", use a variable, and add a single
41679         cast after the switch.
41680
41681 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41682
41683         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41684
41685 2009-01-16  Bruno Haible  <bruno@clisp.org>
41686
41687         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41688         array initializer syntax that also works in C++ mode.
41689         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41690
41691 2009-01-16  Jim Meyering  <meyering@redhat.com>
41692
41693         poll: suppress a warning
41694         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41695         to ignore "...unsigned expression < 0 is always false" warnings.
41696
41697 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41698
41699         poll: remove declarations of unused variables
41700         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41701         sockbuf and optlen.
41702
41703 2009-01-15  Bruno Haible  <bruno@clisp.org>
41704
41705         Make fflush-after-ungetc POSIX compliant on BSD systems.
41706         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41707         (clear_ungetc_buffer): Implement also for other systems.
41708         (rpl_fflush): On glibc systems, invoke
41709         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41710         clear_ungetc_buffer after fetching the stream's position, not before.
41711
41712 2009-01-15  Bruno Haible  <bruno@clisp.org>
41713
41714         Make fflush-after-ungetc POSIX compliant on glibc systems.
41715         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41716         after ungetc.
41717         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41718         (rpl_fflush): On glibc systems, simply call the system's fflush
41719         function after clearing the ungetc buffer.
41720         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41721         Instead, lseek only to the end of file, then use the system's fseeko
41722         for the rest. On glibc systems, reset the EOF indicator bit.
41723
41724 2009-01-15  Jim Meyering  <meyering@redhat.com>
41725
41726         openmp.m4: revert quote-adding change, for portability to older autoconf
41727         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41728         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41729         Simon Josefsson noticed the problem when using autoconf-2.61.
41730
41731 2009-01-15  Bruno Haible  <bruno@clisp.org>
41732
41733         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41734         * tests/test-fflush2.c (ASSERT): Always fail.
41735         (main): Add two tests for fflush() after ungetc(), taking into account
41736         the Austin Group's clarification.
41737         Suggested by Eric Blake.
41738
41739 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41740
41741         mktime.m4: remove K&R-style function prototypes
41742         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41743         for the Sun C++ compiler.
41744
41745 2009-01-14  Bruno Haible  <bruno@clisp.org>
41746
41747         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41748         while including <wchar.h>.
41749         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41750         the system's <wchar.h> file.
41751         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41752
41753 2009-01-14  Bruno Haible  <bruno@clisp.org>
41754
41755         * m4/csharp.m4: Don't mention gettext on the serial number line.
41756         * m4/csharpexec.m4: Likewise.
41757         * m4/eaccess.m4: Likewise.
41758         * m4/javaexec.m4: Likewise.
41759         * m4/sig_atomic_t.m4: Likewise.
41760         * m4/tmpdir.m4: Likewise.
41761         * m4/intldir.m4: Bump gettext version.
41762         * m4/lib-ld.m4: Likewise.
41763
41764 2009-01-14  Bruno Haible  <bruno@clisp.org>
41765
41766         * lib/progname.c (set_program_name): Add more comments.
41767         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41768
41769 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41770
41771         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41772         were sys/stat.h does not define it.
41773
41774 2009-01-14  Jim Meyering  <meyering@redhat.com>
41775
41776         many *.m4 files: improve m4 quoting
41777         99% of this change was performed by running the following commands:
41778         git ls-files | grep '\.m4$' | xargs perl -pi \
41779           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41780           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41781           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41782           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41783         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41784         The remainder were to add Copyright dates, increment serial numbers,
41785         undo some changes in comments, exclude m4/intl.m4, and add quotes
41786         around the "1" in ",1" where the unusual spacing prohibited the
41787         above regexps from doing the job.  For more details, see
41788         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41789         * m4/acl.m4: Modified.
41790         * m4/afs.m4: Likewise.
41791         * m4/alloca.m4: Likewise.
41792         * m4/argp.m4: Likewise.
41793         * m4/argz.m4: Likewise.
41794         * m4/atexit.m4: Likewise.
41795         * m4/bison-i18n.m4: Likewise.
41796         * m4/bison.m4: Likewise.
41797         * m4/byteswap.m4: Likewise.
41798         * m4/c-stack.m4: Likewise.
41799         * m4/c-strtod.m4: Likewise.
41800         * m4/calloc.m4: Likewise.
41801         * m4/canonicalize-lgpl.m4: Likewise.
41802         * m4/chown.m4: Likewise.
41803         * m4/clock_time.m4: Likewise.
41804         * m4/codeset.m4: Likewise.
41805         * m4/copy-file.m4: Likewise.
41806         * m4/csharp.m4: Likewise.
41807         * m4/csharpcomp.m4: Likewise.
41808         * m4/csharpexec.m4: Likewise.
41809         * m4/d-ino.m4: Likewise.
41810         * m4/d-type.m4: Likewise.
41811         * m4/dirfd.m4: Likewise.
41812         * m4/double-slash-root.m4: Likewise.
41813         * m4/eaccess.m4: Likewise.
41814         * m4/eealloc.m4: Likewise.
41815         * m4/environ.m4: Likewise.
41816         * m4/errno_h.m4: Likewise.
41817         * m4/euidaccess.m4: Likewise.
41818         * m4/execute.m4: Likewise.
41819         * m4/fatal-signal.m4: Likewise.
41820         * m4/fchdir.m4: Likewise.
41821         * m4/fcntl_h.m4: Likewise.
41822         * m4/fileblocks.m4: Likewise.
41823         * m4/filenamecat.m4: Likewise.
41824         * m4/findprog.m4: Likewise.
41825         * m4/flexmember.m4: Likewise.
41826         * m4/fnmatch.m4: Likewise.
41827         * m4/fopen.m4: Likewise.
41828         * m4/fpending.m4: Likewise.
41829         * m4/fprintf-posix.m4: Likewise.
41830         * m4/free.m4: Likewise.
41831         * m4/frexp.m4: Likewise.
41832         * m4/frexpl.m4: Likewise.
41833         * m4/fsusage.m4: Likewise.
41834         * m4/ftruncate.m4: Likewise.
41835         * m4/gc-camellia.m4: Likewise.
41836         * m4/gc-random.m4: Likewise.
41837         * m4/gc.m4: Likewise.
41838         * m4/getaddrinfo.m4: Likewise.
41839         * m4/getcwd-abort-bug.m4: Likewise.
41840         * m4/getcwd-path-max.m4: Likewise.
41841         * m4/getdate.m4: Likewise.
41842         * m4/getdomainname.m4: Likewise.
41843         * m4/getgroups.m4: Likewise.
41844         * m4/gethostname.m4: Likewise.
41845         * m4/gethrxtime.m4: Likewise.
41846         * m4/getline.m4: Likewise.
41847         * m4/getloadavg.m4: Likewise.
41848         * m4/getndelim2.m4: Likewise.
41849         * m4/getpass.m4: Likewise.
41850         * m4/gettext.m4: Likewise.
41851         * m4/gettime.m4: Likewise.
41852         * m4/gettimeofday.m4: Likewise.
41853         * m4/gnulib-common.m4: Likewise.
41854         * m4/group-member.m4: Likewise.
41855         * m4/host-os.m4: Likewise.
41856         * m4/iconv.m4: Likewise.
41857         * m4/iconv_open.m4: Likewise.
41858         * m4/inet_ntop.m4: Likewise.
41859         * m4/inet_pton.m4: Likewise.
41860         * m4/inline.m4: Likewise.
41861         * m4/intldir.m4: Likewise.
41862         * m4/intlmacosx.m4: Likewise.
41863         * m4/intmax.m4: Likewise.
41864         * m4/intmax_t.m4: Likewise.
41865         * m4/inttypes.m4: Likewise.
41866         * m4/inttypes_h.m4: Likewise.
41867         * m4/inttypes-pri.m4: Likewise.
41868         * m4/isapipe.m4: Likewise.
41869         * m4/isnand.m4: Likewise.
41870         * m4/isnanf.m4: Likewise.
41871         * m4/isnanl.m4: Likewise.
41872         * m4/javacomp.m4: Likewise.
41873         * m4/javaexec.m4: Likewise.
41874         * m4/jm-winsz1.m4: Likewise.
41875         * m4/jm-winsz2.m4: Likewise.
41876         * m4/lchown.m4: Likewise.
41877         * m4/lcmessage.m4: Likewise.
41878         * m4/ldexpl.m4: Likewise.
41879         * m4/lib-ld.m4: Likewise.
41880         * m4/lib-link.m4: Likewise.
41881         * m4/libsigsegv.m4: Likewise.
41882         * m4/link-follow.m4: Likewise.
41883         * m4/localcharset.m4: Likewise.
41884         * m4/locale-fr.m4: Likewise.
41885         * m4/locale-ja.m4: Likewise.
41886         * m4/locale-tr.m4: Likewise.
41887         * m4/locale-zh.m4: Likewise.
41888         * m4/lock.m4: Likewise.
41889         * m4/longlong.m4: Likewise.
41890         * m4/ls-mntd-fs.m4: Likewise.
41891         * m4/lstat.m4: Likewise.
41892         * m4/malloc.m4: Likewise.
41893         * m4/mathl.m4: Likewise.
41894         * m4/mbrtowc.m4: Likewise.
41895         * m4/mbstate_t.m4: Likewise.
41896         * m4/mbswidth.m4: Likewise.
41897         * m4/memchr.m4: Likewise.
41898         * m4/memcmp.m4: Likewise.
41899         * m4/memcpy.m4: Likewise.
41900         * m4/memmem.m4: Likewise.
41901         * m4/memmove.m4: Likewise.
41902         * m4/mempcpy.m4: Likewise.
41903         * m4/memrchr.m4: Likewise.
41904         * m4/memset.m4: Likewise.
41905         * m4/minmax.m4: Likewise.
41906         * m4/mkdir-slash.m4: Likewise.
41907         * m4/mkdtemp.m4: Likewise.
41908         * m4/mktime.m4: Likewise.
41909         * m4/mmap-anon.m4: Likewise.
41910         * m4/mountlist.m4: Likewise.
41911         * m4/nanosleep.m4: Likewise.
41912         * m4/nls.m4: Likewise.
41913         * m4/nocrash.m4: Likewise.
41914         * m4/open.m4: Likewise.
41915         * m4/openat.m4: Likewise.
41916         * m4/openmp.m4: Likewise.
41917         * m4/pathmax.m4: Likewise.
41918         * m4/perl.m4: Likewise.
41919         * m4/physmem.m4: Likewise.
41920         * m4/pipe.m4: Likewise.
41921         * m4/po.m4: Likewise.
41922         * m4/poll.m4: Likewise.
41923         * m4/posixtm.m4: Likewise.
41924         * m4/posixver.m4: Likewise.
41925         * m4/printf-frexp.m4: Likewise.
41926         * m4/printf-frexpl.m4: Likewise.
41927         * m4/printf-posix.m4: Likewise.
41928         * m4/printf-posix-rpl.m4: Likewise.
41929         * m4/printf.m4: Likewise.
41930         * m4/progtest.m4: Likewise.
41931         * m4/putenv.m4: Likewise.
41932         * m4/readline.m4: Likewise.
41933         * m4/readlink.m4: Likewise.
41934         * m4/readutmp.m4: Likewise.
41935         * m4/realloc.m4: Likewise.
41936         * m4/regex.m4: Likewise.
41937         * m4/relocatable.m4: Likewise.
41938         * m4/relocatable-lib.m4: Likewise.
41939         * m4/rename-dest-slash.m4: Likewise.
41940         * m4/rename.m4: Likewise.
41941         * m4/rmdir-errno.m4: Likewise.
41942         * m4/rmdir.m4: Likewise.
41943         * m4/roundf.m4: Likewise.
41944         * m4/roundl.m4: Likewise.
41945         * m4/rpmatch.m4: Likewise.
41946         * m4/save-cwd.m4: Likewise.
41947         * m4/selinux-selinux-h.m4: Likewise.
41948         * m4/setenv.m4: Likewise.
41949         * m4/settime.m4: Likewise.
41950         * m4/sig2str.m4: Likewise.
41951         * m4/sig_atomic_t.m4: Likewise.
41952         * m4/signalblocking.m4: Likewise.
41953         * m4/signbit.m4: Likewise.
41954         * m4/sigpipe.m4: Likewise.
41955         * m4/sockets.m4: Likewise.
41956         * m4/sockpfaf.m4: Likewise.
41957         * m4/st_dm_mode.m4: Likewise.
41958         * m4/stat-time.m4: Likewise.
41959         * m4/stdbool.m4: Likewise.
41960         * m4/stdint.m4: Likewise.
41961         * m4/stdint_h.m4: Likewise.
41962         * m4/stpcpy.m4: Likewise.
41963         * m4/stpncpy.m4: Likewise.
41964         * m4/strcase.m4: Likewise.
41965         * m4/strchrnul.m4: Likewise.
41966         * m4/strcspn.m4: Likewise.
41967         * m4/strdup.m4: Likewise.
41968         * m4/strftime.m4: Likewise.
41969         * m4/strndup.m4: Likewise.
41970         * m4/strnlen.m4: Likewise.
41971         * m4/strpbrk.m4: Likewise.
41972         * m4/strptime.m4: Likewise.
41973         * m4/strsep.m4: Likewise.
41974         * m4/strtod.m4: Likewise.
41975         * m4/strtoimax.m4: Likewise.
41976         * m4/strtok_r.m4: Likewise.
41977         * m4/strtol.m4: Likewise.
41978         * m4/strtoll.m4: Likewise.
41979         * m4/strtoul.m4: Likewise.
41980         * m4/strtoull.m4: Likewise.
41981         * m4/strtoumax.m4: Likewise.
41982         * m4/strverscmp.m4: Likewise.
41983         * m4/threadlib.m4: Likewise.
41984         * m4/timegm.m4: Likewise.
41985         * m4/tm_gmtoff.m4: Likewise.
41986         * m4/tmpdir.m4: Likewise.
41987         * m4/tmpfile.m4: Likewise.
41988         * m4/tzset.m4: Likewise.
41989         * m4/uintmax_t.m4: Likewise.
41990         * m4/unlinkdir.m4: Likewise.
41991         * m4/unlocked-io.m4: Likewise.
41992         * m4/uptime.m4: Likewise.
41993         * m4/userspec.m4: Likewise.
41994         * m4/utimbuf.m4: Likewise.
41995         * m4/utime.m4: Likewise.
41996         * m4/utimes-null.m4: Likewise.
41997         * m4/utimes.m4: Likewise.
41998         * m4/vararrays.m4: Likewise.
41999         * m4/vasnprintf.m4: Likewise.
42000         * m4/vfprintf-posix.m4: Likewise.
42001         * m4/vprintf-posix.m4: Likewise.
42002         * m4/wait-process.m4: Likewise.
42003         * m4/wchar_t.m4: Likewise.
42004         * m4/wint_t.m4: Likewise.
42005         * m4/write-any-file.m4: Likewise.
42006         * m4/yield.m4: Likewise.
42007
42008 2009-01-13  Bruno Haible  <bruno@clisp.org>
42009
42010         Avoid test-copy-file.sh failures when ACL support insufficient.
42011         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42012         TESTS_ENVIRONMENT.
42013         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42014         Reported by Jim Meyering.
42015
42016 2009-01-13  Bruno Haible  <bruno@clisp.org>
42017
42018         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42019         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42020         * modules/unistdio/u8-printf-parse (Files): Likewise.
42021         * modules/unistdio/u32-printf-parse (Files): Likewise.
42022         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42023
42024 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42025
42026         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42027         and m4/inttypes_h.m4 too.
42028
42029 2009-01-12  Eric Blake  <ebb9@byu.net>
42030
42031         tests: IRIX 6.2 cc can't compile -0.0 into .data
42032         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42033         rather than at compile-time.
42034         * tests/test-floorl.c (minus_zero): Likewise.
42035         * tests/test-frexpl.c (minus_zero): Likewise.
42036         * tests/test-isnan.c (minus_zerol): Likewise.
42037         * tests/test-isnanl.h (minus_zero): Likewise.
42038         * tests/test-ldexpl.c (minus_zero): Likewise.
42039         * tests/test-roundl.c (minus_zero): Likewise.
42040         * tests/test-signbit.c (minus_zerol): Likewise.
42041         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42042         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42043         * tests/test-truncl.c (minus_zero): Likewise.
42044         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42045         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42046         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42047
42048 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42049
42050         regex: fix glibc bug 9697
42051         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42052         handling.
42053
42054 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42055
42056         regex: fix glibc bug 697
42057         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42058         being NULL also if there are no backreferences.
42059
42060 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42061
42062         regex: merge glibc changes
42063         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42064         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42065         re_string_skip_chars, re_string_reconstruct): Likewise.
42066         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42067
42068 2009-01-07  Jim Meyering  <meyering@redhat.com>
42069
42070         poll: filter through cppi
42071         * lib/poll.c: Indent cpp directives to reflect nesting.
42072
42073 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42074
42075         poll: don't return uninitialized
42076         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42077
42078 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42079
42080         avoid compile failure on AIX 6.1
42081         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42082         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42083
42084 2009-01-04  Jim Meyering  <meyering@redhat.com>
42085
42086         remove duplicate inclusion of <stdio.h>
42087         * tests/test-fprintf-posix.c: Likewise.
42088         * tests/test-printf-posix.c: Likewise.
42089         * tests/test-snprintf-posix.c: Likewise.
42090         * tests/test-sprintf-posix.c: Likewise.
42091         * tests/test-vasprintf-posix.c: Likewise.
42092         * tests/test-vfprintf-posix.c: Likewise.
42093         * tests/test-vprintf-posix.c: Likewise.
42094         * tests/test-vsnprintf-posix.c: Likewise.
42095         * tests/test-vsprintf-posix.c: Likewise.
42096
42097 2009-01-03  Jim Meyering  <meyering@redhat.com>
42098
42099         gnulib-tool: fix sed-based filtering
42100         * gnulib-tool (func_filter_filelist): Remove extra backslash
42101         in sed_fff_filter definition.
42102
42103 2009-01-02  Jim Meyering  <meyering@redhat.com>
42104
42105         strftime: avoid compilation failure on Solaris 2.6
42106         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42107         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42108         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42109         be available.  Reported by Tom G. Christensen.  Details in
42110         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42111
42112 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42113             Bruno Haible  <bruno@clisp.org>
42114
42115         Speed up gnulib-tool by doing more string processing through shell
42116         built-ins.
42117         * gnulib-tool (fast_func_append): New variable.
42118         (func_remove_prefix, func_remove_suffix): New functions.
42119         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42120         (func_filter_filelist): New function.
42121         (func_get_dependencies): Use func_remove_suffix instead of sed.
42122         (func_get_automake_snippet): Use func_filter_filelist instead of a
42123         subshell and sed invocation.
42124
42125 2009-01-01  Bruno Haible  <bruno@clisp.org>
42126
42127         Fix a security bug.
42128         * gnulib-tool (func_import, import, update): Don't allow the characters
42129         '"', '$', '`', '\' in macro arguments that become part of commands that
42130         are evaluated.
42131
42132 2009-01-01  Bruno Haible  <bruno@clisp.org>
42133
42134         * gnulib-tool (func_reset_sigpipe): Add more comments.
42135
42136 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42137
42138         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42139         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42140         already know the answer.
42141
42142 2009-01-01  Jim Meyering  <meyering@redhat.com>
42143
42144         * lib/version-etc.c (version_etc_va): Update copyright year.
42145
42146 2008-12-30  Bruno Haible  <bruno@clisp.org>
42147
42148         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42149         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42150         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42151
42152 2008-12-29  Eric Blake  <ebb9@byu.net>
42153
42154         multiarch: avoid autoconf AC_REQUIRE bug
42155         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42156         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42157         2.63 and older.
42158         Reported by Bruno Haible, and analyzed in
42159         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42160
42161 2008-12-29  Bruno Haible  <bruno@clisp.org>
42162
42163         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42164         files in subdirectories correctly.
42165         Reported by Ralf Wildenhues.
42166
42167 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42168
42169         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42170         rather than 'join FILE -', for Solaris join.
42171
42172 2008-12-29  Bruno Haible  <bruno@clisp.org>
42173
42174         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42175         quoting.
42176         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42177         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42178         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42179         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42180         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42181         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42182         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42183         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42184         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42185         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42186         * m4/nls.m4 (AM_NLS): Likewise.
42187         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42188         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42189         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42190         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42191         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42192         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42193         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42194         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42195         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42196         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42197         * m4/xsize.m4 (gl_XSIZE): Likewise.
42198         Suggested by Jim Meyering.
42199
42200 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42201
42202         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42203         * lib/parse-duration.c: use a switch instead of cascading if's.
42204
42205 2008-12-29  Eric Blake  <ebb9@byu.net>
42206
42207         wchar.h: supply WEOF on Irix 5.3
42208         * lib/wchar.in.h (wint_t): Also supply WEOF.
42209         * lib/wctype.in.h (wint_t): Likewise.
42210         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42211         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42212         Reported by Tom G. Christensen.
42213
42214 2008-12-26  Bruno Haible  <bruno@clisp.org>
42215
42216         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42217         i486, i586, i686.
42218
42219 2008-12-26  Bruno Haible  <bruno@clisp.org>
42220
42221         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42222
42223 2008-12-26  Bruno Haible  <bruno@clisp.org>
42224
42225         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42226         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42227         not __STDC_CONSTANT_MACROS.
42228         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42229
42230 2008-12-25  Bruno Haible  <bruno@clisp.org>
42231
42232         Add support for universal builds to vasnprintf.
42233         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42234         universal builds, guess no.
42235         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42236         * modules/vasprintf-posix (Depends-on): Likewise.
42237         * modules/fprintf-posix (Depends-on): Likewise.
42238         * modules/vfprintf-posix (Depends-on): Likewise.
42239         * modules/snprintf-posix (Depends-on): Likewise.
42240         * modules/vsnprintf-posix (Depends-on): Likewise.
42241         * modules/sprintf-posix (Depends-on): Likewise.
42242         * modules/vsprintf-posix (Depends-on): Likewise.
42243         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42244         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42245         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42246         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42247         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42248         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42249         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42250
42251         Add support for universal builds to <inttypes.h>.
42252         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42253         _SCNu64_PREFIX): In Apple
42254         universal builds, define directly, using _LP64.
42255         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42256         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42257         * modules/inttypes (Depends-on): Add multiarch.
42258         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42259
42260         Add support for universal builds to <stdint.h>.
42261         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42262         universal builds, define directly, using _LP64.
42263         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42264         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42265         and size_t.
42266         * modules/stdint (Depends-on): Add multiarch.
42267         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42268
42269         New module 'multiarch'.
42270         * modules/multiarch: New file.
42271         * m4/multiarch.m4: New file.
42272
42273 2008-12-25  Bruno Haible  <bruno@clisp.org>
42274
42275         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42276
42277 2008-12-25  Bruno Haible  <bruno@clisp.org>
42278
42279         * modules/btowc (License): Relicense under LGPLv2+.
42280         * modules/mbsinit (License): Likewise.
42281         * modules/mbrtowc (License): Likewise.
42282         * modules/wcrtomb (License): Likewise.
42283         * modules/streq (License): Likewise.
42284         Reported by David Lutterkort <lutter@redhat.com>.
42285
42286 2008-12-23  Bruno Haible  <bruno@clisp.org>
42287
42288         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42289
42290 2008-12-23  Bruno Haible  <bruno@clisp.org>
42291
42292         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42293         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42294         GETADDRINFO_LIB, not in LIBS.
42295         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42296         * modules/canon-host (Link): Likewise.
42297         * NEWS: Mention the change.
42298         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42299         GETADDRINFO_LIB.
42300
42301 2008-12-22  Bruno Haible  <bruno@clisp.org>
42302
42303         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42304         * doc/posix-functions/iswalpha_l.texi: Likewise.
42305         * doc/posix-functions/iswblank_l.texi: Likewise.
42306         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42307         * doc/posix-functions/iswctype_l.texi: Likewise.
42308         * doc/posix-functions/iswdigit_l.texi: Likewise.
42309         * doc/posix-functions/iswgraph_l.texi: Likewise.
42310         * doc/posix-functions/iswlower_l.texi: Likewise.
42311         * doc/posix-functions/iswprint_l.texi: Likewise.
42312         * doc/posix-functions/iswpunct_l.texi: Likewise.
42313         * doc/posix-functions/iswspace_l.texi: Likewise.
42314         * doc/posix-functions/iswupper_l.texi: Likewise.
42315         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42316         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42317         * doc/posix-functions/open_wmemstream.texi: Likewise.
42318         * doc/posix-functions/swscanf.texi: Likewise.
42319         * doc/posix-functions/towctrans_l.texi: Likewise.
42320         * doc/posix-functions/towlower.texi: Likewise.
42321         * doc/posix-functions/towlower_l.texi: Likewise.
42322         * doc/posix-functions/towupper.texi: Likewise.
42323         * doc/posix-functions/towupper_l.texi: Likewise.
42324         * doc/posix-functions/vfwprintf.texi: Likewise.
42325         * doc/posix-functions/vfwscanf.texi: Likewise.
42326         * doc/posix-functions/vswscanf.texi: Likewise.
42327         * doc/posix-functions/vwprintf.texi: Likewise.
42328         * doc/posix-functions/vwscanf.texi: Likewise.
42329         * doc/posix-functions/wcpcpy.texi: Likewise.
42330         * doc/posix-functions/wcpncpy.texi: Likewise.
42331         * doc/posix-functions/wcscasecmp.texi: Likewise.
42332         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42333         * doc/posix-functions/wcscoll_l.texi: Likewise.
42334         * doc/posix-functions/wcsdup.texi: Likewise.
42335         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42336         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42337         * doc/posix-functions/wcsnlen.texi: Likewise.
42338         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42339         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42340         * doc/posix-functions/wctrans_l.texi: Likewise.
42341         * doc/posix-functions/wctype_l.texi: Likewise.
42342         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42343         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42344         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42345         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42346         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42347         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42348         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42349         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42350         * doc/glibc-functions/wcschrnul.texi: Likewise.
42351         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42352         * doc/glibc-functions/wcstod_l.texi: Likewise.
42353         * doc/glibc-functions/wcstof_l.texi: Likewise.
42354         * doc/glibc-functions/wcstol_l.texi: Likewise.
42355         * doc/glibc-functions/wcstold_l.texi: Likewise.
42356         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42357         * doc/glibc-functions/wcstoq.texi: Likewise.
42358         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42359         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42360         * doc/glibc-functions/wcstouq.texi: Likewise.
42361         * doc/glibc-functions/wmempcpy.texi: Likewise.
42362
42363 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42364             Eric Blake  <ebb9@byu.net>
42365             Paolo Bonzini  <bonzini@gnu.org>
42366             Bruno Haible  <bruno@clisp.org>
42367
42368         Make c-stack work on Haiku.
42369         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42370         (c_stack_action): Use SA_ONSTACK flag.
42371
42372 2008-12-22  Bruno Haible  <bruno@clisp.org>
42373
42374         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42375
42376 2008-12-22  Bruno Haible  <bruno@clisp.org>
42377
42378         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42379         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42380         being overridden.
42381         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42382         New macros.
42383         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42384         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42385         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42386         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42387
42388 2008-12-22  Bruno Haible  <bruno@clisp.org>
42389
42390         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42391         from test code.
42392
42393 2008-12-22  Eric Blake  <ebb9@byu.net>
42394
42395         Avoid gcc warnings on cygwin.
42396         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42397         Avoid unused variable.
42398         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42399         Likewise.
42400
42401 2008-12-22  Bruno Haible  <bruno@clisp.org>
42402
42403         Remove HAVE_MBRTOWC conditionals.
42404         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42405         (mbscasecmp): Assume mbrtowc function.
42406         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42407         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42408         * lib/mbschr.c: Include mbuiter.h unconditionally.
42409         (mbschr): Assume mbrtowc function.
42410         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42411         (mbscspn): Assume mbrtowc function.
42412         * lib/mbslen.c: Include mbuiter.h unconditionally.
42413         (mbslen): Assume mbrtowc function.
42414         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42415         (mbsncasecmp): Assume mbrtowc function.
42416         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42417         (mbsnlen): Assume mbrtowc function.
42418         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42419         (mbspbrk): Assume mbrtowc function.
42420         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42421         (mbspcasecmp): Assume mbrtowc function.
42422         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42423         (mbsrchr): Assume mbrtowc function.
42424         * lib/mbssep.c: Include mbuiter.h unconditionally.
42425         (mbssep): Assume mbrtowc function.
42426         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42427         (mbsspn): Assume mbrtowc function.
42428         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42429         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42430         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42431         (mbstok_r): Assume mbrtowc function.
42432         * lib/propername.c: Include mbuiter.h unconditionally.
42433         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42434         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42435         (trim2): Assume mbrtowc function.
42436         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42437         (mbsnwidth): Assume mbrtowc function.
42438         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42439         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42440         fallback definitions.
42441         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42442
42443 2008-12-22  Bruno Haible  <bruno@clisp.org>
42444
42445         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42446
42447 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42448
42449         * modules/regex: Request emulations for the mb*/wc* functions we need.
42450         * m4/regex.m4: Don't look for those functions here.
42451         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42452
42453 2008-12-22  Bruno Haible  <bruno@clisp.org>
42454
42455         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42456
42457 2008-12-21  Bruno Haible  <bruno@clisp.org>
42458
42459         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42460         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42461         (Include): Remove conditionalization.
42462         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42463         (Include): Remove conditionalization.
42464         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42465         (Include): Remove conditionalization.
42466         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42467         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42468         * NEWS: Mention the change.
42469         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42470         via Sergey Poznyakoff <gray@gnu.org.ua>.
42471
42472 2008-12-21  Bruno Haible  <bruno@clisp.org>
42473
42474         * MODULES.html.sh (Extended multibyte and wide character utilities
42475         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42476         wcrtomb, wcsrtombs.
42477         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42478         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42479         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42480         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42481
42482 2008-12-21  Bruno Haible  <bruno@clisp.org>
42483
42484         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42485
42486 2008-12-21  Bruno Haible  <bruno@clisp.org>
42487
42488         * modules/wcsnrtombs-tests: New file.
42489         * tests/test-wcsnrtombs1.sh: New file.
42490         * tests/test-wcsnrtombs2.sh: New file.
42491         * tests/test-wcsnrtombs3.sh: New file.
42492         * tests/test-wcsnrtombs4.sh: New file.
42493         * tests/test-wcsnrtombs.c: New file.
42494
42495         New module 'wcsnrtombs'.
42496         * lib/wchar.in.h (wcsnrtombs): New declaration.
42497         * lib/wcsnrtombs.c: New file.
42498         * lib/wcsrtombs-state.c: New file.
42499         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42500         (internal_state): Remove variable.
42501         * m4/wcsnrtombs.m4: New file.
42502         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42503         compilation units.
42504         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42505         HAVE_WCSNRTOMBS.
42506         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42507         HAVE_WCSNRTOMBS.
42508         * modules/wcsnrtombs: New file.
42509         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42510         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42511
42512 2008-12-21  Bruno Haible  <bruno@clisp.org>
42513
42514         * modules/wcsrtombs-tests: New file.
42515         * tests/test-wcsrtombs1.sh: New file.
42516         * tests/test-wcsrtombs2.sh: New file.
42517         * tests/test-wcsrtombs3.sh: New file.
42518         * tests/test-wcsrtombs4.sh: New file.
42519         * tests/test-wcsrtombs.c: New file.
42520
42521         New module 'wcsrtombs'.
42522         * lib/wchar.in.h (wcsrtombs): New declaration.
42523         * lib/wcsrtombs.c: New file.
42524         * m4/wcsrtombs.m4: New file.
42525         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42526         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42527         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42528         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42529         * modules/wcsrtombs: New file.
42530         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42531         bugs.
42532
42533 2008-12-21  Bruno Haible  <bruno@clisp.org>
42534
42535         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42536         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42537         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42538         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42539         if not correct.
42540         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42541         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42542         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42543         m4/locale-zh.m4, m4/codeset.m4.
42544         * doc/posix-functions/wcrtomb.texi: Document the bug.
42545
42546 2008-12-21  Bruno Haible  <bruno@clisp.org>
42547
42548         Work around a btowc() bug on IRIX 6.5.
42549         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42550         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42551         REPLACE_WTOBC if not.
42552         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42553         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42554         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42555
42556 2008-12-21  Bruno Haible  <bruno@clisp.org>
42557
42558         * modules/wcrtomb-tests: New file.
42559         * tests/test-wcrtomb.sh: New file.
42560         * tests/test-wcrtomb.c: New file.
42561
42562         New module 'wcrtomb'.
42563         * lib/wchar.in.h (wcrtomb): New declaration.
42564         * lib/wcrtomb.c: New file.
42565         * m4/wcrtomb.m4: New file.
42566         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42567         HAVE_WCRTOMB.
42568         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42569         HAVE_WCRTOMB.
42570         * modules/wcrtomb: New file.
42571         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42572
42573 2008-12-21  Bruno Haible  <bruno@clisp.org>
42574
42575         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42576         * modules/mbsrtowcs (Files): Likewise.
42577         * modules/wctob (Files): Likewise.
42578         * modules/c-strcase-tests (Files): Likewise.
42579         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42580         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42581         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42582         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42583         * modules/vasnprintf-posix-tests (Files): Likewise.
42584
42585 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42586
42587         gitlog-to-changelog: pass all command-line arguments to git-log
42588         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42589         it is sometimes convenient to filter the commits in various ways.
42590         gitlog-to-changelog only allows --since to specify a start date,
42591         but git-log itself supports many other filtering mechanisms.
42592         At the moment, I want to filter by branch name.  Rather than
42593         adding a --branch option to gitlog-to-changelog, it seems more
42594         flexible to simply pass all options directly to git-log and let
42595         git do the work.  Notice that this effectively makes --since a
42596         redundant option for gitlog-to-changelog, but removing it would
42597         require current usage to change since calls would then require
42598         an additional '--'.
42599
42600 2008-12-21  Bruno Haible  <bruno@clisp.org>
42601
42602         * modules/mbsnrtowcs-tests: New file.
42603         * tests/test-mbsnrtowcs1.sh: New file.
42604         * tests/test-mbsnrtowcs2.sh: New file.
42605         * tests/test-mbsnrtowcs3.sh: New file.
42606         * tests/test-mbsnrtowcs4.sh: New file.
42607         * tests/test-mbsnrtowcs.c: New file.
42608
42609         New module 'mbsnrtowcs'.
42610         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42611         * lib/mbsnrtowcs.c: New file.
42612         * lib/mbsrtowcs-state.c: New file.
42613         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42614         (internal_state): Remove variable.
42615         * m4/mbsnrtowcs.m4: New file.
42616         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42617         compilation units.
42618         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42619         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42620         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42621         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42622         * modules/mbsnrtowcs: New file.
42623         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42624         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42625         portability problem.
42626
42627 2008-12-21  Bruno Haible  <bruno@clisp.org>
42628
42629         Work around mbsrtowcs bug.
42630         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42631         (gl_FUNC_MBSRTOWCS): Invoke it.
42632         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42633         m4/locale-zh.m4.
42634         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42635
42636 2008-12-21  Bruno Haible  <bruno@clisp.org>
42637
42638         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42639
42640 2008-12-21  Bruno Haible  <bruno@clisp.org>
42641
42642         Update doc for AIX.
42643         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42644         16-bit wchar_t type.
42645         * doc/posix-functions/btowc.texi: Likewise.
42646         * doc/posix-functions/fgetwc.texi: Likewise.
42647         * doc/posix-functions/fgetws.texi: Likewise.
42648         * doc/posix-functions/fputwc.texi: Likewise.
42649         * doc/posix-functions/fputws.texi: Likewise.
42650         * doc/posix-functions/fwide.texi: Likewise.
42651         * doc/posix-functions/fwprintf.texi: Likewise.
42652         * doc/posix-functions/fwscanf.texi: Likewise.
42653         * doc/posix-functions/getwchar.texi: Likewise.
42654         * doc/posix-functions/getwc.texi: Likewise.
42655         * doc/posix-functions/iswalnum.texi: Likewise.
42656         * doc/posix-functions/iswalpha.texi: Likewise.
42657         * doc/posix-functions/iswblank.texi: Likewise.
42658         * doc/posix-functions/iswcntrl.texi: Likewise.
42659         * doc/posix-functions/iswctype.texi: Likewise.
42660         * doc/posix-functions/iswdigit.texi: Likewise.
42661         * doc/posix-functions/iswgraph.texi: Likewise.
42662         * doc/posix-functions/iswlower.texi: Likewise.
42663         * doc/posix-functions/iswprint.texi: Likewise.
42664         * doc/posix-functions/iswpunct.texi: Likewise.
42665         * doc/posix-functions/iswspace.texi: Likewise.
42666         * doc/posix-functions/iswupper.texi: Likewise.
42667         * doc/posix-functions/iswxdigit.texi: Likewise.
42668         * doc/posix-functions/mbrtowc.texi: Likewise.
42669         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42670         * doc/posix-functions/mbstowcs.texi: Likewise.
42671         * doc/posix-functions/mbtowc.texi: Likewise.
42672         * doc/posix-functions/putwchar.texi: Likewise.
42673         * doc/posix-functions/putwc.texi: Likewise.
42674         * doc/posix-functions/swprintf.texi: Likewise.
42675         * doc/posix-functions/tolower.texi: Likewise.
42676         * doc/posix-functions/toupper.texi: Likewise.
42677         * doc/posix-functions/towctrans.texi: Likewise.
42678         * doc/posix-functions/ungetwc.texi: Likewise.
42679         * doc/posix-functions/vswprintf.texi: Likewise.
42680         * doc/posix-functions/wcrtomb.texi: Likewise.
42681         * doc/posix-functions/wcscat.texi: Likewise.
42682         * doc/posix-functions/wcschr.texi: Likewise.
42683         * doc/posix-functions/wcscmp.texi: Likewise.
42684         * doc/posix-functions/wcscoll.texi: Likewise.
42685         * doc/posix-functions/wcscpy.texi: Likewise.
42686         * doc/posix-functions/wcscspn.texi: Likewise.
42687         * doc/posix-functions/wcsftime.texi: Likewise.
42688         * doc/posix-functions/wcslen.texi: Likewise.
42689         * doc/posix-functions/wcsncat.texi: Likewise.
42690         * doc/posix-functions/wcsncmp.texi: Likewise.
42691         * doc/posix-functions/wcsncpy.texi: Likewise.
42692         * doc/posix-functions/wcspbrk.texi: Likewise.
42693         * doc/posix-functions/wcsrchr.texi: Likewise.
42694         * doc/posix-functions/wcsrtombs.texi: Likewise.
42695         * doc/posix-functions/wcsspn.texi: Likewise.
42696         * doc/posix-functions/wcsstr.texi: Likewise.
42697         * doc/posix-functions/wcstod.texi: Likewise.
42698         * doc/posix-functions/wcstof.texi: Likewise.
42699         * doc/posix-functions/wcstoimax.texi: Likewise.
42700         * doc/posix-functions/wcstok.texi: Likewise.
42701         * doc/posix-functions/wcstold.texi: Likewise.
42702         * doc/posix-functions/wcstoll.texi: Likewise.
42703         * doc/posix-functions/wcstol.texi: Likewise.
42704         * doc/posix-functions/wcstombs.texi: Likewise.
42705         * doc/posix-functions/wcstoull.texi: Likewise.
42706         * doc/posix-functions/wcstoul.texi: Likewise.
42707         * doc/posix-functions/wcstoumax.texi: Likewise.
42708         * doc/posix-functions/wcswidth.texi: Likewise.
42709         * doc/posix-functions/wcsxfrm.texi: Likewise.
42710         * doc/posix-functions/wctob.texi: Likewise.
42711         * doc/posix-functions/wctomb.texi: Likewise.
42712         * doc/posix-functions/wctrans.texi: Likewise.
42713         * doc/posix-functions/wctype.texi: Likewise.
42714         * doc/posix-functions/wcwidth.texi: Likewise.
42715         * doc/posix-functions/wmemchr.texi: Likewise.
42716         * doc/posix-functions/wmemcmp.texi: Likewise.
42717         * doc/posix-functions/wmemcpy.texi: Likewise.
42718         * doc/posix-functions/wmemmove.texi: Likewise.
42719         * doc/posix-functions/wmemset.texi: Likewise.
42720         * doc/posix-functions/wprintf.texi: Likewise.
42721         * doc/posix-functions/wscanf.texi: Likewise.
42722
42723 2008-12-21  Bruno Haible  <bruno@clisp.org>
42724
42725         Update doc for HP-UX 11.11.
42726         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42727         in HP-UX version 11.00, not in all versions of HP-UX 11.
42728         * doc/posix-functions/fwide.texi: Likewise.
42729         * doc/posix-functions/fwprintf.texi: Likewise.
42730         * doc/posix-functions/fwscanf.texi: Likewise.
42731         * doc/posix-functions/inet_ntop.texi: Likewise.
42732         * doc/posix-functions/inet_pton.texi: Likewise.
42733         * doc/posix-functions/mbrlen.texi: Likewise.
42734         * doc/posix-functions/mbrtowc.texi: Likewise.
42735         * doc/posix-functions/mbsinit.texi: Likewise.
42736         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42737         * doc/posix-functions/swprintf.texi: Likewise.
42738         * doc/posix-functions/swscanf.texi: Likewise.
42739         * doc/posix-functions/towctrans.texi: Likewise.
42740         * doc/posix-functions/vfwprintf.texi: Likewise.
42741         * doc/posix-functions/vswprintf.texi: Likewise.
42742         * doc/posix-functions/vwprintf.texi: Likewise.
42743         * doc/posix-functions/wcrtomb.texi: Likewise.
42744         * doc/posix-functions/wcsrtombs.texi: Likewise.
42745         * doc/posix-functions/wcsstr.texi: Likewise.
42746         * doc/posix-functions/wctob.texi: Likewise.
42747         * doc/posix-functions/wctrans.texi: Likewise.
42748         * doc/posix-functions/wmemchr.texi: Likewise.
42749         * doc/posix-functions/wmemcmp.texi: Likewise.
42750         * doc/posix-functions/wmemcpy.texi: Likewise.
42751         * doc/posix-functions/wmemmove.texi: Likewise.
42752         * doc/posix-functions/wmemset.texi: Likewise.
42753         * doc/posix-functions/wprintf.texi: Likewise.
42754         * doc/posix-functions/wscanf.texi: Likewise.
42755
42756 2008-12-21  Bruno Haible  <bruno@clisp.org>
42757
42758         Work around a portability problem.
42759         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42760         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42761
42762 2008-12-20  Bruno Haible  <bruno@clisp.org>
42763
42764         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42765         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42766         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42767         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42768         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42769
42770         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42771         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42772         set.
42773         (GNULIB_defined_mbstate_t): New macro.
42774         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42775         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42776         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42777         reuses the system's mbrtowc function but works around the bugs.
42778         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42779         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42780         macros.
42781         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42782         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42783         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42784         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42785         REPLACE_MBSINIT if mbsinit needs to be overridden.
42786         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42787         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42788         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42789         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42790         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42791         m4/locale-zh.m4.
42792         (Depends): Add mbsinit.
42793         * modules/mbsinit (Depends): Add mbrtowc.
42794         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42795
42796 2008-12-20  Bruno Haible  <bruno@clisp.org>
42797
42798         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42799         so that there are no conversion errors on AIX.
42800         * tests/test-mbsrtowcs.c (main): LIkewise.
42801
42802 2008-12-20  Bruno Haible  <bruno@clisp.org>
42803
42804         Work around wctob bug on Solaris <= 9.
42805         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42806         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42807         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42808         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42809         * modules/wctob (Files): Add m4/locale-fr.m4.
42810         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42811
42812 2008-12-20  Bruno Haible  <bruno@clisp.org>
42813
42814         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42815         /dev/null.
42816         * tests/test-select-in.sh: Likewise.
42817         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42818
42819 2008-12-20  Bruno Haible  <bruno@clisp.org>
42820
42821         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42822         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42823         Cygwin 1.5.x.
42824
42825 2008-12-20  Bruno Haible  <bruno@clisp.org>
42826
42827         Ensure mbstate_t is defined on HP-UX 11.11.
42828         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42829         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42830         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42831         AC_USE_SYSTEM_EXTENSIONS.
42832         * modules/fnmatch (Depends-on): Add extensions.
42833         * modules/mbrlen (Depends-on): Likewise.
42834         * modules/mbrtowc (Depends-on): Likewise.
42835         * modules/mbsinit (Depends-on): Likewise.
42836         * modules/mbsrtowcs (Depends-on): Likewise.
42837         * modules/mbswidth (Depends-on): Likewise.
42838         * modules/quotearg (Depends-on): Likewise.
42839         * modules/strftime (Depends-on): Likewise.
42840
42841 2008-12-20  Bruno Haible  <bruno@clisp.org>
42842
42843         Ensure wctob is declared on IRIX 6.5.
42844         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42845         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42846         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42847         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42848         of HAVE_WCTOB.
42849         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42850         HAVE_WCTOB.
42851         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42852
42853 2008-12-19  Bruno Haible  <bruno@clisp.org>
42854
42855         * modules/mbsrtowcs-tests: New file.
42856         * tests/test-mbsrtowcs1.sh: New file.
42857         * tests/test-mbsrtowcs2.sh: New file.
42858         * tests/test-mbsrtowcs3.sh: New file.
42859         * tests/test-mbsrtowcs4.sh: New file.
42860         * tests/test-mbsrtowcs.c: New file.
42861
42862         New module 'mbsrtowcs'.
42863         * lib/wchar.in.h (mbsrtowcs): New declaration.
42864         * lib/mbsrtowcs.c: New file.
42865         * m4/mbsrtowcs.m4: New file.
42866         * modules/mbsrtowcs: New file.
42867         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42868         HAVE_MBSRTOWCS.
42869         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42870         HAVE_MBSRTOWCS.
42871         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42872
42873 2008-12-19  Bruno Haible  <bruno@clisp.org>
42874
42875         New module 'mbrlen'.
42876         * lib/wchar.in.h (mbrlen): New declaration.
42877         * lib/mbrlen.c: New file.
42878         * m4/mbrlen.m4: New file.
42879         * modules/mbrlen: New file.
42880         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42881         HAVE_MBRLEN.
42882         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42883         HAVE_MBRLEN.
42884         * doc/posix-functions/mbrlen.texi: Document the new module.
42885
42886 2008-12-19  Bruno Haible  <bruno@clisp.org>
42887
42888         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42889         * modules/mbrtowc (Depends-on): Add verify.
42890         Suggested by Paul Eggert.
42891
42892 2008-12-18  Bruno Haible  <bruno@clisp.org>
42893
42894         * modules/mbsinit-tests: New file.
42895         * tests/test-mbsinit.sh: New file.
42896         * tests/test-mbsinit.c: New file.
42897
42898 2008-12-18  Bruno Haible  <bruno@clisp.org>
42899
42900         * modules/mbrtowc-tests: New file.
42901         * tests/test-mbrtowc1.sh: New file.
42902         * tests/test-mbrtowc2.sh: New file.
42903         * tests/test-mbrtowc3.sh: New file.
42904         * tests/test-mbrtowc4.sh: New file.
42905         * tests/test-mbrtowc.c: New file.
42906
42907         New module 'mbrtowc'.
42908         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42909         mbsinit and mbrtowc.
42910         (mbrtowc): New declaration.
42911         * lib/mbrtowc.c: New file.
42912         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42913         * modules/mbrtowc: New file.
42914         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42915         HAVE_MBRTOWC.
42916         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42917         HAVE_MBRTOWC.
42918         * doc/posix-functions/mbrtowc.texi: Document the new module.
42919
42920 2008-12-18  Bruno Haible  <bruno@clisp.org>
42921
42922         New module 'wctob'.
42923         * lib/wchar.in.h (wctob): New declaration.
42924         * lib/wctob.c: New file.
42925         * m4/wctob.m4: New file.
42926         * modules/wctob: New file.
42927         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
42928         HAVE_WCTOB.
42929         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
42930         * doc/posix-functions/wctob.texi: Document the new module.
42931
42932 2008-12-18  Bruno Haible  <bruno@clisp.org>
42933
42934         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
42935         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
42936
42937 2008-12-18  Simon Josefsson  <simon@josefsson.org>
42938
42939         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
42940         G. Christensen" <tgc@jupiterrise.com>.
42941
42942         * lib/flock.c: Need to include errno.h.  Reported by "Tom
42943         G. Christensen" <tgc@jupiterrise.com>.
42944
42945         * lib/flock.c: Need to include string.h.  Reported by "Tom
42946         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
42947         <ebb9@byu.net>.
42948
42949 2008-12-18  Bruno Haible  <bruno@clisp.org>
42950
42951         * m4/locale-ja.m4: New file, from GNU gettext.
42952
42953 2008-12-17  Bruno Haible  <bruno@clisp.org>
42954
42955         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
42956         Suggested by Eric Blake.
42957
42958 2008-12-17  Bruno Haible  <bruno@clisp.org>
42959
42960         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
42961
42962 2008-12-17  Bruno Haible  <bruno@clisp.org>
42963
42964         * lib/mbsinit.c: Include verify.h. Verify an assumption.
42965         * modules/mbsinit (Depends-on): Add verify.
42966         Suggested by Paul Eggert.
42967
42968 2008-12-17  Bruno Haible  <bruno@clisp.org>
42969
42970         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
42971         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
42972         gl_FUNC_MBRTOWC.
42973         * m4/mbiter.m4 (gl_MBITER): LIkewise.
42974         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
42975         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
42976         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
42977         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
42978         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
42979         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
42980         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
42981         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
42982         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
42983         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
42984         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
42985         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
42986         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
42987         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
42988         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42989         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
42990         * modules/trim (configure.ac): Likewise.
42991
42992 2008-12-17  Bruno Haible  <bruno@clisp.org>
42993
42994         * modules/btowc-tests: New file.
42995         * tests/test-btowc1.sh: New file.
42996         * tests/test-btowc2.sh: New file.
42997         * tests/test-btowc.c: New file.
42998
42999         New module 'btowc'.
43000         * lib/wchar.in.h (btowc): New declaration.
43001         * lib/btowc.c: New file.
43002         * m4/btowc.m4: New file.
43003         * modules/btowc: New file.
43004         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43005         HAVE_BTOWC.
43006         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43007         * doc/posix-functions/btowc.texi: Document the new module.
43008
43009 2008-12-17  Bruno Haible  <bruno@clisp.org>
43010
43011         New module 'mbsinit'.
43012         * lib/wchar.in.h (mbsinit): New declaration.
43013         * lib/mbsinit.c: New file.
43014         * m4/mbsinit.m4: New file.
43015         * modules/mbsinit: New file.
43016         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43017         HAVE_MBSINIT.
43018         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43019         HAVE_MBSINIT.
43020         * doc/posix-functions/mbsinit.texi: Document the new module.
43021
43022 2008-12-16  Bruno Haible  <bruno@clisp.org>
43023
43024         * lib/unistd.in.h: Add comment.
43025         * tests/test-environ.c: Don't include <stdlib.h>.
43026
43027 2008-12-16  Bruno Haible  <bruno@clisp.org>
43028
43029         * lib/parse-duration.h (parse_duration): Document return value
43030         convention.
43031         * lib/parse-duration.c: Include specification header first. Add
43032         comments.
43033         (_): Remove macro.
43034         (parse_year_month_day, parse_hour_minute_second): Move side effects
43035         outside of strchr call.
43036         (parse_non_iso8601): Move side effects outside of isspace call.
43037         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43038         call.
43039
43040 2008-12-16  Bruno Haible  <bruno@clisp.org>
43041
43042         * tests/test-parse-duration.sh: Produce no output when the test
43043         succeeds.
43044
43045 2008-12-16  Bruno Haible  <bruno@clisp.org>
43046
43047         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43048         expressions.
43049
43050 2008-12-15  Bruno Haible  <bruno@clisp.org>
43051
43052         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43053         * doc/glibc-functions/flistxattr.texi: Likewise.
43054         * doc/glibc-functions/fopencookie.texi: Likewise.
43055         * doc/glibc-functions/fremovexattr.texi: Likewise.
43056         * doc/glibc-functions/fsetxattr.texi: Likewise.
43057         * doc/glibc-functions/getxattr.texi: Likewise.
43058         * doc/glibc-functions/lgetxattr.texi: Likewise.
43059         * doc/glibc-functions/listxattr.texi: Likewise.
43060         * doc/glibc-functions/llistxattr.texi: Likewise.
43061         * doc/glibc-functions/lremovexattr.texi: Likewise.
43062         * doc/glibc-functions/lsetxattr.texi: Likewise.
43063         * doc/glibc-functions/removexattr.texi: Likewise.
43064         * doc/glibc-functions/setxattr.texi: Likewise.
43065         * doc/posix-functions/open_memstream.texi: Likewise.
43066
43067 2008-12-15  Eric Blake  <ebb9@byu.net>
43068
43069         Update doc for cygwin 1.7.
43070         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43071         functions.
43072         * doc/posix-functions/fchmodat.texi: Likewise.
43073         * doc/posix-functions/fchownat.texi: Likewise.
43074         * doc/posix-functions/fdopendir.texi: Likewise.
43075         * doc/posix-functions/fmemopen.texi: Likewise.
43076         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43077         * doc/posix-functions/fstatat.texi: Likewise.
43078         * doc/posix-functions/futimens.texi: Likewise.
43079         * doc/posix-functions/gai_strerror.texi: Likewise.
43080         * doc/posix-functions/getaddrinfo.texi: Likewise.
43081         * doc/posix-functions/getnameinfo.texi: Likewise.
43082         * doc/posix-functions/if_freenameindex.texi: Likewise.
43083         * doc/posix-functions/if_indextoname.texi: Likewise.
43084         * doc/posix-functions/if_nameindex.texi: Likewise.
43085         * doc/posix-functions/if_nametoindex.texi: Likewise.
43086         * doc/posix-functions/insque.texi: Likewise.
43087         * doc/posix-functions/linkat.texi: Likewise.
43088         * doc/posix-functions/llrint.texi: Likewise.
43089         * doc/posix-functions/llrintf.texi: Likewise.
43090         * doc/posix-functions/llrintl.texi: Likewise.
43091         * doc/posix-functions/lockf.texi: Likewise.
43092         * doc/posix-functions/lrintl.texi: Likewise.
43093         * doc/posix-functions/mkdirat.texi: Likewise.
43094         * doc/posix-functions/mkfifoat.texi: Likewise.
43095         * doc/posix-functions/mknodat.texi: Likewise.
43096         * doc/posix-functions/mq_close.texi: Likewise.
43097         * doc/posix-functions/mq_getattr.texi: Likewise.
43098         * doc/posix-functions/mq_notify.texi: Likewise.
43099         * doc/posix-functions/mq_open.texi: Likewise.
43100         * doc/posix-functions/mq_receive.texi: Likewise.
43101         * doc/posix-functions/mq_send.texi: Likewise.
43102         * doc/posix-functions/mq_setattr.texi: Likewise.
43103         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43104         * doc/posix-functions/mq_timedsend.texi: Likewise.
43105         * doc/posix-functions/mq_unlink.texi: Likewise.
43106         * doc/posix-functions/open_memstream.texi: Likewise.
43107         * doc/posix-functions/openat.texi: Likewise.
43108         * doc/posix-functions/posix_fadvise.texi: Likewise.
43109         * doc/posix-functions/posix_fallocate.texi: Likewise.
43110         * doc/posix-functions/posix_madvise.texi: Likewise.
43111         * doc/posix-functions/posix_memalign.texi: Likewise.
43112         * doc/posix-functions/posix_openpt.texi: Likewise.
43113         * doc/posix-functions/readlinkat.texi: Likewise.
43114         * doc/posix-functions/remque.texi: Likewise.
43115         * doc/posix-functions/renameat.texi: Likewise.
43116         * doc/posix-functions/rintl.texi: Likewise.
43117         * doc/posix-functions/sem_unlink.texi: Likewise.
43118         * doc/posix-functions/shm_open.texi: Likewise.
43119         * doc/posix-functions/shm_unlink.texi: Likewise.
43120         * doc/posix-functions/signgam.texi: Likewise.
43121         * doc/posix-functions/sigset.texi: Likewise.
43122         * doc/posix-functions/stpcpy.texi: Likewise.
43123         * doc/posix-functions/stpncpy.texi: Likewise.
43124         * doc/posix-functions/strerror.texi: Likewise.
43125         * doc/posix-functions/strtod.texi: Likewise.
43126         * doc/posix-functions/symlinkat.texi: Likewise.
43127         * doc/posix-functions/unlinkat.texi: Likewise.
43128         * doc/posix-functions/utimensat.texi: Likewise.
43129         * doc/glibc-functions/bindresvport.texi: Likewise.
43130         * doc/glibc-functions/dn_expand.texi: Likewise.
43131         * doc/glibc-functions/exp10.texi: Likewise.
43132         * doc/glibc-functions/exp10f.texi: Likewise.
43133         * doc/glibc-functions/fgetxattr.texi: Likewise.
43134         * doc/glibc-functions/flistxattr.texi: Likewise.
43135         * doc/glibc-functions/fopencookie.texi: Likewise.
43136         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43137         * doc/glibc-functions/fremovexattr.texi: Likewise.
43138         * doc/glibc-functions/fsetxattr.texi: Likewise.
43139         * doc/glibc-functions/getifaddrs.texi: Likewise.
43140         * doc/glibc-functions/getxattr.texi: Likewise.
43141         * doc/glibc-functions/lgetxattr.texi: Likewise.
43142         * doc/glibc-functions/listxattr.texi: Likewise.
43143         * doc/glibc-functions/llistxattr.texi: Likewise.
43144         * doc/glibc-functions/lremovexattr.texi: Likewise.
43145         * doc/glibc-functions/lsetxattr.texi: Likewise.
43146         * doc/glibc-functions/pow10.texi: Likewise.
43147         * doc/glibc-functions/pow10f.texi: Likewise.
43148         * doc/glibc-functions/rcmd_af.texi: Likewise.
43149         * doc/glibc-functions/removexattr.texi: Likewise.
43150         * doc/glibc-functions/res_init.texi: Likewise.
43151         * doc/glibc-functions/res_mkquery.texi: Likewise.
43152         * doc/glibc-functions/res_query.texi: Likewise.
43153         * doc/glibc-functions/res_querydomain.texi: Likewise.
43154         * doc/glibc-functions/res_send.texi: Likewise.
43155         * doc/glibc-functions/rresvport_af.texi: Likewise.
43156         * doc/glibc-functions/setxattr.texi: Likewise.
43157         * doc/glibc-functions/strcasestr.texi: Likewise.
43158
43159 2008-12-15  Bruno Haible  <bruno@clisp.org>
43160
43161         Fix compilation error on OSF/1 4.0.
43162         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43163         <sys/time.h>, simply delegate to the system header.
43164         Reported by Daniel Richard G. <oss@teragram.com>.
43165
43166 2008-12-15  Bruno Haible  <bruno@clisp.org>
43167
43168         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43169         * doc/posix-functions/fchmodat.texi: Likewise.
43170         * doc/posix-functions/fchownat.texi: Likewise.
43171         * doc/posix-functions/fdopendir.texi: Likewise.
43172         * doc/posix-functions/fstatat.texi: Likewise.
43173         * doc/posix-functions/mkdirat.texi: Likewise.
43174         * doc/posix-functions/unlinkat.texi: Likewise.
43175
43176 2008-12-14  Bruno Haible  <bruno@clisp.org>
43177
43178         Update doc for POSIX:2008.
43179         * doc/posix-functions/faccessat.texi: New file.
43180         * doc/posix-functions/fchmodat.texi: New file.
43181         * doc/posix-functions/fchownat.texi: New file.
43182         * doc/posix-functions/fdopendir.texi: New file.
43183         * doc/posix-functions/fstatat.texi: New file.
43184         * doc/posix-functions/futimens.texi: New file.
43185         * doc/posix-functions/linkat.texi: New file.
43186         * doc/posix-functions/mkdirat.texi: New file.
43187         * doc/posix-functions/mkfifoat.texi: New file.
43188         * doc/posix-functions/mknodat.texi: New file.
43189         * doc/posix-functions/open_wmemstream.texi: New file.
43190         * doc/posix-functions/openat.texi: New file.
43191         * doc/posix-functions/psiginfo.texi: New file.
43192         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43193         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43194         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43195         * doc/posix-functions/readlinkat.texi: New file.
43196         * doc/posix-functions/renameat.texi: New file.
43197         * doc/posix-functions/strerror_l.texi: New file.
43198         * doc/posix-functions/symlinkat.texi: New file.
43199         * doc/posix-functions/unlinkat.texi: New file.
43200         * doc/posix-functions/utimensat.texi: New file.
43201         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43202
43203 2008-12-14  Bruno Haible  <bruno@clisp.org>
43204
43205         Update doc for POSIX:2008.
43206         * doc/posix-functions/alphasort.texi: Renamed from
43207         doc/glibc-functions/alphasort.texi.
43208         * doc/posix-functions/dirfd.texi: Renamed from
43209         doc/glibc-functions/dirfd.texi.
43210         * doc/posix-functions/dprintf.texi: Renamed from
43211         doc/glibc-functions/dprintf.texi.
43212         * doc/posix-functions/duplocale.texi: Renamed from
43213         doc/glibc-functions/duplocale.texi.
43214         * doc/posix-functions/fexecve.texi: Renamed from
43215         doc/glibc-functions/fexecve.texi.
43216         * doc/posix-functions/fmemopen.texi: Renamed from
43217         doc/glibc-functions/fmemopen.texi.
43218         * doc/posix-functions/freelocale.texi: Renamed from
43219         doc/glibc-functions/freelocale.texi.
43220         * doc/posix-functions/getdate_err.texi: Renamed from
43221         doc/glibc-functions/getdate_err.texi.
43222         * doc/posix-functions/isalnum_l.texi: Renamed from
43223         doc/glibc-functions/isalnum_l.texi.
43224         * doc/posix-functions/isalpha_l.texi: Renamed from
43225         doc/glibc-functions/isalpha_l.texi.
43226         * doc/posix-functions/isblank_l.texi: Renamed from
43227         doc/glibc-functions/isblank_l.texi.
43228         * doc/posix-functions/iscntrl_l.texi: Renamed from
43229         doc/glibc-functions/iscntrl_l.texi.
43230         * doc/posix-functions/isdigit_l.texi: Renamed from
43231         doc/glibc-functions/isdigit_l.texi.
43232         * doc/posix-functions/isgraph_l.texi: Renamed from
43233         doc/glibc-functions/isgraph_l.texi.
43234         * doc/posix-functions/islower_l.texi: Renamed from
43235         doc/glibc-functions/islower_l.texi.
43236         * doc/posix-functions/isprint_l.texi: Renamed from
43237         doc/glibc-functions/isprint_l.texi.
43238         * doc/posix-functions/ispunct_l.texi: Renamed from
43239         doc/glibc-functions/ispunct_l.texi.
43240         * doc/posix-functions/isspace_l.texi: Renamed from
43241         doc/glibc-functions/isspace_l.texi.
43242         * doc/posix-functions/isupper_l.texi: Renamed from
43243         doc/glibc-functions/isupper_l.texi.
43244         * doc/posix-functions/iswalnum_l.texi: Renamed from
43245         doc/glibc-functions/iswalnum_l.texi.
43246         * doc/posix-functions/iswalpha_l.texi: Renamed from
43247         doc/glibc-functions/iswalpha_l.texi.
43248         * doc/posix-functions/iswblank_l.texi: Renamed from
43249         doc/glibc-functions/iswblank_l.texi.
43250         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43251         doc/glibc-functions/iswcntrl_l.texi.
43252         * doc/posix-functions/iswctype_l.texi: Renamed from
43253         doc/glibc-functions/iswctype_l.texi.
43254         * doc/posix-functions/iswdigit_l.texi: Renamed from
43255         doc/glibc-functions/iswdigit_l.texi.
43256         * doc/posix-functions/iswgraph_l.texi: Renamed from
43257         doc/glibc-functions/iswgraph_l.texi.
43258         * doc/posix-functions/iswlower_l.texi: Renamed from
43259         doc/glibc-functions/iswlower_l.texi.
43260         * doc/posix-functions/iswprint_l.texi: Renamed from
43261         doc/glibc-functions/iswprint_l.texi.
43262         * doc/posix-functions/iswpunct_l.texi: Renamed from
43263         doc/glibc-functions/iswpunct_l.texi.
43264         * doc/posix-functions/iswspace_l.texi: Renamed from
43265         doc/glibc-functions/iswspace_l.texi.
43266         * doc/posix-functions/iswupper_l.texi: Renamed from
43267         doc/glibc-functions/iswupper_l.texi.
43268         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43269         doc/glibc-functions/iswxdigit_l.texi.
43270         * doc/posix-functions/isxdigit_l.texi: Renamed from
43271         doc/glibc-functions/isxdigit_l.texi.
43272         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43273         doc/glibc-functions/mbsnrtowcs.texi.
43274         * doc/posix-functions/mkdtemp.texi: Renamed from
43275         doc/glibc-functions/mkdtemp.texi.
43276         * doc/posix-functions/newlocale.texi: Renamed from
43277         doc/glibc-functions/newlocale.texi.
43278         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43279         doc/glibc-functions/nl_langinfo_l.texi.
43280         * doc/posix-functions/open_memstream.texi: Renamed from
43281         doc/glibc-functions/open_memstream.texi.
43282         * doc/posix-functions/opterr.texi: Renamed from
43283         doc/glibc-functions/opterr.texi.
43284         * doc/posix-functions/optind.texi: Renamed from
43285         doc/glibc-functions/optind.texi.
43286         * doc/posix-functions/optopt.texi: Renamed from
43287         doc/glibc-functions/optopt.texi.
43288         * doc/posix-functions/psignal.texi: Renamed from
43289         doc/glibc-functions/psignal.texi.
43290         * doc/posix-functions/scandir.texi: Renamed from
43291         doc/glibc-functions/scandir.texi.
43292         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43293         doc/glibc-functions/sched_get_priority_min.texi.
43294         * doc/posix-functions/signgam.texi: Renamed from
43295         doc/glibc-functions/signgam.texi.
43296         * doc/posix-functions/stpcpy.texi: Renamed from
43297         doc/glibc-functions/stpcpy.texi.
43298         * doc/posix-functions/stpncpy.texi: Renamed from
43299         doc/glibc-functions/stpncpy.texi.
43300         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43301         doc/glibc-functions/strcasecmp_l.texi.
43302         * doc/posix-functions/strcoll_l.texi: Renamed from
43303         doc/glibc-functions/strcoll_l.texi.
43304         * doc/posix-functions/strfmon_l.texi: Renamed from
43305         doc/glibc-functions/strfmon_l.texi.
43306         * doc/posix-functions/strftime_l.texi: Renamed from
43307         doc/glibc-functions/strftime_l.texi.
43308         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43309         doc/glibc-functions/strncasecmp_l.texi.
43310         * doc/posix-functions/strndup.texi: Renamed from
43311         doc/glibc-functions/strndup.texi.
43312         * doc/posix-functions/strnlen.texi: Renamed from
43313         doc/glibc-functions/strnlen.texi.
43314         * doc/posix-functions/strsignal.texi: Renamed from
43315         doc/glibc-functions/strsignal.texi.
43316         * doc/posix-functions/strxfrm_l.texi: Renamed from
43317         doc/glibc-functions/strxfrm_l.texi.
43318         * doc/posix-functions/timer_gettime.texi: Renamed from
43319         doc/glibc-functions/timer_gettime.texi.
43320         * doc/posix-functions/tolower_l.texi: Renamed from
43321         doc/glibc-functions/tolower_l.texi.
43322         * doc/posix-functions/toupper_l.texi: Renamed from
43323         doc/glibc-functions/toupper_l.texi.
43324         * doc/posix-functions/towctrans_l.texi: Renamed from
43325         doc/glibc-functions/towctrans_l.texi.
43326         * doc/posix-functions/towlower_l.texi: Renamed from
43327         doc/glibc-functions/towlower_l.texi.
43328         * doc/posix-functions/towupper_l.texi: Renamed from
43329         doc/glibc-functions/towupper_l.texi.
43330         * doc/posix-functions/uselocale.texi: Renamed from
43331         doc/glibc-functions/uselocale.texi.
43332         * doc/posix-functions/vdprintf.texi: Renamed from
43333         doc/glibc-functions/vdprintf.texi.
43334         * doc/posix-functions/wcpcpy.texi:
43335         Renamed from doc/glibc-functions/wcpcpy.texi.
43336         * doc/posix-functions/wcpncpy.texi: Renamed from
43337         doc/glibc-functions/wcpncpy.texi.
43338         * doc/posix-functions/wcscasecmp.texi: Renamed from
43339         doc/glibc-functions/wcscasecmp.texi.
43340         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43341         doc/glibc-functions/wcscasecmp_l.texi.
43342         * doc/posix-functions/wcscoll_l.texi: Renamed from
43343         doc/glibc-functions/wcscoll_l.texi.
43344         * doc/posix-functions/wcsdup.texi: Renamed from
43345         doc/glibc-functions/wcsdup.texi.
43346         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43347         doc/glibc-functions/wcsncasecmp.texi.
43348         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43349         doc/glibc-functions/wcsncasecmp_l.texi.
43350         * doc/posix-functions/wcsnlen.texi: Renamed from
43351         doc/glibc-functions/wcsnlen.texi.
43352         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43353         doc/glibc-functions/wcsnrtombs.texi.
43354         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43355         doc/glibc-functions/wcsxfrm_l.texi.
43356         * doc/posix-functions/wctrans_l.texi: Renamed from
43357         doc/glibc-functions/wctrans_l.texi.
43358         * doc/posix-functions/wctype_l.texi: Renamed from
43359         doc/glibc-functions/wctype_l.texi.
43360         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43361         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43362         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43363         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43364         these subsections.
43365         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43366         Remove sections.
43367
43368 2008-12-14  Bruno Haible  <bruno@clisp.org>
43369
43370         Update doc for POSIX:2008.
43371         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43372
43373 2008-12-14  Bruno Haible  <bruno@clisp.org>
43374
43375         Update doc for POSIX:2008.
43376         * doc/pastposix-functions/bcmp.texi: Renamed from
43377         doc/posix-functions/bcmp.texi.
43378         * doc/pastposix-functions/bcopy.texi: Renamed from
43379         doc/posix-functions/bcopy.texi.
43380         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43381         doc/posix-functions/bsd_signal.texi.
43382         * doc/pastposix-functions/bzero.texi: Renamed from
43383         doc/posix-functions/bzero.texi.
43384         * doc/pastposix-functions/ecvt.texi: Renamed from
43385         doc/posix-functions/ecvt.texi.
43386         * doc/pastposix-functions/fcvt.texi: Renamed from
43387         doc/posix-functions/fcvt.texi.
43388         * doc/pastposix-functions/ftime.texi: Renamed from
43389         doc/posix-functions/ftime.texi.
43390         * doc/pastposix-functions/gcvt.texi: Renamed from
43391         doc/posix-functions/gcvt.texi.
43392         * doc/pastposix-functions/getcontext.texi: Renamed from
43393         doc/posix-functions/getcontext.texi.
43394         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43395         doc/posix-functions/gethostbyaddr.texi.
43396         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43397         doc/posix-functions/gethostbyname.texi.
43398         * doc/pastposix-functions/getwd.texi: Renamed from
43399         doc/posix-functions/getwd.texi.
43400         * doc/pastposix-functions/h_errno.texi: Renamed from
43401         doc/posix-functions/h_errno.texi.
43402         * doc/pastposix-functions/index.texi: Renamed from
43403         doc/posix-functions/index.texi.
43404         * doc/pastposix-functions/makecontext.texi: Renamed from
43405         doc/posix-functions/makecontext.texi.
43406         * doc/pastposix-functions/mktemp.texi: Renamed from
43407         doc/posix-functions/mktemp.texi.
43408         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43409         doc/posix-functions/pthread_attr_getstackaddr.texi.
43410         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43411         doc/posix-functions/pthread_attr_setstackaddr.texi.
43412         * doc/pastposix-functions/rindex.texi: Renamed from
43413         doc/posix-functions/rindex.texi.
43414         * doc/pastposix-functions/scalb.texi: Renamed from
43415         doc/posix-functions/scalb.texi.
43416         * doc/pastposix-functions/setcontext.texi: Renamed from
43417         doc/posix-functions/setcontext.texi.
43418         * doc/pastposix-functions/swapcontext.texi: Renamed from
43419         doc/posix-functions/swapcontext.texi.
43420         * doc/pastposix-functions/ualarm.texi: Renamed from
43421         doc/posix-functions/ualarm.texi.
43422         * doc/pastposix-functions/usleep.texi: Renamed from
43423         doc/posix-functions/usleep.texi.
43424         * doc/pastposix-functions/vfork.texi: Renamed from
43425         doc/posix-functions/vfork.texi.
43426         * doc/pastposix-functions/wcswcs.texi: Renamed from
43427         doc/posix-functions/wcswcs.texi.
43428         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43429         (Function Substitutes): Update.
43430
43431 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43432
43433         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43434         m4/strerror.m4.
43435
43436 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43437             Bruno Haible  <bruno@clisp.org>
43438
43439         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43440
43441 2008-12-13  Bruno Haible  <bruno@clisp.org>
43442
43443         * modules/strtoull (Depends-on): Remove unistd.
43444
43445 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43446
43447         * modules/strtoull (Depends-on): Add stdlib.
43448
43449 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43450
43451         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43452
43453 2008-12-10  Jim Meyering  <meyering@redhat.com>
43454
43455         gl_ASSERT: don't say assertions are disabled when they're not
43456         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43457         "checking whether to enable assertions... no", when they are in
43458         fact enabled.  This is solely a bug in the output of configure.
43459         In spite of saying "no", NDEBUG was not defined in that case.
43460         Also, as noted by Eric Blake, leave assertions enabled upon
43461         --enable-assert=INVALID.
43462
43463 2008-12-10  Bruno Haible  <bruno@clisp.org>
43464
43465         Change MODULES.html to refer to POSIX:2008 where possible.
43466         * MODULES.html.sh (POSIX2008_URL): New variable.
43467         (posix_headers): Remove sys/timeb, ucontext.
43468         (posix2001_headers): New variable.
43469         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43470         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43471         index, makecontext, mktemp, pthread_attr_getstackaddr,
43472         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43473         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43474         (posix2001_functions): New variable.
43475         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43476         otherwise.
43477
43478 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43479
43480         add missing include to parse-duration.c
43481         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43482         * modules/parse-duration (Depends-on): Add xalloc.
43483
43484         fix sed script reading maint.mk
43485         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43486         (syntax-check-rules): Use it.
43487
43488 2008-12-09  Bruno Haible  <bruno@clisp.org>
43489
43490         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43491         MacOS X 10.4/PowerPC.
43492         Reported by Simon Josefsson.
43493
43494 2008-12-08  Jim Meyering  <meyering@redhat.com>
43495
43496         work around mingw's lack of some S_IF definitions
43497         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43498         Reported by Simon Josefsson.
43499
43500 2008-12-08  Bruno Haible  <bruno@clisp.org>
43501
43502         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43503         applied to variables. Needed on MacOS X 10.4/PowerPC.
43504         Reported by Simon Josefsson.
43505
43506 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43507         and Eric Blake  <ebb9@byu.net>
43508
43509         assert: honor --enable-assert
43510         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43511         order to honor --enable-assert, rather than treating it as a
43512         synonym for --disable-assert.
43513
43514 2008-12-08  Jim Meyering  <meyering@redhat.com>
43515
43516         * lib/posixtm.c: Remove now-useless declaration of mktime.
43517
43518         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43519
43520 2008-12-07  Bruno Haible  <bruno@clisp.org>
43521
43522         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43523         test_once): Mark functions as static.
43524         * tests/test-tls.c (test_tls): Likewise.
43525
43526 2008-12-07  Bruno Haible  <bruno@clisp.org>
43527
43528         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43529         iconv_register_autodetect.
43530
43531 2008-12-07  Jim Meyering  <meyering@redhat.com>
43532
43533         posixtm.c: avoid a warning
43534         * lib/posixtm.c (posixtime): Don't initialize tm0.
43535         It's no longer needed to placate gcc4's -Wuninitialized,
43536         and the attempt to placate would elicit a new warning.
43537
43538         unicodeio.c: mark unused parameters
43539         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43540         (fallback_failure_callback): Likewise.
43541
43542 2008-12-07  Bruno Haible  <bruno@clisp.org>
43543
43544         * gnulib-tool (func_create_testdir): When building the tests
43545         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43546         Reported by Simon Josefsson.
43547
43548 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43549
43550         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43551
43552 2008-12-06  Bruno Haible  <bruno@clisp.org>
43553
43554         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43555         Suggested by Eric Blake.
43556
43557 2008-12-06  Bruno Haible  <bruno@clisp.org>
43558
43559         Fix a c-stack test failure on MacOS X.
43560         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43561         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43562         handler for SIGBUS as well.
43563         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43564         install a signal handler for SIGBUS as well.
43565         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43566
43567 2008-12-06  Bruno Haible  <bruno@clisp.org>
43568
43569         Advocacy documentation.
43570         * doc/gnulib-intro.texi (Benefits): New section.
43571         * doc/gnulib.texi: Update.
43572
43573 2008-12-06  Bruno Haible  <bruno@clisp.org>
43574
43575         Document the 'manywarnings' module.
43576         * doc/manywarnings.texi: New file.
43577         * doc/gnulib.texi: Include it.
43578
43579 2008-12-05  Eric Blake  <ebb9@byu.net>
43580
43581         tests: silence some gcc warnings
43582         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43583         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43584         type mismatches.
43585
43586 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43587             Bruno Haible  <bruno@clisp.org>
43588
43589         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43590
43591 2008-11-29  Jim Meyering  <meyering@redhat.com>
43592
43593         unicodeio.c: mark unused parameters
43594         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43595         (fallback_failure_callback): Likewise.
43596
43597         fts: fix a thinko
43598         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43599         (set_stat_type): Return S_IF*-valued "type" directly.
43600         Prompted by James Youngman's spotting a related bug.
43601         Confirmed by further testing through find.
43602
43603         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43604         * lib/fts.c (D_TYPE): Define.
43605         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43606         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43607         (s_ifmt_shift_bits): New function.
43608         (set_stat_type): New function.
43609         (fts_build): When not calling fts_stat, call set_stat_type
43610         to propagate dirent.d_type info to fts_read caller.
43611         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43612         fts_statp->st_mode type information may be valid.
43613
43614 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43615
43616         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43617         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43618         <sds@gnu.org>.
43619
43620 2008-11-20  Bruno Haible  <bruno@clisp.org>
43621
43622         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43623         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43624         INCLUDE_NEXT.
43625         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43626         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43627         * modules/math (Makefile.am): Substitute
43628         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43629         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43630
43631 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43632             Bruno Haible  <bruno@clisp.org>
43633
43634         * lib/stdint.in.h: Define all type macros so that their expansion is
43635         a single typedef'ed token. Fixes a compilation failure in Boost which
43636         does "using ::int8_t;".
43637
43638 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43639
43640         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43641         gl_MANYWARN_ALL_GCC.
43642         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43643         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43644         * modules/manywarnings: New file.
43645         * MODULES.html.sh: Mention manywarnings module.
43646
43647 2008-11-18  Bruno Haible  <bruno@clisp.org>
43648
43649         * doc/gnulib-tool.texi (Unit tests): New section.
43650
43651 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43652
43653         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43654         paths like 'lib/po/foo.po'.
43655
43656 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43657
43658         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43659         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43660
43661 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43662
43663         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43664         parameter works.
43665
43666 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43667
43668         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43669
43670 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43671
43672         * modules/parse-duration-tests: New file.
43673         * tests/test-parse-duration.sh: New file.
43674         * tests/test-parse-duration.c: New file.
43675
43676         New module 'parse-duration'.
43677         * lib/parse-duration.h: New file.
43678         * lib/parse-duration.c: New file.
43679         * modules/parse-duration: New file.
43680
43681 2008-11-17  Bruno Haible  <bruno@clisp.org>
43682
43683         * tests/test-select-out.sh: Comment out the first pipe test.
43684         Reported by Simon Josefsson.
43685
43686 2008-11-17  Bruno Haible  <bruno@clisp.org>
43687
43688         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43689         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43690         gl_HOSTENT.
43691
43692 2008-11-17  Bruno Haible  <bruno@clisp.org>
43693
43694         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43695         -lnetwork and -lnet. Needed for Haiku and BeOS.
43696
43697 2008-11-16  Bruno Haible  <bruno@clisp.org>
43698
43699         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43700
43701 2008-11-16  Bruno Haible  <bruno@clisp.org>
43702
43703         Avoid test failure on Haiku.
43704         * tests/test-fsync.c: Include <errno.h>.
43705         (main): Don't require that fsync (0) fails.
43706
43707 2008-11-15  Bruno Haible  <bruno@clisp.org>
43708
43709         New module 'hostent'.
43710         * modules/hostent: New file.
43711         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43712
43713 2008-11-15  Bruno Haible  <bruno@clisp.org>
43714
43715         New module 'servent'.
43716         * modules/servent: New file.
43717         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43718
43719 2008-11-15  Bruno Haible  <bruno@clisp.org>
43720
43721         Avoid generating same test program with two different rules.
43722         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43723         test-frexp to test-frexp-nolibm.
43724         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43725         test-frexpl to test-frexpl-nolibm.
43726
43727 2008-11-15  Bruno Haible  <bruno@clisp.org>
43728
43729         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43730         $(FREXPL_LIBM).
43731
43732 2008-11-15  Bruno Haible  <bruno@clisp.org>
43733
43734         * lib/netdb.in.h: Activate the definitions also when the system's
43735         <netdb.h> has 'struct addrinfo'.
43736         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43737         EAI_OVERFLOW or AI_NUMERICSERV.
43738         * doc/posix-headers/netdb.texi: Document the problem.
43739
43740 2008-11-15  Bruno Haible  <bruno@clisp.org>
43741
43742         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43743
43744         Make the 'sched' module work on platforms where <sched.h> exists but
43745         is incomplete (such as Haiku).
43746         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43747         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43748         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43749         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43750         HAVE_STRUCT_SCHED_PARAM.
43751         * modules/sched (Depends-on): Add include_next.
43752         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43753         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43754         * doc/posix-headers/sched.texi: Document the issue.
43755
43756 2008-11-13  Jim Meyering  <meyering@redhat.com>
43757
43758         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43759         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43760         test would fail due to the difference in the Report bugs to ...
43761         line.  The expected address is empty, "<>", while the actual
43762         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43763
43764 2008-11-12  Bruno Haible  <bruno@clisp.org>
43765
43766         lstat: don't compile lstat.c on systems lacking lstat
43767         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43768         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43769         Reported by Daniel P. Berrange via Jim Meyering.
43770
43771 2008-11-12  Jim Meyering  <meyering@redhat.com>
43772
43773         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43774
43775 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43776
43777         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43778         instead.
43779
43780 2008-11-12  Bruno Haible  <bruno@clisp.org>
43781
43782         * lib/unicodeio.c: Include unistr.h.
43783         (utf8_wctomb): Remove function.
43784         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43785
43786 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43787
43788         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43789         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43790         <bruno@clisp.org>.
43791         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43792
43793 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43794
43795         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43796         * doc/gnulib.texi: Add section for warnings.
43797
43798 2008-11-11  Bruno Haible  <bruno@clisp.org>
43799
43800         * lib/sockets.h: Add a comment.
43801
43802 2008-11-11  Karl Berry  <karl@gnu.org>
43803
43804         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43805
43806 2008-11-11  Eric Blake  <ebb9@byu.net>
43807
43808         fdl.texi: avoid git symlinks
43809         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43810
43811 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43812
43813         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43814
43815 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43816
43817         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43818         (gl_WARN_ADD): Substitute $2 if literal.
43819
43820 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43821
43822         * m4/warning.m4: Remove.
43823
43824 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43825
43826         * m4/warnings.m4: Almost complete rewrite. :-)
43827
43828 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43829
43830         * modules/warnings: New module.
43831         * m4/warnings.m4: New file.
43832         * MODULES.html.sh: Mention warnings module.
43833         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43834         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43835
43836 2008-11-10  Eric Blake  <ebb9@byu.net>
43837
43838         fdl.texi: make a symlink to the latest version
43839         * doc/standards.texi: Revert today's earlier change.
43840         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43841         * doc/fdl.texi: ...and replace this with a symlink to the newer
43842         fdl-1.3.texi.
43843
43844 2008-11-10  Bruno Haible  <bruno@clisp.org>
43845
43846         * tests/test-select-fd.c (main): Accept the result file name as fourth
43847         argument.
43848         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43849         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43850
43851 2008-11-10  Bruno Haible  <bruno@clisp.org>
43852
43853         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43854         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43855         as autoconf-substituted macros.
43856         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43857         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43858         gl_NETDB_H_DEFAULTS. Set these variables.
43859         * modules/netdb (Makefile.am): Substitute these variables.
43860
43861 2008-11-10  Eric Blake  <ebb9@byu.net>
43862
43863         standards.texi: include correct file for FDL 1.3
43864         * doc/standards.texi (GNU Free Documentation License): Change
43865         include file to pull in FDL 1.3, not 1.2.
43866
43867         fdl.texi: revert accidental change to license
43868         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43869
43870 2008-11-10  Bruno Haible  <bruno@clisp.org>
43871
43872         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43873         cross-compiling guesses also when the native compile gives no result.
43874
43875 2008-11-10  Bruno Haible  <bruno@clisp.org>
43876
43877         * lib/spawni.c (__spawni): Force variable into the stack.
43878
43879 2008-11-10  Bruno Haible  <bruno@clisp.org>
43880
43881         Add support for Haiku.
43882         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43883         glibc and BeOS, but also on Haiku.
43884         * lib/fpurge.c (fpurge): Likewise.
43885         * lib/freadable.c (freadable): Likewise.
43886         * lib/freadahead.c (freadahead): Likewise.
43887         * lib/freading.c (freading): Likewise.
43888         * lib/freadptr.c (freadptr): Likewise.
43889         * lib/freadseek.c (freadptrinc): Likewise.
43890         * lib/fseeko.c (rpl_fseeko): Likewise.
43891         * lib/fseterr.c (fseterr): Likewise.
43892         * lib/fwritable.c (fwritable): Likewise.
43893         * lib/fwriting.c (fwriting): Likewise.
43894         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43895
43896 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43897
43898         * lib/config.charset: Treat Haiku like BeOS.
43899
43900 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43901
43902         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43903         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43904
43905 2008-11-08  Bruno Haible  <bruno@clisp.org>
43906
43907         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43908         AC_CACHE_CHECK.
43909
43910 2008-11-08  Bruno Haible  <bruno@clisp.org>
43911
43912         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43913
43914 2008-11-08  Bruno Haible  <bruno@clisp.org>
43915
43916         * tests/test-select-fd.c: New file.
43917         * tests/test-select-in.sh: New file.
43918         * tests/test-select-out.sh: New file.
43919         * tests/test-select-stdin.c: New file.
43920         * modules/select-tests (Files): Add the new files.
43921         (Depends-on): Add gettimeofday.
43922         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43923         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43924         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43925
43926 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
43927             Bruno Haible  <bruno@clisp.org>
43928
43929         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
43930
43931 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
43932
43933         * build-aux/pmccabe2html: Added support for C++ source files.
43934
43935 2008-11-05  Ben Pfaff  <blp@gnu.org>
43936
43937         Fix lib/close.c build on Windows.
43938         * modules/close (Files): Add lib/w32sock.h.
43939
43940 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
43941
43942         Accept Bison's NEWS format.
43943         * build-aux/announce-gen (print_news_deltas): Tweak
43944         $re_prefix.
43945
43946 2008-11-04  Bruno Haible  <bruno@clisp.org>
43947
43948         * modules/random_r (Maintainer): Add glibc.
43949
43950 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43951
43952         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
43953         by karl@freefriends.org (Karl Berry).
43954         * doc/alloca.texi: Likewise.
43955         * doc/c-ctype.texi: Likewise.
43956         * doc/c-strcase.texi: Likewise.
43957         * doc/c-strcaseeq.texi: Likewise.
43958         * doc/c-strcasestr.texi: Likewise.
43959         * doc/c-strstr.texi: Likewise.
43960         * doc/c-strtod.texi: Likewise.
43961         * doc/c-strtold.texi: Likewise.
43962         * doc/ctime.texi: Likewise.
43963         * doc/error.texi: Likewise.
43964         * doc/fdl.texi: Likewise.
43965         * doc/gcd.texi: Likewise.
43966         * doc/getdate.texi: Likewise.
43967         * doc/gnulib-intro.texi: Likewise.
43968         * doc/gnulib-tool.texi: Likewise.
43969         * doc/gnulib.texi: Likewise.
43970         * doc/inet_ntoa.texi: Likewise.
43971         * doc/maintain.texi: Likewise.
43972         * doc/make-stds.texi: Likewise.
43973         * doc/quote.texi: Likewise.
43974         * doc/regexprops-generic.texi: Likewise.
43975         * doc/standards.texi: Likewise.
43976         * doc/verify.texi: Likewise.
43977         * doc/visibility.texi: Likewise.
43978         * doc/gnulib.texi (GNU Free Documentation License): Include
43979         fdl-1.3.texi instead of fdl.texi.
43980
43981 2008-11-04  Simon Josefsson  <simon@josefsson.org>
43982
43983         * doc/fdl-1.3.texi: New file, from
43984         <http://www.gnu.org/licenses/fdl-1.3.texi>.
43985         * modules/fdl-1.3: Add.
43986         * MODULES.html.sh: Add fdl-1.3.
43987
43988 2008-11-03  Bruno Haible  <bruno@clisp.org>
43989
43990         Make determination of absolute name of header file work with AIX xlc.
43991         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
43992         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
43993         preprocessing.
43994         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43995         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
43996
43997 2008-11-03  Simon Josefsson  <simon@josefsson.org>
43998
43999         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44000         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44001         <ludo@gnu.org>.
44002
44003 2008-11-02  Bruno Haible  <bruno@clisp.org>
44004
44005         Mark 'strpbrk' obsolete.
44006         * modules/strpbrk (Status, Notice): New sections.
44007         * modules/strtok_r (Depends-on): Add strpbrk.
44008
44009 2008-11-02  Bruno Haible  <bruno@clisp.org>
44010
44011         Mark 'strdup' obsolete.
44012         * modules/strdup (Status, Notice): New sections.
44013         * modules/findprog (Depends-on): Add strdup.
44014         * modules/getaddrinfo (Depends-on): Likewise.
44015         * modules/localename (Depends-on): Likewise.
44016         * modules/relocatable-lib (Depends-on): Likewise.
44017         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44018         * modules/relocatable-prog (Depends-on): Likewise.
44019         * modules/trim (Depends-on): Likewise.
44020         * modules/unictype/gen-ctype (Depends-on): Likewise.
44021         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44022
44023 2008-11-02  Bruno Haible  <bruno@clisp.org>
44024
44025         Mark 'strcspn' obsolete.
44026         * modules/strcspn (Status, Notice): New sections.
44027
44028 2008-11-02  Bruno Haible  <bruno@clisp.org>
44029
44030         Mark 'rmdir' obsolete.
44031         * modules/rmdir (Status, Notice): New sections.
44032         * modules/clean-temp (Depends-on): Add rmdir.
44033         * modules/openat (Depends-on): Likewise.
44034
44035 2008-11-02  Bruno Haible  <bruno@clisp.org>
44036
44037         Mark 'raise' obsolete.
44038         * modules/raise (Status, Notice): New sections.
44039         (Include): Specify <signal.h>.
44040         * modules/stdio (Depends-on): Add raise.
44041         * modules/write (Depends-on): Likewise.
44042
44043 2008-11-02  Bruno Haible  <bruno@clisp.org>
44044
44045         Mark 'memset' obsolete.
44046         * modules/memset (Status, Notice): New sections.
44047
44048 2008-11-02  Bruno Haible  <bruno@clisp.org>
44049
44050         Mark 'memmove' obsolete.
44051         * modules/memmove (Status, Notice): New sections.
44052         * modules/argp (Depends-on): Add memmove.
44053         * modules/argz (Depends-on): Likewise.
44054         * modules/canonicalize (Depends-on): Likewise.
44055         * modules/canonicalize-lgpl (Depends-on): Likewise.
44056         * modules/fts (Depends-on): Likewise.
44057         * modules/getcwd (Depends-on): Likewise.
44058         * modules/human (Depends-on): Likewise.
44059         * modules/regex (Depends-on): Likewise.
44060         * modules/striconveh (Depends-on): Likewise.
44061         * modules/trim (Depends-on): Likewise.
44062         * modules/unistr/u8-move (Depends-on): Likewise.
44063         * modules/unistr/u16-move (Depends-on): Likewise.
44064         * modules/unistr/u32-move (Depends-on): Likewise.
44065
44066 2008-11-02  Bruno Haible  <bruno@clisp.org>
44067
44068         Mark 'memcpy' obsolete.
44069         * modules/memcpy (Status, Notice): New sections.
44070
44071 2008-11-02  Bruno Haible  <bruno@clisp.org>
44072
44073         Mark 'memcmp' obsolete.
44074         * modules/memcmp (Status, Notice): New sections.
44075         * modules/argmatch (Depends-on): Add memchr.
44076         * modules/backupfile (Depends-on): Likewise.
44077         * modules/c-strcasestr (Depends-on): Likewise.
44078         * modules/crypto/des (Depends-on): Likewise.
44079         * modules/csharpcomp (Depends-on): Likewise.
44080         * modules/fnmatch (Depends-on): Likewise.
44081         * modules/git-merge-changelog (Depends-on): Likewise.
44082         * modules/isnand (Depends-on): Likewise.
44083         * modules/isnand-nolibm (Depends-on): Likewise.
44084         * modules/isnanf (Depends-on): Likewise.
44085         * modules/isnanf-nolibm (Depends-on): Likewise.
44086         * modules/isnanl (Depends-on): Likewise.
44087         * modules/isnanl-nolibm (Depends-on): Likewise.
44088         * modules/mbchar (Depends-on): Likewise.
44089         * modules/memcoll (Depends-on): Likewise.
44090         * modules/quotearg (Depends-on): Likewise.
44091         * modules/regex (Depends-on): Likewise.
44092         * modules/relocatable-prog (Depends-on): Likewise.
44093         * modules/same (Depends-on): Likewise.
44094         * modules/signbit (Depends-on): Likewise.
44095         * modules/strcasestr-simple (Depends-on): Likewise.
44096         * modules/unictype/gen-ctype (Depends-on): Likewise.
44097         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44098         * modules/uniname/uniname (Depends-on): Likewise.
44099         * modules/unistr/u8-cmp (Depends-on): Likewise.
44100
44101 2008-11-02  Bruno Haible  <bruno@clisp.org>
44102
44103         Mark 'memchr' obsolete.
44104         * modules/memchr (Status, Notice): New sections.
44105         * modules/argp (Depends-on): Add memchr.
44106         * modules/base64 (Depends-on): Likewise.
44107         * modules/c-strcasestr (Depends-on): Likewise.
44108         * modules/chdir-long (Depends-on): Likewise.
44109         * modules/fnmatch (Depends-on): Likewise.
44110         * modules/getsubopt (Depends-on): Likewise.
44111         * modules/git-merge-changelog (Depends-on): Likewise.
44112         * modules/glob (Depends-on): Likewise.
44113         * modules/strcasestr-simple (Depends-on): Likewise.
44114         * modules/strnlen (Depends-on): Likewise.
44115
44116 2008-11-02  Bruno Haible  <bruno@clisp.org>
44117
44118         Mark 'atexit' obsolete.
44119         * modules/atexit (Status, Notice): New sections.
44120         * modules/chdir-long (Depends-on): Add atexit.
44121         * modules/wait-process (Depends-on): Likewise.
44122
44123 2008-11-02  Bruno Haible  <bruno@clisp.org>
44124
44125         * gnulib-tool: New option --with-obsolete.
44126         (func_usage): Document it.
44127         (func_modules_transitive_closure): Drop obsolete dependencies if
44128         incobsolete is not true.
44129         (func_import): Read and save the incobsolete variable to the cache.
44130
44131 2008-11-02  Bruno Haible  <bruno@clisp.org>
44132
44133         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44134         * gnulib-tool: New option --extract-status.
44135         (func_usage): Document it.
44136         (sed_extract_prog): Recognize it.
44137         (func_get_status): New function.
44138
44139 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44140
44141         * modules/sockets (License): Change from LGPL to LGPLv2+.
44142
44143 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44144
44145         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44146
44147 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44148
44149         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44150         Mention times and sys_times.
44151         * modules/sys_times, modules/sys_times-tests: New modules.
44152         * modules/times, modules/times-tests: Likewise
44153         * m4/sys_times_h.m4: New file.
44154         * lib/sys_times.in.h: Likewise
44155         * lib/times.c: Likewise.
44156         * tests/test-sys_times.c: Likewise.
44157         * tests/test-times.c: Likewise.
44158         * doc/posix-headers/sys_times.texi: Update.
44159         * doc/posix-functions/times.texi: Update.
44160
44161 2008-10-28  Jim Meyering  <meyering@redhat.com>
44162
44163         * modules/tempname (Depends-on): Add lstat.
44164
44165         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44166
44167 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44168
44169         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44170         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44171         using idiom used elsewhere in gnulib.
44172
44173 2008-10-27  Jim Meyering  <meyering@redhat.com>
44174
44175         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44176
44177 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44178
44179         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44180         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44181         programs.
44182         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44183
44184 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44185
44186         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44187
44188 2008-10-27  Bruno Haible  <bruno@clisp.org>
44189
44190         * tests/test-lstat.c: Include <stdio.h>.
44191
44192 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44193
44194         * modules/lstat-tests: New module.
44195         * tests/test-lstat.c: New file.
44196
44197 2008-10-26  Jim Meyering  <meyering@redhat.com>
44198
44199         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44200
44201 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44202             Bruno Haible  <bruno@clisp.org>
44203
44204         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44205         * modules/configmake (Include): Add a note that the include must come
44206         after all system headers.
44207         * lib/javaversion.c: Include configmake.h after all other includes.
44208
44209 2008-10-26  Bruno Haible  <bruno@clisp.org>
44210
44211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44212         HAVE_STRUCT_RANDOM_DATA to 1.
44213         (gl_STDLIB_H): Simplify.
44214
44215 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44216
44217         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44218         substitute HAVE_STRUCT_RANDOM_DATA.
44219         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44220         random_data.
44221         * modules/stdlib (Makefile.am): Substitute
44222         HAVE_STRUCT_RANDOM_DATA.
44223
44224 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44225
44226         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44227         * doc/gnulib-intro.texi (Copyright): Likewise.
44228
44229 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44230
44231         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44232         findings.
44233
44234 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44235             Bruno Haible  <bruno@clisp.org>
44236
44237         * lib/unistd.in.h: Include <winsock2.h>.
44238         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44239         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44240         Provide dummy declarations.
44241         (gethostname): Override.
44242         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44243         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44244         gl_PREREQ_SYS_H_WINSOCK2.
44245         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44246         * doc/posix-functions/gethostname.texi: More details.
44247
44248 2008-10-25  Bruno Haible  <bruno@clisp.org>
44249
44250         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44251         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44252         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44253
44254         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44255         here ...
44256         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44257         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44258         gl_UNISTD_H_DEFAULTS.
44259
44260 2008-10-25  Eric Blake  <ebb9@byu.net>
44261
44262         signbit: avoid spurious compiler failure
44263         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44264         declarations inside function.
44265
44266 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44267             Bruno Haible  <bruno@clisp.org>
44268
44269         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44270         * modules/random_r (Depends-on): Add stdint.
44271
44272 2008-10-24  Bruno Haible  <bruno@clisp.org>
44273
44274         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44275         Eggert.
44276         * modules/strerror (License): Likewise.
44277
44278 2008-10-24  Jim Meyering  <meyering@redhat.com>
44279
44280         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44281         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44282
44283 2008-10-24  Eric Blake  <ebb9@byu.net>
44284
44285         getgroups: fix compilation when getgroups is available
44286         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44287         but with <config.h> override of getgroups disabled.
44288
44289 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44290
44291         * doc/gnulib.texi (Header files): Add note about C++ problems.
44292         Explained by Bruno Haible <bruno@clisp.org>.
44293
44294 2008-10-23  Bruno Haible  <bruno@clisp.org>
44295
44296         Define a dummy SA_NODEFER macro on Interix.
44297         * lib/signal.in.h (SA_NODEFER): Define fallback.
44298         Reported by Aleksey Cheusov <cheusov@tut.by> via
44299         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44300
44301 2008-10-23  Bruno Haible  <bruno@clisp.org>
44302
44303         * modules/freadahead (License): Change to LGPLv2+.
44304         Suggested by Simon Josefsson.
44305
44306 2008-10-23  Jim Meyering  <meyering@redhat.com>
44307
44308         random_r: new module
44309         * modules/random_r: New file.
44310         * m4/random_r.m4: New file.
44311         * lib/random_r.c: New file, from glibc.
44312         * modules/random_r-tests: New file.
44313         * tests/test-random_r.c: New file.
44314         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44315          Declare.
44316         (RAND_MAX): Define.
44317         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44318         * modules/stdlib: Substitute them, too.
44319         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44320         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44321         * doc/glibc-functions/random_r.texi: Likewise.
44322         * doc/glibc-functions/setstate_r.texi: Likewise.
44323         * doc/glibc-functions/srandom_r.texi: Likewise.
44324         * config/srclist.txt: Mention it.
44325
44326 2008-10-23  David Lutterkort  <lutter@redhat.com>
44327
44328         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44329         link requirement
44330
44331 2008-10-23  Jim Meyering  <meyering@redhat.com>
44332
44333         selinux-h: mark parameters of stub functions as intentionally unused
44334         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44335         * lib/se-context.in.h: Likewise.
44336
44337 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44338
44339         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44340
44341 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44342
44343         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44344
44345 2008-10-22  Eric Blake  <ebb9@byu.net>
44346
44347         glthread/thread: avoid compiler warning
44348         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44349         Add unreachable abort to silence compiler.
44350
44351 2008-10-22  Eric Blake  <ebb9@byu.net>
44352
44353         netdb: also supply struct addrinfo for cygwin 1.5.x
44354         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44355         older cygwin.
44356         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44357         cygwin.
44358         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44359
44360 2008-10-22  Bruno Haible  <bruno@clisp.org>
44361
44362         * users.txt: Update entry about pspp.
44363
44364 2008-10-21  Bruno Haible  <bruno@clisp.org>
44365
44366         Simplification.
44367         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44368         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44369
44370         Simplification.
44371         * lib/ioctl.c (ioctl): Don't undefine.
44372         * lib/socket.c (socket): Don't undefine.
44373
44374         Remove unused module indicator macros.
44375         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44376         GNULIB_$1 as a C macro.
44377
44378         * doc/posix-functions/close.texi: Undo last change.
44379         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44380         Windows platforms.
44381
44382 2008-10-21  Bruno Haible  <bruno@clisp.org>
44383
44384         Add gethostname() declaration to <unistd.h>.
44385         * lib/unistd.in.h (gethostname): New declaration.
44386         * lib/gethostname.c: Include <unistd.h>.
44387         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44388         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44390         and HAVE_GETHOSTNAME.
44391         * modules/gethostname (Depends-on): Add unistd.
44392         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44393         (Include): Specify <unistd.h>.
44394         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44395         HAVE_GETHOSTNAME.
44396         * tests/test-gethostname.c: Include <unistd.h> first.
44397
44398 2008-10-21  Bruno Haible  <bruno@clisp.org>
44399
44400         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44401         * modules/select-tests (Depends-on): Likewise.
44402         Reported by Simon Josefsson.
44403
44404 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44405
44406         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44407         * lib/accept.c: New file, based on winsock.c.
44408         * lib/bind.c: New file, based on winsock.c.
44409         * lib/connect.c: New file, based on winsock.c.
44410         * lib/getpeername.c: New file, based on winsock.c.
44411         * lib/getsockname.c: New file, based on winsock.c.
44412         * lib/getsockopt.c: New file, based on winsock.c.
44413         * lib/ioctl.c: New file, based on winsock.c.
44414         * lib/listen.c: New file, based on winsock.c.
44415         * lib/recv.c: New file, based on winsock.c.
44416         * lib/recvfrom.c: New file, based on winsock.c.
44417         * lib/send.c: New file, based on winsock.c.
44418         * lib/sendto.c: New file, based on winsock.c.
44419         * lib/setsockopt.c: New file, based on winsock.c.
44420         * lib/shutdown.c: New file, based on winsock.c.
44421         * lib/socket.c: New file, based on winsock.c.
44422         * lib/w32sock.h: New file, based on winsock.c.
44423         * lib/winsock.c: Remove file.
44424         * modules/accept: Likewise.
44425         * modules/bind: Likewise.
44426         * modules/connect: Likewise.
44427         * modules/getpeername: Likewise.
44428         * modules/getsockname: Likewise.
44429         * modules/getsockopt: Likewise.
44430         * modules/ioctl: Likewise.
44431         * modules/listen: Likewise.
44432         * modules/recv: Likewise.
44433         * modules/recvfrom: Likewise.
44434         * modules/send: Likewise.
44435         * modules/sendto: Likewise.
44436         * modules/setsockopt: Likewise.
44437         * modules/shutdown: Likewise.
44438         * modules/socket: Use socket.c instead of winsock.c.
44439         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44440         * doc/posix-functions/accept.texi: Doc fix.
44441         * doc/posix-functions/bind.texi: Doc fix.
44442         * doc/posix-functions/close.texi: Doc fix.
44443         * doc/posix-functions/connect.texi: Doc fix.
44444         * doc/posix-functions/getpeername.texi: Doc fix.
44445         * doc/posix-functions/getsockname.texi: Doc fix.
44446         * doc/posix-functions/getsockopt.texi: Doc fix.
44447         * doc/posix-functions/ioctl.texi: Doc fix.
44448         * doc/posix-functions/listen.texi: Doc fix.
44449         * doc/posix-functions/recv.texi: Doc fix.
44450         * doc/posix-functions/recvfrom.texi: Doc fix.
44451         * doc/posix-functions/send.texi: Doc fix.
44452         * doc/posix-functions/sendto.texi: Doc fix.
44453         * doc/posix-functions/setsockopt.texi: Doc fix.
44454         * doc/posix-functions/shutdown.texi: Doc fix.
44455         * doc/posix-functions/socket.texi: Doc fix.
44456
44457 2008-10-20  Bruno Haible  <bruno@clisp.org>
44458
44459         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44460         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44461         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44462         as an alias for SIGABRT.
44463         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44464         (sigaction): Map it to SIGABRT.
44465         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44466
44467 2008-10-20  Bruno Haible  <bruno@clisp.org>
44468
44469         * lib/fts.c: Don't include lstat.h.
44470         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44471
44472         Move the lstat() declaration to <sys/stat.h>.
44473         * lib/lstat.h: Remove file.
44474         * lib/sys_stat.in.h: Add special invocation convention.
44475         (lstat): New declaration.
44476         * lib/lstat.c (orig_lstat): New function.
44477         (rpl_lstat): Use orig_lstat instead of lstat.
44478         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44479         AC_C_INLINE. Set REPLACE_LSTAT.
44480         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44481         and REPLACE_LSTAT.
44482         * modules/lstat (Files): Remove lib/lstat.h.
44483         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44484         (Include): Specify <sys/stat.h> instead of lstat.h.
44485         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44486         REPLACE_LSTAT.
44487         * NEWS: Mention the change.
44488
44489 2008-10-20  Bruno Haible  <bruno@clisp.org>
44490
44491         * modules/posix_spawn-tests: New file.
44492         * tests/test-posix_spawn3.c: New file.
44493
44494 2008-10-20  Bruno Haible  <bruno@clisp.org>
44495
44496         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44497         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44498         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44499         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44500         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44501
44502 2008-10-20  Bruno Haible  <bruno@clisp.org>
44503
44504         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44505         of posix_spawn on AIX 5.3.
44506
44507 2008-10-20  Bruno Haible  <bruno@clisp.org>
44508
44509         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44510
44511 2008-10-20  Bruno Haible  <bruno@clisp.org>
44512
44513         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44514         of AC_LANG_PROGRAM.
44515
44516 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44517
44518         * lib/netdb.in.h: Don't define GNU specific constants until they
44519         are supported or needed.  Reported by Bruno Haible
44520         <bruno@clisp.org>.
44521
44522 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44523
44524         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44525
44526 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44527
44528         * lib/getaddrinfo.h: Remove file.
44529         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44530         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44531         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44532         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44533         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44534         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44535         * tests/test-getaddrinfo.c: Likewise.
44536         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44537         * NEWS: Mention change.
44538
44539 2008-10-19  Bruno Haible  <bruno@clisp.org>
44540
44541         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44542
44543 2008-10-19  Bruno Haible  <bruno@clisp.org>
44544
44545         * lib/wait-process.c: Include simply <sys/wait.h>.
44546         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44547         WIFSTOPPED): Remove fallback definitions.
44548         * modules/wait-process (Depends-on): Add sys_wait.
44549
44550         New module 'sys_wait'.
44551         * modules/sys_wait: New file.
44552         * lib/sys_wait.in.h: New file, partially copied from
44553         lib/wait-process.c.
44554         * m4/sys_wait_h.m4: New file.
44555         * doc/posix-headers/sys_wait.texi: Mention the new module.
44556
44557 2008-10-19  Bruno Haible  <bruno@clisp.org>
44558
44559         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44560
44561 2008-10-19  Bruno Haible  <bruno@clisp.org>
44562
44563         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44564         * lib/wait-process.c (WAIT_T): Remove type.
44565         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44566         (wait_subprocess): Update.
44567
44568 2008-10-19  Bruno Haible  <bruno@clisp.org>
44569
44570         New module 'atoll'.
44571         * modules/atoll: New file.
44572         * lib/stdlib.in.h (atoll): New declaration.
44573         * lib/atoll.c: New file, from glibc with modifications.
44574         * m4/atoll.m4: New file.
44575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44576         HAVE_ATOLL.
44577         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44578         * doc/posix-functions/atoll.texi: Mention the new module.
44579
44580 2008-10-19  Bruno Haible  <bruno@clisp.org>
44581
44582         Add strtoull() declaration to <stdlib.h>.
44583         * lib/stdlib.in.h (strtoull): New declaration.
44584         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44585         Set HAVE_STRTOULL.
44586         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44587         HAVE_STRTOULL.
44588         * modules/strtoull (Depends-on): Add stdlib.
44589         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44590         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44591         HAVE_STRTOULL.
44592
44593 2008-10-19  Bruno Haible  <bruno@clisp.org>
44594
44595         Add strtoll() declaration to <stdlib.h>.
44596         * lib/stdlib.in.h (strtoll): New declaration.
44597         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44598         Set HAVE_STRTOLL.
44599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44600         HAVE_STRTOLL.
44601         * modules/strtoll (Depends-on): Add stdlib.
44602         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44603         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44604
44605 2008-10-19  Bruno Haible  <bruno@clisp.org>
44606
44607         * modules/bcopy (Depends-on): Add strings.
44608         (Include): Specify <strings.h>.
44609
44610 2008-10-19  Bruno Haible  <bruno@clisp.org>
44611
44612         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44613
44614 2008-10-19  Bruno Haible  <bruno@clisp.org>
44615
44616         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44617         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44618         mingw.
44619
44620 2008-10-19  Bruno Haible  <bruno@clisp.org>
44621
44622         * lib/atanl.c: Don't include isnanl.h.
44623         * lib/cosl.c: Likewise.
44624         * lib/ldexpl.c: Likewise.
44625         * lib/logl.c: Likewise.
44626         * lib/sinl.c: Likewise.
44627         * lib/sqrtl.c: Likewise.
44628         * lib/tanl.c: Likewise.
44629
44630         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44631         * lib/isnanf.h: Remove file.
44632         * lib/isnand.h: Remove file.
44633         * lib/isnanl.h: Remove file.
44634         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44635         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44636         macros.
44637         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44638         HAVE_ISNANF, don't define it as a C macro.
44639         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44640         HAVE_ISNAND, don't define it as a C macro.
44641         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44642         HAVE_ISNANL, don't define it as a C macro.
44643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44644         HAVE_ISNAN[FDL].
44645         * modules/isnanf (Files): Remove lib/isnanf.h.
44646         (Depends-on): Add math.
44647         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44648         (Include): Specify <math.h> instead of isnanf.h.
44649         * modules/isnand (Files): Remove lib/isnand.h.
44650         (Depends-on): Add math.
44651         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44652         (Include): Specify <math.h> instead of isnand.h.
44653         * modules/isnanl (Files): Remove lib/isnanl.h.
44654         (Depends-on): Add math.
44655         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44656         (Include): Specify <math.h> instead of isnanl.h.
44657         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44658         HAVE_ISNAN[FDL].
44659         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44660         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44661         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44662         * NEWS: Mention the change.
44663
44664 2008-10-18  Bruno Haible  <bruno@clisp.org>
44665
44666         Add getusershell(), setusershell(), endusershell() declarations to
44667         <unistd.h>.
44668         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44669         declarations.
44670         * lib/getusershell.c: Include unistd.h.
44671         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44672         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44673         HAVE_GETUSERSHELL.
44674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44675         and HAVE_GETUSERSHELL.
44676         * modules/getusershell (Depends-on): Add unistd, extensions.
44677         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44678         (Include): Specify <unistd.h>.
44679         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44680         HAVE_GETUSERSHELL.
44681
44682 2008-10-18  Bruno Haible  <bruno@clisp.org>
44683
44684         Add a getloadavg() declaration to <stdlib.h>.
44685         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44686         getloadavg declaration.
44687         (getloadavg): New declaration.
44688         * lib/getloadavg.c: Include <stdlib.h> first.
44689         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44690         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44691         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44693         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44694         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44695         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44696         (Include): Specify <stdlib.h>.
44697         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44698         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44699
44700 2008-10-18  Bruno Haible  <bruno@clisp.org>
44701
44702         * lib/dirchownmod.c: Don't include lchmod.h.
44703
44704         Move the lchmod() declaration to <sys/stat.h>.
44705         * lib/lchmod.h: Remove file.
44706         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44707         (lchmod): New declaration, moved here from lib/lchown.h.
44708         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44709         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44710         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44711         and HAVE_LCHMOD.
44712         * modules/lchmod (Files): Remove lib/lchmod.h.
44713         (Depends-on): Add sys_stat, extensions.
44714         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44715         (Include): Specify <sys/stat.h> instead of lchmod.h.
44716         * modules/sys_stat (Depends-on): Add link-warning.
44717         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44718         definition of GL_LINK_WARNING.
44719         * NEWS: Mention the change.
44720
44721 2008-10-18  Bruno Haible  <bruno@clisp.org>
44722
44723         * lib/fchdir.c: Don't include dirfd.h.
44724         * lib/fts.c: Likewise.
44725         * lib/getcwd.c: Likewise.
44726         * lib/glob.c: Likewise.
44727
44728         Move the dirfd() declaration to <dirent.h>.
44729         * lib/dirfd.h: Remove file.
44730         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44731         (dirfd): New declaration.
44732         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44733         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44734         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44735         HAVE_DECL_DIRFD.
44736         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44737         HAVE_DECL_DIRFD.
44738         * modules/dirfd (Files): Remove lib/dirfd.h.
44739         (Depends-on): Add dirent, extensions.
44740         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44741         (Include): Specify <dirent.h> instead of dirfd.h.
44742         * modules/dirent (Depends-on): Add link-warning.
44743         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44744         definition of GL_LINK_WARNING.
44745         * NEWS: Mention the change.
44746
44747 2008-10-18  Bruno Haible  <bruno@clisp.org>
44748
44749         Move the euidaccess() declaration to <unistd.h>.
44750         * lib/euidaccess.h: Remove file.
44751         * lib/unistd.in.h (euidaccess): New declaration.
44752         * lib/euidaccess.c: Don't include euidaccess.h.
44753         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44754         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44756         and HAVE_EUIDACCESS.
44757         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44758         (Depends-on): Add unistd.
44759         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44760         (Include): Specify <unistd.h> instead of euidaccess.h.
44761         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44762         HAVE_EUIDACCESS.
44763         * NEWS: Mention the change.
44764
44765 2008-10-18  Bruno Haible  <bruno@clisp.org>
44766
44767         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44768
44769         Move the getdomainname() declaration to <unistd.h>.
44770         * lib/getdomainname.h: Remove file.
44771         * lib/unistd.in.h (getdomainname): New declaration.
44772         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44773         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44774         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44775         HAVE_GETDOMAINNAME.
44776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44777         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44778         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44779         (Depends-on): Add unistd, extensions.
44780         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44781         (Includes): Specify <unistd.h> instead of getdomainname.h.
44782         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44783         HAVE_GETDOMAINNAME.
44784         * NEWS: Mention the change.
44785
44786 2008-10-18  Bruno Haible  <bruno@clisp.org>
44787
44788         * modules/dirent: New file.
44789         * m4/dirent_h.m4: New file.
44790         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44791         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44792         * modules/fchdir (Files): Remove lib/dirent.in.h.
44793         (Depends-on): Add dirent.
44794         (Makefile.am): Move rules to modules/dirent.
44795         * doc/posix-headers/dirent.texi: Mention the new module.
44796
44797 2008-10-18  Bruno Haible  <bruno@clisp.org>
44798
44799         Avoid -Wunused-parameter warnings in public gnulib header files.
44800         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44801         macro.
44802         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44803
44804 2008-10-18  Bruno Haible  <bruno@clisp.org>
44805
44806         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44807         * doc/glibc-functions/error.texi: Mention the module 'error'.
44808         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44809         * doc/glibc-functions/getdomainname.texi: Mention the module
44810         'getdomainname'.
44811         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44812         * doc/glibc-functions/getpagesize.texi: Mention the module
44813         'getpagesize'.
44814         * doc/glibc-functions/getusershell.texi: Mention the module
44815         'getusershell'.
44816         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44817         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44818         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44819         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44820         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44821         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44822         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44823         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44824         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44825         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44826         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44827         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44828         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44829         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44830
44831 2008-10-17  Bruno Haible  <bruno@clisp.org>
44832
44833         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44834         HP-UX and IRIX, use -0.0L.
44835         * tests/test-ceill.c (minus_zero): Likewise.
44836         * tests/test-floorl.c (minus_zero): Likewise.
44837         * tests/test-frexpl.c (minus_zero): Likewise.
44838         * tests/test-isnan.c (minus_zerol): Likewise.
44839         * tests/test-isnanl.h (minus_zero): Likewise.
44840         * tests/test-ldexpl.c (minus_zero): Likewise.
44841         * tests/test-roundl.c (minus_zero): Likewise.
44842         * tests/test-signbit.c (minus_zerol): Likewise.
44843         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44844         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44845         * tests/test-truncl.c (minus_zero): Likewise.
44846         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44847         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44848         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44849         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44850
44851 2008-10-17  Bruno Haible  <bruno@clisp.org>
44852
44853         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44854         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44855         that it gets activated only for gcc >= 3.0.
44856         * lib/dirent.in.h: Likewise.
44857         * lib/errno.in.h: Likewise.
44858         * lib/fcntl.in.h: Likewise.
44859         * lib/float.in.h: Likewise.
44860         * lib/iconv.in.h: Likewise.
44861         * lib/inttypes.in.h: Likewise.
44862         * lib/locale.in.h: Likewise.
44863         * lib/math.in.h: Likewise.
44864         * lib/netdb.in.h: Likewise.
44865         * lib/netinet_in.in.h: Likewise.
44866         * lib/search.in.h: Likewise.
44867         * lib/signal.in.h: Likewise.
44868         * lib/spawn.in.h: Likewise.
44869         * lib/stdarg.in.h: Likewise.
44870         * lib/stdint.in.h: Likewise.
44871         * lib/stdio.in.h: Likewise.
44872         * lib/stdlib.in.h: Likewise.
44873         * lib/string.in.h: Likewise.
44874         * lib/strings.in.h: Likewise.
44875         * lib/sys_file.in.h: Likewise.
44876         * lib/sys_ioctl.in.h: Likewise.
44877         * lib/sys_select.in.h: Likewise.
44878         * lib/sys_socket.in.h: Likewise.
44879         * lib/sys_stat.in.h: Likewise.
44880         * lib/sys_time.in.h: Likewise.
44881         * lib/sysexits.in.h: Likewise.
44882         * lib/time.in.h: Likewise.
44883         * lib/unistd.in.h: Likewise.
44884         * lib/wchar.in.h: Likewise.
44885         * lib/wctype.in.h: Likewise.
44886         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44887
44888 2008-10-17  Jim Meyering  <meyering@redhat.com>
44889
44890         ignore-value: don't depend on inline module
44891         * modules/ignore-value (Depends-on): Remove 'inline'.
44892         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44893         Suggestion from Bruno Haible.
44894
44895 2008-10-17  Bruno Haible  <bruno@clisp.org>
44896
44897         New implementation of condition variables for Win32.
44898         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44899         (gl_linked_waitqueue_t): New type.
44900         (gl_cond_t): Use it.
44901         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44902         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44903         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44904         (glthread_cond_init_func, glthread_cond_wait_func,
44905         glthread_cond_timedwait_func, glthread_cond_signal_func,
44906         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44907         Reimplemented on the basis of gl_linked_waitqueue_t.
44908         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44909         gl_waitqueue_t.
44910         (gl_rwlock_t): Update.
44911         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44912
44913 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44914
44915         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44916         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44917
44918 2008-10-17  Jim Meyering  <meyering@redhat.com>
44919
44920         ignore-value: new module
44921         * modules/ignore-value: New file.
44922         * lib/ignore-value.h: New file.
44923         * MODULES.html.sh (Compiler warning management): New section,
44924         just for this module.  More to come.
44925
44926 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44927
44928         open-safer.c: avoid 'signed and unsigned in conditional...' warning
44929         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
44930         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
44931
44932 2008-10-16  Jim Meyering  <meyering@redhat.com>
44933
44934         openat-die.c: avoid 'no previous prototype' warning
44935         * lib/openat-die.c: Include "openat.h".
44936         Reported by Reuben Thomas <rrt@sc3d.org>.
44937
44938 2008-10-16  Simon Josefsson  <simon@josefsson.org>
44939
44940         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
44941         * lib/netdb.in.h: Fix typo.
44942         Reported by Bruno Haible  <bruno@clisp.org>
44943
44944         * lib/netdb.in.h: Include sys/socket.h for platforms without
44945         netdb.h, to get structures like hostent on MinGW.
44946         * modules/netdb (Depends-on): Add sys_socket.
44947
44948 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44949
44950         * modules/netdb, modules/netdb-tests: New file.
44951         * m4/netdb_h.m4: New file.
44952         * lib/netdb.in.h: Add, currently just an empty file pending
44953         definitions.
44954         * tests/test-netdb.c: New file.
44955         * doc/posix-headers/netdb.texi: Mention that we replace it if
44956         needed.
44957         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44958         netdb.
44959
44960 2008-10-15  Simon Josefsson  <simon@josefsson.org>
44961
44962         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
44963         with code.
44964
44965 2008-10-13  Bruno Haible  <bruno@clisp.org>
44966
44967         * lib/glthread/cond.c (glthread_cond_wait_func,
44968         glthread_cond_timedwait_func): Add a comment.
44969
44970 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44971
44972         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
44973         * tests/test-select.c: Likewise,
44974
44975 2008-10-13  Bruno Haible  <bruno@clisp.org>
44976
44977         * lib/glthread/cond.c (glthread_cond_wait_func,
44978         glthread_cond_timedwait_func): Fix variable name.
44979         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44980
44981 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
44982
44983         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
44984         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
44985         struct sockaddr.sa_len.
44986         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
44987
44988 2008-10-13  Simon Josefsson  <simon@josefsson.org>
44989
44990         * build-aux/pmccabe2html: Add css and css_url parameters.
44991
44992 2008-10-12  Bruno Haible  <bruno@clisp.org>
44993
44994         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
44995         calling aclx_get.
44996         Reported by Rainer Tammer <tammer@tammer.net>.
44997
44998 2008-10-12  Bruno Haible  <bruno@clisp.org>
44999
45000         Use msvcrt aware primitives for creation/termination of Win32 threads.
45001         * lib/glthread/thread.c: Include <process.h>.
45002         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45003         (wrapper_func): Update signature.
45004         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45005
45006 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45007             Bruno Haible  <bruno@clisp.org>
45008
45009         Provide a Win32 implementation of the 'cond' module.
45010         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45011         * lib/glthread/cond.c (glthread_cond_init_func,
45012         glthread_cond_wait_func, glthread_cond_timedwait_func,
45013         glthread_cond_signal_func, glthread_cond_broadcast_func,
45014         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45015         * modules/cond (Dependencies): Add gettimeofday.
45016
45017 2008-10-11  Bruno Haible  <bruno@clisp.org>
45018
45019         Make sleep work on older versions of mingw.
45020         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45021         only whether it exists.
45022         * doc/posix-functions/sleep.texi: Mention the problem with older
45023         versions of mingw.
45024
45025 2008-10-11  Bruno Haible  <bruno@clisp.org>
45026
45027         New module 'shutdown'.
45028         * modules/shutdown: New file.
45029         * lib/sys_socket.in.h (shutdown): New declaration.
45030         * lib/winsock.c (shutdown): New function.
45031         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45032         GNULIB_SHUTDOWN.
45033         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45034         * doc/posix-functions/shutdown.texi: Document the new module.
45035
45036 2008-10-11  Jim Meyering  <meyering@redhat.com>
45037
45038         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45039
45040 2008-10-11  Bruno Haible  <bruno@clisp.org>
45041
45042         New module 'fclose'.
45043         * modules/fclose: New file.
45044         * lib/stdio.in.h (fclose): New declaration.
45045         * lib/fclose.c: New file.
45046         * m4/fclose.m4: New file.
45047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45048         REPLACE_FCLOSE.
45049         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45050         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45051         REPLACE_FCLOSE.
45052         * modules/close (Depends-on): fclose.
45053         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45054
45055 2008-10-11  Bruno Haible  <bruno@clisp.org>
45056
45057         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45058         set errno and don't call _close.
45059
45060 2008-10-10  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45063         ACL, not afterwards. Fixes test failure on Cygwin.
45064
45065 2008-10-09  Ben Pfaff  <blp@gnu.org>
45066
45067         * build-aux/announce-gen: Fix gnulib version related part of usage
45068         message.  Die with a useful error message if no tarballs are
45069         found.
45070
45071 2008-10-10  Jim Meyering  <meyering@redhat.com>
45072
45073         bootstrap: use git's --depth=N option only if it's supported
45074         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45075         recognize the --depth option.  Reported by Pádraig Brady.
45076
45077 2008-10-09  Bruno Haible  <bruno@clisp.org>
45078
45079         New module 'ioctl'.
45080         * modules/ioctl: New file.
45081         * lib/sys_socket.in.h (ioctl): Remove declaration.
45082         * lib/winsock.c: Include <sys/ioctl.h>.
45083         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45084         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45085         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45086         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45087         * doc/posix-functions/ioctl.texi: Mention the new module.
45088
45089 2008-10-09  Bruno Haible  <bruno@clisp.org>
45090
45091         New module 'sys_ioctl'.
45092         * lib/sys_ioctl.in.h: New file.
45093         * m4/sys_ioctl_h.m4: New file.
45094         * modules/sys_ioctl: New file.
45095         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45096
45097 2008-10-09  Bruno Haible  <bruno@clisp.org>
45098
45099         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45100         * lib/winsock.c: Include <stdarg.h>.
45101         (rpl_ioctl): Change to second argument 'int' and then varargs.
45102
45103 2008-10-09  Bruno Haible  <bruno@clisp.org>
45104
45105         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45106         when the sys_socket module is present and the system has <winsock2.h>.
45107
45108 2008-10-09  Bruno Haible  <bruno@clisp.org>
45109
45110         * doc/posix-functions/close.texi: Mention module 'close' instead of
45111         module 'sys_socket'.
45112
45113 2008-10-09  Bruno Haible  <bruno@clisp.org>
45114
45115         * doc/glibc-headers/sys_ioctl.texi: New file.
45116         * doc/gnulib.texi: Include it.
45117
45118 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45119             Bruno Haible  <bruno@clisp.org>
45120
45121         Combine the two replacements of 'close'.
45122         * lib/sys_socket.in.h (close): Define to a reminder to include
45123         <unistd.h>.
45124         (_gl_close_fd_maybe_socket): New declaration.
45125         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45126         * lib/winsock.c (close): Remove undefinition.
45127         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45128         needed for the gnulib module 'close'.
45129         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45130         define to an error symbol or to a warning, if suitable.
45131         * lib/close.c: Include <sys/socket.h>.
45132         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45133         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45134         UNISTD_H_HAVE_WINSOCK2_H.
45135         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45137         UNISTD_H_HAVE_WINSOCK2_H.
45138         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45139         (configure.ac): Set a module indicator.
45140         (Makefile.am): Substitute GNULIB_CLOSE.
45141         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45142         * modules/poll-tests (Depends-on): Add close.
45143         * modules/select-tests (Depends-on): Likewise.
45144
45145 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45146             Bruno Haible  <bruno@clisp.org>
45147
45148         New module 'close'.
45149         * modules/close: New file.
45150         * lib/unistd.in.h (close): Move declaration out of the
45151         FCHDIR_REPLACEMENT scope.
45152         (_gl_unregister_fd): New declaration.
45153         * lib/close.c: New file.
45154         * lib/fchdir.c (rpl_close): Remove function.
45155         * m4/close.m4: New file.
45156         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45157         close.
45158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45159         REPLACE_CLOSE.
45160         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45161         REPLACE_CLOSE.
45162         * modules/fchdir (Depends-on): Add close.
45163
45164 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45165             Bruno Haible  <bruno@clisp.org>
45166
45167         * lib/fcntl.in.h (open): Simplify conditionals.
45168         (_gl_register_fd): New declaration.
45169         * lib/fchdir.c (rpl_open): Remove function.
45170         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45171         also.
45172         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45173         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45174         open.
45175
45176 2008-10-09  Jim Meyering  <meyering@redhat.com>
45177
45178         GNUmakefile: use the more name-space-friendly "_version"
45179         * top/GNUmakefile (_dummy): Update.
45180         (_version): Rename from "version".
45181
45182 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45183             Bruno Haible  <bruno@clisp.org>
45184
45185         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45186         rpl_close.
45187         (_gl_register_fd): New function, extracted from rpl_open.
45188         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45189         (rpl_open, rpl_opendir): Use _gl_register_fd.
45190
45191 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45192
45193         Fix organization of 'open' replacement.
45194         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45195         (gl_FUNC_OPEN): Use it.
45196         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45197
45198 2008-10-08  Bruno Haible  <bruno@clisp.org>
45199
45200         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45201
45202 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45203
45204         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45205         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45206         listen).
45207
45208 2008-10-08  Eric Blake  <ebb9@byu.net>
45209
45210         GNUmakefile: add 'make version' target
45211         * top/GNUmakefile (_curr-ver): Split version update rules...
45212         (version): ...into a target.
45213
45214 2008-10-07  Bruno Haible  <bruno@clisp.org>
45215
45216         Use a more portable replacement expression for -0.0L.
45217         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45218         instead of -0.0L. Fix m4 quotation.
45219
45220         * tests/test-signbit.c: Include <float.h>.
45221         (minus_zero): New variable.
45222         (test_signbitl): Use minus_zero instead of -zero.
45223         * modules/signbit-tests (Depends-on): Add float.
45224
45225         * tests/test-ceill.c: Include <float.h>.
45226         (zero): Remove variable.
45227         (minus_zero): New variable.
45228         (main): Use minus_zero instead of -zero.
45229         * modules/ceill-tests (Depends-on): Add float.
45230
45231         * tests/test-floorl.c: Include <float.h>.
45232         (zero): Remove variable.
45233         (minus_zero): New variable.
45234         (main): Use minus_zero instead of -zero.
45235         * modules/floorl-tests (Depends-on): Add float.
45236
45237         * tests/test-roundl.c: Include <float.h>.
45238         (zero): Remove variable.
45239         (minus_zero): New variable.
45240         (main): Use minus_zero instead of -zero.
45241         * modules/roundl-tests (Depends-on): Add float.
45242
45243         * tests/test-truncl.c: Include <float.h>.
45244         (zero): Remove variable.
45245         (minus_zero): New variable.
45246         (main): Use minus_zero instead of -zero.
45247         * modules/truncl-tests (Depends-on): Add float.
45248
45249         * tests/test-frexpl.c (zero): Remove variable.
45250         (minus_zero): New variable.
45251         (main): Use minus_zero instead of -zero.
45252         * modules/frexpl-tests (Depends-on): Add float.
45253
45254         * tests/test-isnan.c (zerol): Remove variable.
45255         (minus_zerol): New variable.
45256         (test_long_double): Use minus_zerol instead of -zerol.
45257         * modules/isnan-tests (Depends-on): Add float.
45258
45259         * tests/test-isnanl.h (zero): Remove variable.
45260         (minus_zero): New variable.
45261         (main): Use minus_zero instead of -zero.
45262         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45263         * modules/isnanl-tests (Depends-on): Add float.
45264
45265         * tests/test-ldexpl.c (zero): Remove variable.
45266         (minus_zero): New variable.
45267         (main): Use minus_zero instead of -zero.
45268         * modules/ldexpl-tests (Depends-on): Add float.
45269
45270         * tests/test-snprintf-posix.h (zerol): Remove variable.
45271         (minus_zerol): New variable.
45272         (test_function): Use minus_zerol instead of -zerol.
45273         * modules/snprintf-posix-tests (Depends-on): Add float.
45274         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45275
45276         * tests/test-sprintf-posix.h (zerol): Remove variable.
45277         (minus_zerol): New variable.
45278         (test_function): Use minus_zerol instead of -zerol.
45279         * modules/sprintf-posix-tests (Depends-on): Add float.
45280         * modules/vsprintf-posix-tests (Depends-on): Add float.
45281
45282         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45283         (minus_zerol): New variable.
45284         (test_function): Use minus_zerol instead of -zerol.
45285         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45286
45287         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45288         (minus_zerol): New variable.
45289         (test_function): Use minus_zerol instead of -zerol.
45290         * modules/vasprintf-posix-tests (Depends-on): Add float.
45291
45292 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45293
45294         * MODULES.html.sh (Support for building documentation): Mention
45295         pmccabe2html.  Sort entries.
45296
45297         Add pmccabe2html module, from gnupdf.
45298         * build-aux/pmccabe.css: New file.
45299         * build-aux/pmccabe2html: New file.
45300         * m4/pmccabe2html.m4: New file.
45301         * modules/pmccabe2html: New file.
45302
45303 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45304
45305         flock: new module
45306         * MODULES.html.sh: Add to list of modules.
45307         * lib/flock.c: flock implementation for Windows and Unix systems
45308         which have fcntl.
45309         * doc/glibc-functions/flock.texi: Update documentation.
45310         * lib/sys_file.in.h: <sys/file.h> header file.
45311         * m4/flock.m4: M4 macros.
45312         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45313         * modules/flock: flock module.
45314         * modules/flock-tests: flock tests module.
45315         * modules/sys_file: sys/file.h module.
45316         * tests/test-flock.c: test suite for flock.
45317
45318 2008-10-06  Jim Meyering  <meyering@redhat.com>
45319
45320         bootstrap: check for LT_INIT more portably still ;-)
45321         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45322         Spotted by Bruno Haible.
45323
45324 2008-10-06  Eric Blake  <ebb9@byu.net>
45325
45326         test-signbit: avoid tripping Irix cc bug on -0.0L
45327         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45328         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45329         entire testsuite consistent and avoids an Irix 6.2 bug.
45330
45331 2008-10-05  Bruno Haible  <bruno@clisp.org>
45332             Jim Meyering  <jim@meyering.net>
45333
45334         Add an option for ignoring EPIPE during close_stdout.
45335         * lib/closeout.h: Include <stdbool.h>.
45336         (close_stdout_set_ignore_EPIPE): New declaration.
45337         * lib/closeout.c: Include <stdbool.h>.
45338         (ignore_EPIPE): New variable.
45339         (close_stdout_set_ignore_EPIPE): New function.
45340         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45341         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45342         failure.
45343         * modules/closeout (Depends-on): Add stdbool.
45344
45345 2008-10-05  Bruno Haible  <bruno@clisp.org>
45346
45347         * modules/accept: New file.
45348         * modules/bind: New file.
45349         * modules/connect: New file.
45350         * modules/getpeername: New file.
45351         * modules/getsockname: New file.
45352         * modules/getsockopt: New file.
45353         * modules/listen: New file.
45354         * modules/recv: New file.
45355         * modules/recvfrom: New file.
45356         * modules/send: New file.
45357         * modules/sendto: New file.
45358         * modules/setsockopt: New file.
45359         * modules/socket: New file.
45360         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45361         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45362         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45363         the particular module is requested. Add a link warning when the
45364         particular module is not requested.
45365         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45366         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45367         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45368         the particular module is requested.
45369         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45370         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45371         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45372         * modules/sys_socket (Depends-on): Add link-warning.
45373         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45374         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45375         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45376         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45377         GL_LINK_WARNING.
45378         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45379         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45380         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45381         * doc/posix-functions/getpeername.texi: Mention the new module
45382         'getpeername'.
45383         * doc/posix-functions/getsockname.texi: Mention the new module
45384         'getsockname'.
45385         * doc/posix-functions/getsockopt.texi: Mention the new module
45386         'getsockopt'.
45387         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45388         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45389         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45390         * doc/posix-functions/send.texi: Mention the new module 'send'.
45391         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45392         * doc/posix-functions/setsockopt.texi: Mention the new module
45393         'setsockopt'.
45394         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45395         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45396         listen, connect, accept.
45397         * modules/select-tests (Depends-on): Likewise.
45398
45399 2008-10-05  Bruno Haible  <bruno@clisp.org>
45400
45401         * lib/winsock.c (strerror): Remove unused #undef.
45402         (rpl_close): Remove unused local variable.
45403
45404         * modules/sys_socket (Depends-on); Add errno.
45405
45406 2008-10-05  Bruno Haible  <bruno@clisp.org>
45407
45408         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45409         (select): Add a link warning when the 'select' module is not used.
45410         * modules/sys_select (Depends-on): Add link-warning.
45411         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45412         Suggested by Paolo Bonzini.
45413
45414 2008-10-05  Jim Meyering  <meyering@redhat.com>
45415
45416         bootstrap: check for LT_INIT more portably
45417         * build-aux/bootstrap: Avoid using grep -E, since it's not
45418         portable enough.  Suggestion from Bruno Haible.
45419
45420 2008-10-05  Bruno Haible  <bruno@clisp.org>
45421
45422         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45423         as being fixed by gnulib.
45424
45425 2008-10-05  Bruno Haible  <bruno@clisp.org>
45426
45427         * modules/select-tests: New file, mostly copied from
45428         modules/sys_select-tests.
45429         * tests/test-select.c: New file, mostly copied from
45430         tests/test-sys_select.c.
45431         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45432         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45433         (Makefile.am): Remove test_sys_select_LDADD.
45434
45435         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45436         to an undefined symbol, for an error message.
45437         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45438         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45439         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45440         winsock-select.c here.
45441         * modules/sys_select (Files): Remove lib/winsock-select.c.
45442         (Depends-on): Remove alloca.
45443         (Makefile.am): Substitute GNULIB_SELECT.
45444         * modules/select: New file.
45445         * doc/posix-functions/select.texi: Update.
45446
45447 2008-10-05  Bruno Haible  <bruno@clisp.org>
45448
45449         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45450         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45451         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45452         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45453         getdtablesize.
45454         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45455         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45456
45457 2008-10-05  Bruno Haible  <bruno@clisp.org>
45458
45459         * modules/getdtablesize-tests: New file.
45460         * tests/test-getdtablesize.c: New file.
45461
45462         New module 'getdtablesize'.
45463         * lib/unistd.in.h (getdtablesize): New declaration.
45464         * lib/getdtablesize.c: New file.
45465         * m4/getdtablesize.m4: New file.
45466         * modules/getdtablesize: New file.
45467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45468         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45469         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45470         HAVE_GETDTABLESIZE.
45471         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45472
45473 2008-10-05  Bruno Haible  <bruno@clisp.org>
45474
45475         * modules/sched (Makefile.am): Fix typo.
45476         Reported by Simon Josefsson.
45477
45478 2008-10-05  Jim Meyering  <meyering@redhat.com>
45479
45480         bootstrap: check for LT_INIT, too
45481         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45482         are deprecated.  Suggestion from Ralf Wildenhues.
45483
45484 2008-10-05  Bruno Haible  <bruno@clisp.org>
45485
45486         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45487         overriding them by ours.
45488         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45489
45490 2008-10-05  Jim Meyering  <meyering@redhat.com>
45491
45492         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45493         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45494         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45495
45496 2008-10-04  Bruno Haible  <bruno@clisp.org>
45497
45498         * modules/dup2 (License): Change to LGPLv2+.
45499         * modules/sleep (License): Likewise.
45500         * modules/perror (License): Likewise.
45501         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45502         Blake.
45503         * modules/signal (License): Likewise.
45504         * modules/sigprocmask (License): Likewise.
45505         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45506         Meyering.
45507
45508 2008-10-04  Bruno Haible  <bruno@clisp.org>
45509
45510         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45511         Reported by Rainer Tammer <tammer@tammer.net>.
45512
45513 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45514             Bruno Haible  <bruno@clisp.org>
45515
45516         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45517         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45518         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45519
45520 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45521
45522         filevercmp: new module
45523         * lib/filevercmp.h: New function filevercmp comparing version strings.
45524         * lib/filevercmp.c: Implementation of filevercmp function.
45525         * modules/filevercmp: Module metadata.
45526         * tests/test-filevercmp.c: Unit test for new module.
45527         * modules/filevercmp-tests: Unit test metadata.
45528         * MODULES.html.sh: Add filevercmp module.
45529
45530 2008-10-03  Bruno Haible  <bruno@clisp.org>
45531
45532         * lib/c-ctype.h: Add comment.
45533         Reported by Jim Meyering.
45534
45535 2008-10-02  Bruno Haible  <bruno@clisp.org>
45536
45537         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45538
45539 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45540
45541         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45542         name of bootstrap.conf accordingly.
45543
45544 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45545
45546         * build-aux/bootstrap: Install git-merge-changelog configuration
45547         items into .gitconfig if needed.
45548
45549 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45550
45551         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45552         git repository, and initialize/update it accordingly.
45553
45554 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45555
45556         * modules/fsync-tests: New file.
45557         * tests/test-fsync.c: New file.
45558
45559         New module 'fsync'.
45560         * lib/fsync.c: New file.
45561         * m4/fsync.m4: New file.
45562         * modules/fsync: New file.
45563         * lib/unistd.in.h (fsync): New declaration.
45564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45565         GNULIB_FSYNC and HAVE_FSYNC.
45566         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45567         * MODULES.html.sh (posix_functions): Add fsync.
45568         * doc/posix-functions/fsync.texi: Mention the new module.
45569
45570 2008-10-02  Jim Meyering  <meyering@redhat.com>
45571
45572         fts.c: sync with similar code from coreutils' remove.c
45573         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45574         Guard also with "#if defined __linux__", since for now at least,
45575         this code is Linux-kernel-specific.
45576
45577 2008-10-02  Jim Meyering  <meyering@redhat.com>
45578
45579         fts: bug fixes
45580         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45581         Include <sys/vfs.h>, not <sys/statfs.h>.
45582
45583         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45584         Include <sys/vfs.h>, not <sys/statfs.h>.
45585
45586 2008-10-01  Bruno Haible  <bruno@clisp.org>
45587
45588         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45589         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45590         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45591         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45592         * doc/posix-functions/posix_spawnp.texi: Likewise.
45593         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45594         whether posix_spawn actually works.
45595         * m4/pipe.m4 (gl_PIPE): Likewise.
45596         * modules/execute (Files): Add m4/posix_spawn.m4.
45597         * modules/pipe (Files): Add m4/posix_spawn.m4.
45598         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45599
45600 2008-10-01  Jim Meyering  <meyering@redhat.com>
45601
45602         remove trailing spaces
45603         * NEWS: Likewise.
45604         * lib/poll.c (poll): Likewise.
45605         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45606         * lib/winsock.c (rpl_close): Likewise.
45607         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45608         * modules/yield: Likewise.
45609         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45610         * tests/test-sys_select.c (connect_to_socket): Likewise.
45611
45612         fts.c: adjust a new interface to be more generally useful
45613         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45614         (fts_build): Adjust caller.
45615
45616 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45617
45618         * modules/cond-tests: New file.
45619         * tests/test-cond.c: New file.
45620
45621 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45622             Bruno Haible  <bruno@clisp.org>
45623
45624         * modules/cond (Dependencies): Add errno, time.
45625         * lib/glthread/cond.h: Include <time.h>.
45626         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45627         across platforms.
45628
45629 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45630             Bruno Haible  <bruno@clisp.org>
45631
45632         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45633
45634 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45635             Bruno Haible  <bruno@clisp.org>
45636
45637         * modules/tls-tests (Depends-on): Add thread, yield.
45638         (configure.ac): Remove all checks.
45639         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45640         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45641         gl_thread_self): Remove definitions. Include glthread/thread.h and
45642         glthread/yield.h instead.
45643         (test_tls): Pass an additional NULL argument to gl_thread_join.
45644
45645 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45646             Bruno Haible  <bruno@clisp.org>
45647
45648         * modules/lock-tests (Depends-on): Add thread, yield.
45649         (configure.ac): Remove all checks.
45650         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45651         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45652         gl_thread_self): Remove definitions. Include glthread/thread.h and
45653         glthread/yield.h instead.
45654         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45655         additional NULL argument to gl_thread_join.
45656
45657 2008-09-30  Bruno Haible  <bruno@clisp.org>
45658
45659         Fix the Win32 implementation of the 'thread' module.
45660         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45661         pointer type.
45662         (gl_thread_self): Invoke gl_thread_self_func.
45663         (gl_thread_self_func): New declaration.
45664         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45665         (do_init_self_key, init_self_key): New functions.
45666         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45667         Remove some fields.
45668         (running_threads, running_lock): Remove variables.
45669         (get_current_thread_handle): New function.
45670         (gl_thread_self_func, wrapper_func, glthread_create_func,
45671         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45672         simplified.
45673
45674 2008-09-30  Bruno Haible  <bruno@clisp.org>
45675
45676         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45677         files.
45678
45679 2008-09-30  Jim Meyering  <meyering@redhat.com>
45680
45681         fts.m4: correct the test for statfs.f_type
45682         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45683         when checking for statfs.f_type.
45684
45685 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45686
45687         tests: avoid some compiler warnings
45688         * tests/test-memchr.c (main): Pass NULL indirectly.
45689         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45690
45691 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45692
45693         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45694         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45695         exactly specified dayshifts.
45696         (dayshift): New rule.
45697         (rel): Add dayshift.
45698         (relative_time_table) [tomorrow, yesterday, today, now]:
45699         Use tDAY_SHIFT in place of tDAY_UNIT.
45700         * tests/test-getdate.c: Add tests for now-disallowed countable
45701         dayshifts, e.g., "4 yesterday ago".
45702
45703 2008-09-29  Bruno Haible  <bruno@clisp.org>
45704
45705         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45706         * tests/test-posix_spawn1.in.sh: Renamed from
45707         tests/test-posix_spawn.in.sh.
45708         * tests/test-posix_spawn2.c: New file.
45709         * tests/test-posix_spawn2.in.sh: New file.
45710         * modules/posix_spawnp-tests (Files): Update.
45711         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45712
45713 2008-09-29  Bruno Haible  <bruno@clisp.org>
45714
45715         Propagate effects of putenv/setenv/unsetenv to child processes.
45716         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45717         * lib/pipe.c (create_pipe): Likewise.
45718
45719 2008-09-29  Bruno Haible  <bruno@clisp.org>
45720
45721         Enable use of shell scripts as executables in mingw.
45722         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45723         run the program as a shell script.
45724         * lib/pipe.c (create_pipe): Likewise.
45725         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45726         resulting array.
45727
45728 2008-09-29  Eric Blake  <ebb9@byu.net>
45729
45730         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45731
45732 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45733
45734         * doc/posix-functions/accept.texi: Update mingw problems.
45735         * doc/posix-functions/bind.texi: Update mingw problems.
45736         * doc/posix-functions/close.texi: Update mingw problems.
45737         * doc/posix-functions/connect.texi: Update mingw problems.
45738         * doc/posix-functions/getpeername.texi: Update mingw problems.
45739         * doc/posix-functions/getsockname.texi: Update mingw problems.
45740         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45741         * doc/posix-functions/ioctl.texi: Update mingw problems.
45742         * doc/posix-functions/listen.texi: Update mingw problems.
45743         * doc/posix-functions/recv.texi: Update mingw problems.
45744         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45745         * doc/posix-functions/select.texi: Update mingw problems.
45746         * doc/posix-functions/send.texi: Update mingw problems.
45747         * doc/posix-functions/sendto.texi: Update mingw problems.
45748         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45749         * doc/posix-functions/socket.texi: Update mingw problems.
45750
45751 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45752             Bruno Haible  <bruno@clisp.org>
45753
45754         * lib/sys_select.in.h: Include sys/time.h.
45755         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45756         * modules/sys_select: Depend on sys_time.
45757         * tests/test-sys_select.c: Test that sys/select.h defines struct
45758         timeval fully.
45759
45760 2008-09-29  Bruno Haible  <bruno@clisp.org>
45761
45762         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45763         * lib/sys_select.in.h: Likewise.
45764
45765 2008-09-29  Bruno Haible  <bruno@clisp.org>
45766
45767         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45768
45769 2008-09-29  Bruno Haible  <bruno@clisp.org>
45770
45771         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45772         Set LIBSOCKET instead of augmenting LIBS.
45773         * modules/sockets (Link): New section.
45774         * modules/sockets-tests (test_sockets_LDADD): New variable.
45775         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45776         * modules/poll-tests (test_poll_LDADD): New variable.
45777         * NEWS: Document the change.
45778
45779 2008-09-29  Bruno Haible  <bruno@clisp.org>
45780
45781         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45782         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45783         ARPA_INET_H directly.
45784         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45785
45786 2008-09-28  Bruno Haible  <bruno@clisp.org>
45787
45788         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45789         from gl_HEADER_SYS_SOCKET.
45790         (gl_HEADER_SYS_SOCKET): Invoke it.
45791         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45792
45793 2008-09-28  Bruno Haible  <bruno@clisp.org>
45794
45795         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45796         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45797         Needed on OSF/1 4.0.
45798
45799 2008-09-28  Bruno Haible  <bruno@clisp.org>
45800
45801         Override open more carefully.
45802         * lib/open.c (orig_open): New function.
45803         (rpl_open): Use orig_open instead of open.
45804         * lib/fcntl.in.h: Add special invocation convention.
45805         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45806         (gl_FUNC_OPEN): Invoke it.
45807
45808         Override freopen more carefully.
45809         * lib/freopen.c (orig_freopen): New function.
45810         (rpl_freopen): Use orig_freopen instead of freopen.
45811         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45812         (gl_FUNC_FREOPEN): Invoke it.
45813
45814         Override fopen more carefully.
45815         * lib/fopen.c (orig_fopen): New function.
45816         (rpl_fopen): Use orig_fopen instead of fopen.
45817         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45818         (gl_FUNC_FOPEN): Invoke it.
45819         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45820
45821 2008-09-28  Bruno Haible  <bruno@clisp.org>
45822
45823         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45824         SIGPIPE.
45825
45826 2008-09-28  Bruno Haible  <bruno@clisp.org>
45827
45828         * tests/test-sigaction.c (handler, main): Disable the check whether
45829         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45830         glibc systems with LinuxThreads.
45831
45832 2008-09-28  Bruno Haible  <bruno@clisp.org>
45833
45834         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45835
45836         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45837         with AIX xlc.
45838         * lib/fcntl.in.h (open): Likewise.
45839         Reported by Rainer Tammer <tammer@tammer.net>.
45840
45841 2008-09-28  Bruno Haible  <bruno@clisp.org>
45842
45843         * modules/posix_spawnp-tests: New file.
45844         * tests/test-posix_spawn.c: New file.
45845         * tests/test-posix_spawn.in.sh: New file.
45846
45847         New module 'posix_spawnp'.
45848         * modules/posix_spawnp: New file.
45849         * lib/spawnp.c: New file, from GNU libc with modifications.
45850         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45851
45852         New module 'posix_spawn'.
45853         * modules/posix_spawn: New file.
45854         * lib/spawn.c: New file, from GNU libc with modifications.
45855         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45856
45857         New module 'posix_spawnattr_destroy'.
45858         * modules/posix_spawnattr_destroy: New file.
45859         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45860         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45861         module.
45862
45863         New module 'posix_spawnattr_setsigmask'.
45864         * modules/posix_spawnattr_setsigmask: New file.
45865         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45866         modifications.
45867         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45868         new module.
45869
45870         New module 'posix_spawnattr_getsigmask'.
45871         * modules/posix_spawnattr_getsigmask: New file.
45872         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45873         modifications.
45874         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45875         new module.
45876
45877         New module 'posix_spawnattr_setsigdefault'.
45878         * modules/posix_spawnattr_setsigdefault: New file.
45879         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45880         modifications.
45881         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45882         new module.
45883
45884         New module 'posix_spawnattr_getsigdefault'.
45885         * modules/posix_spawnattr_getsigdefault: New file.
45886         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45887         modifications.
45888         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45889         new module.
45890
45891         New module 'posix_spawnattr_setschedpolicy'.
45892         * modules/posix_spawnattr_setschedpolicy: New file.
45893         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45894         modifications.
45895         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45896         new module.
45897
45898         New module 'posix_spawnattr_getschedpolicy'.
45899         * modules/posix_spawnattr_getschedpolicy: New file.
45900         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45901         modifications.
45902         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45903         new module.
45904
45905         New module 'posix_spawnattr_setschedparam'.
45906         * modules/posix_spawnattr_setschedparam: New file.
45907         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45908         modifications.
45909         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45910         new module.
45911
45912         New module 'posix_spawnattr_getschedparam'.
45913         * modules/posix_spawnattr_getschedparam: New file.
45914         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45915         modifications.
45916         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45917         new module.
45918
45919         New module 'posix_spawnattr_setpgroup'.
45920         * modules/posix_spawnattr_setpgroup: New file.
45921         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45922         modifications.
45923         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45924         module.
45925
45926         New module 'posix_spawnattr_getpgroup'.
45927         * modules/posix_spawnattr_getpgroup: New file.
45928         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
45929         modifications.
45930         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
45931         module.
45932
45933         New module 'posix_spawnattr_setflags'.
45934         * modules/posix_spawnattr_setflags: New file.
45935         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
45936         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
45937         module.
45938
45939         New module 'posix_spawnattr_getflags'.
45940         * modules/posix_spawnattr_getflags: New file.
45941         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
45942         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
45943         module.
45944
45945         New module 'posix_spawnattr_init'.
45946         * modules/posix_spawnattr_init: New file.
45947         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
45948         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
45949         module.
45950
45951         New module 'posix_spawn_file_actions_destroy'.
45952         * modules/posix_spawn_file_actions_destroy: New file.
45953         * lib/spawn_faction_destroy.c: New file, from GNU libc with
45954         modifications.
45955         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
45956         the new module.
45957
45958         New module 'posix_spawn_file_actions_addopen'.
45959         * modules/posix_spawn_file_actions_addopen: New file.
45960         * lib/spawn_faction_addopen.c: New file, from GNU libc with
45961         modifications.
45962         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
45963         the new module.
45964
45965         New module 'posix_spawn_file_actions_adddup2'.
45966         * modules/posix_spawn_file_actions_adddup2: New file.
45967         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
45968         modifications.
45969         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
45970         the new module.
45971
45972         New module 'posix_spawn_file_actions_addclose'.
45973         * modules/posix_spawn_file_actions_addclose: New file.
45974         * lib/spawn_faction_addclose.c: New file, from GNU libc with
45975         modifications.
45976         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
45977         the new module.
45978
45979         New module 'posix_spawn_file_actions_init'.
45980         * modules/posix_spawn_file_actions_init: New file.
45981         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
45982         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
45983         new module.
45984
45985         New module 'posix_spawn-internal'.
45986         * modules/posix_spawn-internal: New file.
45987         * lib/spawn_int.h: New file, from GNU libc with modifications.
45988         * lib/spawni.c: New file, from GNU libc with modifications.
45989         * m4/posix_spawn.m4: New file.
45990
45991         New module 'spawn'.
45992         * modules/spawn: New file.
45993         * lib/spawn.in.h: New file, from GNU libc with modifications.
45994         * m4/spawn_h.m4: New file.
45995         * doc/posix-headers/spawn.texi: Mention the new module.
45996
45997 2008-09-28  Bruno Haible  <bruno@clisp.org>
45998
45999         * modules/sched-tests: New file.
46000         * tests/test-sched.c: New file.
46001
46002         New module 'sched'.
46003         * modules/sched: New file.
46004         * lib/sched.in.h: New file.
46005         * m4/sched_h.m4: New file.
46006         * doc/posix-headers/sched.texi: Mention the new module.
46007
46008 2008-09-27  Eric Blake  <ebb9@byu.net>
46009
46010         Fix previous patch, and tweak references to $0.
46011         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46012         (func_version, func_gnulib_dir): Don't call this program
46013         gnulib-tool.
46014         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46015         with using $0 in function.
46016         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46017         (func_fatal_error): Reuse the name the user invoked us with.
46018
46019 2008-09-27  Bruno Haible  <bruno@clisp.org>
46020
46021         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46022         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46023         (gl_ICONV_H): Not here.
46024         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46025         instead of assigning ICONV_H directly.
46026
46027         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46028         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46029         WCHAR_H directly.
46030
46031 2008-09-27  Bruno Haible  <bruno@clisp.org>
46032
46033         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46034         * modules/arpa_inet (Depends-on): Add link-warning.
46035         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46036         * modules/unistd (Makefile.am): Likewise.
46037
46038 2008-09-26  Bruno Haible  <bruno@clisp.org>
46039
46040         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46041         variables.
46042         (func_version): Essentially copied from gnulib-tool.
46043         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46044         func_readlink): Copied from gnulib-tool.
46045
46046 2008-09-26  Bruno Haible  <bruno@clisp.org>
46047
46048         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46049         invoking git-version-gen.
46050
46051 2008-09-26  Bruno Haible  <bruno@clisp.org>
46052
46053         * posix-modules: Update to directory names changed on 2008-01-19.
46054         Remove commas in output before splitting into words. No more need to
46055         avoid 'ftruncate' since 2007-02-19.
46056
46057 2008-09-26  Bruno Haible  <bruno@clisp.org>
46058
46059         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46060
46061 2008-09-26  Bruno Haible  <bruno@clisp.org>
46062
46063         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46064         * modules/fwriteerror (Depends-on): Add errno.
46065
46066 2008-09-26  Bruno Haible  <bruno@clisp.org>
46067
46068         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46069         * tests/test-vc-list-files-cvs.sh: Likewise.
46070
46071 2008-09-26  Bruno Haible  <bruno@clisp.org>
46072
46073         * doc/posix-headers/sys_resource.texi: Reorder items.
46074
46075 2008-09-26  Jim Meyering  <meyering@redhat.com>
46076
46077         fts: tweak inode comparison function
46078         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46079         inode numbers, as documented.
46080
46081         fts: sort dirent entries on inode number before traversing
46082         This avoids a quadratic, seek-related performance penalty when
46083         operating on a directory containing many entries (measurable at 10k;
46084         3.5 hours at 2 million entries with a cold cache) on certain types
46085         of file systems, including ext3 and ext4, but not tmpfs.
46086         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46087         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46088         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46089         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46090         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46091         (fts_build): Set the stat.st_ino member from D_INO.
46092         If it is likely to be useful, sort dirent entries on inode number.
46093
46094         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46095         and the struct statfs.f_type member.
46096         * modules/fts (Depends-on): Add d-ino.
46097
46098 2008-09-26  Bruno Haible  <bruno@clisp.org>
46099
46100         * modules/sigpipe-die (Depends-on): Add sigpipe.
46101
46102         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46103         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46104         and GNULIB_STDIO_H_SIGPIPE are set.
46105         * lib/stdio-write.c: New file.
46106         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46107         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46108         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46109         REPLACE_STDIO_WRITE_FUNCS.
46110         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46111         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46112         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46113         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46114         * modules/stdio (Files): Add lib/stdio-write.c.
46115         (Makefile.am): Substitute 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         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46120         REPLACE_FPRINTF_POSIX.
46121         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46122         REPLACE_PRINTF_POSIX.
46123         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46124         REPLACE_VFPRINTF_POSIX.
46125         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46126         REPLACE_VPRINTF_POSIX.
46127         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46128         SIGPIPE issue.
46129         * doc/posix-functions/fputc.texi: Likewise.
46130         * doc/posix-functions/fputs.texi: Likewise.
46131         * doc/posix-functions/fwrite.texi: Likewise.
46132         * doc/posix-functions/printf.texi: Likewise.
46133         * doc/posix-functions/putc.texi: Likewise.
46134         * doc/posix-functions/putchar.texi: Likewise.
46135         * doc/posix-functions/puts.texi: Likewise.
46136         * doc/posix-functions/vfprintf.texi: Likewise.
46137         * doc/posix-functions/vprintf.texi: Likewise.
46138
46139         * modules/safe-write (Depends-on): Add write.
46140
46141         * modules/sigpipe-tests: New file.
46142         * tests/test-sigpipe.c: New file.
46143         * tests/test-sigpipe.sh: New file.
46144
46145         * modules/write: New file.
46146         * lib/unistd.in.h: Include <sys/types.h>.
46147         (write): New declaration.
46148         * lib/write.c: New file.
46149         * m4/write.m4: New file.
46150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46151         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46152         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46153         GNULIB_WRITE, REPLACE_WRITE.
46154         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46155         and the SIGPIPE issue.
46156
46157         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46158         (raise): New declaration.
46159         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46160         (ext_signal): New function.
46161         (rpl_raise): New function.
46162         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46163         GNULIB_SIGNAL_H_SIGPIPE.
46164         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46165         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46166
46167         * modules/sigpipe: New file.
46168         * m4/sigpipe.m4: New file.
46169
46170 2008-09-25  Derek Price  <derek@ximbiot.com>
46171             Bruno Haible  <bruno@clisp.org>
46172
46173         * gnulib-tool (func_import): Report all license incompatibilities, not
46174         just the first one.
46175
46176 2008-09-25  Bruno Haible  <bruno@clisp.org>
46177
46178         * gnulib-tool (func_import): When computing the edits, consider not
46179         only the Makefile.ams that exist but also those that will be generated.
46180
46181 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46182
46183         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46184         fixes gnulib-tool --test warning about duplicate dependency.
46185
46186 2008-09-25  Bruno Haible  <bruno@clisp.org>
46187
46188         * gnulib-tool: Don't ask the user to perform edits in the generated
46189         Makefile.ams.
46190         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46191         apply to the Makefile.am being generated.
46192         (func_emit_tests_Makefile_am): Execute edits that apply to the
46193         Makefile.am being generated.
46194         (func_import): Setup list of Makefile.am edits before emitting the
46195         Makefile.ams, not at the end.
46196         (func_create_testdir): Update.
46197         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46198
46199 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46200
46201         * gnulib-tool (func_import): Store the --tests-base option in the
46202         comment in gnulib-cache.m4.
46203
46204 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46205
46206         * NEWS: Document increased portability that sys_select now provides.
46207
46208         * lib/sys_select.in.h: Install select wrapper.
46209         * lib/sys_socket.in.h: Use more descriptive name when there is no
46210         select wrapper.
46211         * lib/winsock-select.c: New.
46212         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46213         Require gl_HEADER_SYS_SOCKET.
46214         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46215         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46216         * tests/test-sys_select.c: Add functional tests.
46217
46218 2008-09-24  Eric Blake  <ebb9@byu.net>
46219
46220         open, fopen: close fd leak in last patch
46221         * lib/open.c (rpl_open): Close fd before returning error.
46222         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46223         * doc/posix-functions/open.texi (open): Document that Irix also
46224         has the bug.
46225         * doc/posix-functions/fopen.texi (fopen): Likewise.
46226         Reported by Paolo Bonzini.
46227
46228 2008-09-24  Bruno Haible  <bruno@clisp.org>
46229
46230         Ensure that a filename ending in a slash cannot be used to access a
46231         non-directory.
46232         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46233         to check whether it's really a directory.
46234         * lib/fopen.c: Include fcntl.h, unistd.h.
46235         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46236         and fdopen().
46237         * modules/fopen (Depends-on): Add unistd.
46238         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46239         * tests/test-fopen.c (main): Likewise.
46240         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46241         * doc/posix-functions/fopen.texi: Likewise.
46242         Reported by Eric Blake.
46243
46244 2008-09-23  Eric Blake  <ebb9@byu.net>
46245
46246         c-stack: avoid compiler optimizations when provoking overflow
46247         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46248         recursion harder to optimize, to ensure a stack overflow occurs.
46249         * tests/test-c-stack.c (recurse): Likewise.
46250         Borrowed from libsigsegv.
46251
46252         c-stack: work around Irix sigaltstack bug
46253         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46254         whether sigaltstack uses wrong end of stack_t (copied in part from
46255         libsigsegv).
46256         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46257         Irix bug, without requiring an over-allocation.
46258         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46259         bug.
46260
46261         fopen: document mingw bug on directories
46262         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46263         not allowing a stream visiting a directory, even though reading
46264         from such a stream is not portable.
46265
46266 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46267
46268         * lib/poll.c: Rewrite.
46269         * modules/poll: Depend on alloca.
46270
46271 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46272
46273         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46274         instead define prototypes for a full set of wrappers.  Ensure
46275         that Cygwin does not use the compatibility code, which is only
46276         for MinGW.
46277         * lib/winsock.c: New.
46278         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46279         * modules/sys_socket: Add lib/winsock.c.
46280
46281         * modules/poll-tests: Add errno and perror.
46282         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46283
46284 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46285
46286         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46287
46288 2008-09-23  Bruno Haible  <bruno@clisp.org>
46289
46290         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46291         * doc/glibc-functions/*: Likewise.
46292
46293 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46294
46295         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46296         success.
46297
46298 2008-09-22  Eric Blake  <ebb9@byu.net>
46299             Bruno Haible  <bruno@clisp.org>
46300
46301         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46302         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46303         supply %A but mishandle pseudo-NaN.
46304         Reported by Simon Josefsson.
46305
46306 2008-09-21  Bruno Haible  <bruno@clisp.org>
46307
46308         * tests/test-lock.c (main): Tweak skip message.
46309         * tests/test-tls.c (main): Likewise.
46310
46311 2008-09-21  Bruno Haible  <bruno@clisp.org>
46312
46313         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46314         whether 'struct sigaction' has sa_sigaction here...
46315         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46316         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46317
46318 2008-09-21  Bruno Haible  <bruno@clisp.org>
46319
46320         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46321         section.
46322         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46323         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46324         the new section.
46325         (Support for obsolete systems lacking POSIX:2001): New section.
46326         (String handling <string.h>): Move strdup to the new section.
46327         Suggested by Simon Josefsson and Paolo Bonzini.
46328
46329 2008-09-21  Bruno Haible  <bruno@clisp.org>
46330
46331         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46332         exponents in %e and %g results on 'long double'. Needed for mingw's
46333         improved *printf functions.
46334         * tests/test-vasprintf-posix.c (test_function): Likewise.
46335         * tests/test-snprintf-posix.h (test_function): Likewise.
46336         * tests/test-sprintf-posix.h (test_function): Likewise.
46337         Reported by Eric Blake.
46338
46339 2008-09-21  Bruno Haible  <bruno@clisp.org>
46340
46341         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46342         * tests/test-sprintf-posix.h (test_function): Likewise.
46343
46344 2008-09-21  Bruno Haible  <bruno@clisp.org>
46345
46346         * modules/getpass (Depends-on): Add strdup-posix.
46347
46348         New module 'strdup-posix'.
46349         * modules/strdup-posix: New file.
46350         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46351         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46352         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46353         REPLACE_STRDUP.
46354         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46355         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46356         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46357         strdup-posix.
46358
46359         * modules/strdup (Depends-on): Remove malloc-posix.
46360
46361 2008-09-20  Bruno Haible  <bruno@clisp.org>
46362
46363         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46364         Wildenhues.
46365
46366 2008-09-20  Bruno Haible  <bruno@clisp.org>
46367
46368         Ensure that wint_t gets defined on IRIX 5.3.
46369         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46370         * lib/wctype.in.h (wint_t): Likewise.
46371         (__wctype_wint_t): Remove type.
46372         (isw*): Use wint_t instead of __wctype_wint_t.
46373         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46374         * modules/wchar (Files): Add m4/wint_t.m4.
46375         (Makefile.am): Substitute HAVE_WINT_T.
46376         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46377         * tests/test-wctype.c: Check that wint_t is defined.
46378         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46379         * doc/posix-headers/wctype.texi: Likewise.
46380         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46381
46382 2008-09-18  Bruno Haible  <bruno@clisp.org>
46383
46384         * gnulib-tool (func_exit): Update comment.
46385
46386 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46387
46388         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46389         assumes strdup exists and does not depend on strdup to return
46390         ENOMEM on out of memory conditions.
46391
46392 2008-09-18  Bruno Haible  <bruno@clisp.org>
46393
46394         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46395         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46396         digits for the exponent.
46397
46398 2008-09-18  Jim Meyering  <meyering@redhat.com>
46399             Bruno Haible  <bruno@clisp.org>
46400
46401         * lib/vasnprintf.c (decimal_point_char): Define also if
46402         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46403
46404 2008-09-16  Bruno Haible  <bruno@clisp.org>
46405         and Eric Blake  <ebb9@byu.net>
46406
46407         vasnprintf: support Irix 5.3
46408         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46409         that mishandle long double infinity.
46410         Reported by Tom G. Christensen.
46411
46412 2008-09-16  Bruno Haible  <bruno@clisp.org>
46413
46414         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46415         Solaris 9.
46416         * doc/glibc-functions/alphasort.texi: Likewise.
46417         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46418
46419 2008-09-16  Jim Meyering  <meyering@redhat.com>
46420
46421         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46422         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46423         a umask modification leak out of a subshell.  Otherwise, the
46424         opensolaris /bin/sh would be accepted and thus cause unwarranted
46425         failures in the coreutils test suite.
46426
46427 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46428
46429         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46430         to succeed.
46431
46432 2008-09-16  Jim Meyering  <meyering@redhat.com>
46433
46434         avoid spurious test failure when library is built without ACL support
46435         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46436         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46437         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46438         * tests/test-copy-acl.sh: Likewise.
46439
46440 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46441
46442         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46443         based on character occurrence counts.
46444
46445 2008-09-15  Eric Blake  <ebb9@byu.net>
46446
46447         tests: avoid some compiler warnings
46448         * tests/test-memchr.c (main): Pass NULL indirectly.
46449         * tests/test-closein.c (main): Avoid unused variable.
46450
46451 2008-09-15  Bruno Haible  <bruno@clisp.org>
46452
46453         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46454         are missing on OpenBSD 4.0 individually.
46455         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46456
46457 2008-09-15  Bruno Haible  <bruno@clisp.org>
46458
46459         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46460         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46461         * doc/posix-functions/perror.texi: Likewise.
46462         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46463         is missing.
46464         Reported by Eric Blake.
46465
46466         * lib/errno.in.h: Use replacement values >= 2000.
46467         Reported by Eric Blake.
46468
46469 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46470
46471         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46472         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46473         limit.
46474         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46475         compareseq was aborted.
46476
46477 2008-09-14  Bruno Haible  <bruno@clisp.org>
46478
46479         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46480         yvec_edit_count.
46481         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46482         (fstrcmp_bounded): Simplify result computation accordingly.
46483
46484 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46485
46486         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46487         (fstrcmp): Define in terms of fstrcmp_bounded.
46488         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46489         lower_bound argument.
46490         Return quickly if the result is certainly < lower_bound.
46491         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46492
46493 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46494
46495         * lib/diffseq.h (EARLY_ABORT): New macro.
46496         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46497         evaluates to true.
46498
46499 2008-09-14  Bruno Haible  <bruno@clisp.org>
46500
46501         * modules/perror-tests: New file.
46502         * tests/test-perror.sh: New file.
46503         * tests/test-perror.c: New file.
46504
46505         New module 'perror'.
46506         * lib/stdio.in.h (perror): New declaration.
46507         * lib/perror.c: New file.
46508         * m4/perror.m4: New file.
46509         * modules/perror: New file.
46510         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46511         * doc/posix-functions/perror.texi: Mention the perror module.
46512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46513         REPLACE_PERROR.
46514         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46515         REPLACE_PERROR.
46516
46517 2008-09-14  Bruno Haible  <bruno@clisp.org>
46518
46519         * modules/stdio (Makefile.am): Reorder to match the order in
46520         lib/stdio.in.h.
46521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46522
46523 2008-09-13  Bruno Haible  <bruno@clisp.org>
46524
46525         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46526
46527 2008-09-13  Bruno Haible  <bruno@clisp.org>
46528
46529         Extend strerror to cover the added errno values.
46530         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46531         (rpl_strerror): Provide error messages for the added errno values and
46532         for the WSA* values.
46533         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46534         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46535         strerror.
46536         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46537         * modules/strerror (Depends-on): Add errno.
46538         * doc/posix-functions/strerror.texi: Document the change.
46539         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46540         and EOVERFLOW.
46541
46542 2008-09-13  Bruno Haible  <bruno@clisp.org>
46543
46544         * modules/EOVERFLOW: Remove file.
46545         * m4/eoverflow.m4: Remove file.
46546         * modules/EOVERFLOW-tests: Remove file.
46547         * tests/test-EOVERFLOW.c: Remove file.
46548         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46549         * modules/ftell (Depends-on): Likewise.
46550         * modules/getdelim (Depends-on): Likewise.
46551         * modules/getugroups (Depends-on): Likewise.
46552         * modules/poll (Depends-on): Likewise.
46553         * modules/snprintf (Depends-on): Likewise.
46554         * modules/sprintf-posix (Depends-on): Likewise.
46555         * modules/vasnprintf (Depends-on): Likewise.
46556         * modules/vasprintf (Depends-on): Likewise.
46557         * modules/vfprintf-posix (Depends-on): Likewise.
46558         * modules/vsnprintf (Depends-on): Likewise.
46559         * modules/vsprintf-posix (Depends-on): Likewise.
46560         * modules/xvasprintf (Depends-on): Likewise.
46561         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46562         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46563         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46564         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46565         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46566         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46567         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46568         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46569         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46570         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46571         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46572         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46573         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46574         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46575         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46576         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46577         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46578         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46579         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46580         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46581         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46582         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46583         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46584         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46585         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46586         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46587         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46588         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46589         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46590         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46591         * MODULES.html.sh: Remove EOVERFLOW.
46592         * NEWS: Mention the change.
46593
46594 2008-09-13  Bruno Haible  <bruno@clisp.org>
46595
46596         * modules/errno-tests: New file.
46597         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46598
46599         * lib/errno.in.h: New file.
46600         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46601         * modules/errno: New file.
46602         * doc/posix-headers/errno.texi: Update documentation.
46603         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46604
46605 2008-09-13  Bruno Haible  <bruno@clisp.org>
46606
46607         * tests/test-poll.c: Use #if for native Windows, rather than testing
46608         __MSVCRT__.
46609
46610 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46611             Bruno Haible  <bruno@clisp.org>
46612
46613         * lib/glob.c: Don't include <pwd.h> on native Windows.
46614         (WINDOWS32): New macro.
46615         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46616
46617 2008-09-13  Bruno Haible  <bruno@clisp.org>
46618
46619         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46620         (ETIMEDOUT): Remove macro.
46621         (glthread_cond_timedwait_multithreaded): New declaration.
46622         (glthread_cond_timedwait): Use it.
46623         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46624         (glthread_cond_timedwait_multithreaded): New function.
46625
46626 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46627
46628         * modules/poll-tests: Do not check for io.h.
46629         * tests/test-poll.c: Check for __MSVCRT__ instead.
46630
46631 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46632
46633         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46634         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46635         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46636
46637 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46638
46639         * modules/poll-tests: New.
46640         * tests/test-poll.c: New.
46641
46642 2008-09-12  Eric Blake  <ebb9@byu.net>
46643
46644         frexp: test for NetBSD failure on -0.0
46645         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46646         not all, bugs from NetBSD 3.0 have been fixed.
46647         * doc/posix-functions/frexp.texi (frexp): Document bug.
46648         Reported by Thomas Klausner.
46649
46650         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46651         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46652         literal -0.0.
46653         Reported by Jonathan C. Patschke <jp@centtech.com>.
46654
46655 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46656
46657         * lib/glthread/cond.h: Use dummy implementation also if
46658         USE_WIN32_THREADS.
46659
46660 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46661
46662         * modules/fnmatch-posix (License): Change to LGPLv2+.
46663         * modules/fnmatch-gnu (License): Likewise.
46664
46665 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46666
46667         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46668
46669 2008-09-11  Jim Meyering  <meyering@redhat.com>
46670
46671         * users.txt: Add gtk-vnc.
46672
46673 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46674
46675         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46676         rotate amounts.
46677
46678         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46679         required for 16-bit and 8-bit rotates.
46680         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46681         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46682         UINT8_MAX instead of hard-coded constants.
46683         Suggested by Paul Eggert.
46684
46685 2008-09-07  Bruno Haible  <bruno@clisp.org>
46686
46687         * tests/test-striconveh.c (main): Check behaviour when converting from
46688         UTF-7.
46689
46690         Make striconveh work better with stateful encodings.
46691         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46692         that iconv does not increment the inptr when returning -1/EINVAL.
46693
46694 2008-09-07  Bruno Haible  <bruno@clisp.org>
46695
46696         * build-aux/config.rpath: Update according to libtool-2.2.6.
46697         * build-aux/config.libpath: Likewise.
46698
46699 2008-09-06  Bruno Haible  <bruno@clisp.org>
46700
46701         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46702         * lib/freadptr.c (freadptr): Likewise.
46703         * lib/freadseek.c (freadptrinc): Likewise.
46704         Reported by Simon Josefsson.
46705
46706 2008-09-06  Bruno Haible  <bruno@clisp.org>
46707
46708         * modules/freadptr (License): Change to LGPLv2+.
46709         * modules/freadseek (License): Likewise.
46710         Suggested by Eric Blake.
46711
46712         * modules/memchr2 (License): Change to LGPLv2+.
46713         Approved by Eric Blake.
46714
46715 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46716             Bruno Haible  <bruno@clisp.org>
46717
46718         Make gnulib-tool work with native 'sed' on AIX.
46719         * gnulib-tool (sed_noop): New variable.
46720         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46721         func_add_or_update, func_create_testdir): Use it to initialize sed
46722         script variables.
46723         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46724
46725 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46726             Bruno Haible  <bruno@clisp.org>
46727
46728         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46729         also works after #include directives.
46730
46731 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46732
46733         getdate.y: reject an out-of-range timezone value
46734         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46735         the range [-24...+24].  When specified with only one or two digits,
46736         * tests/test-getdate.c: Tests for the fix.
46737         * doc/getdate.texi: Document this change.
46738
46739 2008-09-03  Bruno Haible  <bruno@clisp.org>
46740
46741         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46742
46743 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46744
46745         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46746         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46747         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46748         Blake <ebb9@byu.net>.
46749
46750         * tests/test-bitrotate.c: Add more test vectors.
46751
46752 2008-09-02  Eric Blake  <ebb9@byu.net>
46753
46754         vasnprintf-posix: handle large precision via %.*d
46755         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46756         when handling it ourselves.
46757         * tests/test-vasnprintf-posix.c (test_function): Add test.
46758         * tests/test-snprintf-posix.h (test_function): Likewise.
46759         * tests/test-sprintf-posix.h (test_function): Likewise.
46760         * tests/test-vasprintf-posix.c (test_function): Likewise.
46761         Reported by Alain Guibert.
46762
46763 2008-09-01  Eric Blake  <ebb9@byu.net>
46764
46765         c-stack: make configure-time check more robust
46766         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46767         successful sigaction call.
46768         Reported by Tom G. Christensen.
46769
46770 2008-09-01  Bruno Haible  <bruno@clisp.org>
46771
46772         New module 'findprog-lgpl'.
46773         * modules/findprog-lgpl: New file.
46774         * lib/findprog-lgpl.c: New file.
46775         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46776         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46777         to decide whether to use strdup or xstrdup, concatenated_filename or
46778         xconcatenated_filename.
46779
46780 2008-09-01  Bruno Haible  <bruno@clisp.org>
46781
46782         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46783         'xconcat-filename' (GPL).
46784         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46785         (License): Change to LGPLv2+.
46786         * modules/xconcat-filename: New file.
46787         * lib/concat-filename.h (concatenated_filename): Change specification.
46788         (xconcatenated_filename): New declaration.
46789         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46790         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46791         memory situations.
46792         * lib/xconcat-filename.c: New file.
46793         * NEWS: Mention the change.
46794         * lib/findprog.c: Include concat-filename.h, not filename.h.
46795         (find_in_path): Use xconcatenated_filename instead of
46796         concatenated_filename.
46797         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46798         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46799         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46800         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46801         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46802         instead of concatenated_filename.
46803         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46804         (execute_java_class): Use xconcatenated_filename instead of
46805         concatenated_filename.
46806         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46807         * modules/javacomp (Depends-on): Likewise.
46808         * modules/javaexec (Depends-on): Likewise.
46809
46810 2008-09-01  Bruno Haible  <bruno@clisp.org>
46811
46812         Split module 'filename' into 'filename' and 'concat-filename'.
46813         * modules/filename: Keep only lib/filename.h.
46814         (License): Change to LGPLv2+.
46815         * modules/concat-filename: New file, extracted from modules/filename.
46816         * lib/filename.h (concatenated_filename): Remove declaration.
46817         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46818         * lib/concat-filename.c: Include concat-filename.h.
46819         * NEWS: Mention the change.
46820
46821 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46822
46823         * lib/bitrotate.h (rotl8, rotr8): Add.
46824
46825         * modules/bitrotate (configure.ac): Need
46826         AC_REQUIRE([AC_C_INLINE]).
46827         (Description): Mention stdint.h.  Reported by Bruno Haible
46828         <bruno@clisp.org>.
46829
46830         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46831         Paolo Bonzini <bonzini@gnu.org>.
46832
46833 2008-08-31  Bruno Haible  <bruno@clisp.org>
46834
46835         Assume Solaris specific bi-arch conventions on Solaris systems.
46836         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46837         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46838         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46839         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46840         like acl_libdirstem.
46841         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46842         acl_libdirstem.
46843         * NEWS: Mention the change.
46844         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46845
46846 2008-08-31  Jim Meyering  <meyering@redhat.com>
46847
46848         * lib/strftime.h: Add comments describing the two added arguments.
46849
46850         remove duplicate #include directives
46851         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46852         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46853
46854 2008-08-31  Bruno Haible  <bruno@clisp.org>
46855
46856         New module 'sigpipe-die'.
46857         * modules/sigpipe-die: New file.
46858         * lib/sigpipe-die.h: New file.
46859         * lib/sigpipe-die.c: New file.
46860         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46861
46862 2008-08-31  Bruno Haible  <bruno@clisp.org>
46863
46864         Don't override previously installed signal handlers.
46865         * lib/fatal-signal.c (saved_sigactions): New variable.
46866         (uninstall_handlers): Reset the signal to the saved handler, not
46867         to SIG_DFL (except when ignored).
46868         (install_handlers): Save the previous handlers.
46869
46870 2008-08-30  Bruno Haible  <bruno@clisp.org>
46871
46872         * gnulib-tool (func_reset_sigpipe): New function.
46873         (func_get_automake_snippet, func_modules_transitive_closure,
46874         func_import): Invoke it before a join command that reads from stdin,
46875         to avoid "echo: write error: Broken pipe" error messages on stderr.
46876         Reported by Sam Steingold <sds@gnu.org>.
46877
46878 2008-08-30  Bruno Haible  <bruno@clisp.org>
46879
46880         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46881         Code copied from m4/open.m4.
46882         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46883         access and the filename ends in a slash. Code copied from lib/open.c.
46884         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46885         * tests/test-fopen.c (main): Check against bug with trailing slash.
46886
46887 2008-08-29  Bruno Haible  <bruno@clisp.org>
46888
46889         Avoid some "gcc -pedantic" warnings.
46890         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46891         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46892         * lib/dirent.in.h: Likewise.
46893         * lib/fcntl.in.h: Likewise.
46894         * lib/float.in.h: Likewise.
46895         * lib/iconv.in.h: Likewise.
46896         * lib/inttypes.in.h: Likewise.
46897         * lib/locale.in.h: Likewise.
46898         * lib/math.in.h: Likewise.
46899         * lib/netinet_in.in.h: Likewise.
46900         * lib/search.in.h: Likewise.
46901         * lib/signal.in.h: Likewise.
46902         * lib/stdarg.in.h: Likewise.
46903         * lib/stdint.in.h: Likewise.
46904         * lib/stdio.in.h: Likewise.
46905         * lib/stdlib.in.h: Likewise.
46906         * lib/string.in.h: Likewise.
46907         * lib/strings.in.h: Likewise.
46908         * lib/sys_select.in.h: Likewise.
46909         * lib/sys_socket.in.h: Likewise.
46910         * lib/sys_stat.in.h: Likewise.
46911         * lib/sys_time.in.h: Likewise.
46912         * lib/sysexits.in.h: Likewise.
46913         * lib/time.in.h: Likewise.
46914         * lib/unistd.in.h: Likewise.
46915         * lib/wchar.in.h: Likewise.
46916         * lib/wctype.in.h: Likewise.
46917         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46918         * modules/fchdir (Makefile.am): Likewise.
46919         * modules/fcntl (Makefile.am): Likewise.
46920         * modules/float (Makefile.am): Likewise.
46921         * modules/iconv_open (Makefile.am): Likewise.
46922         * modules/inttypes (Makefile.am): Likewise.
46923         * modules/locale (Makefile.am): Likewise.
46924         * modules/math (Makefile.am): Likewise.
46925         * modules/netinet_in (Makefile.am): Likewise.
46926         * modules/search (Makefile.am): Likewise.
46927         * modules/signal (Makefile.am): Likewise.
46928         * modules/stdarg (Makefile.am): Likewise.
46929         * modules/stdint (Makefile.am): Likewise.
46930         * modules/stdio (Makefile.am): Likewise.
46931         * modules/stdlib (Makefile.am): Likewise.
46932         * modules/string (Makefile.am): Likewise.
46933         * modules/strings (Makefile.am): Likewise.
46934         * modules/sys_select (Makefile.am): Likewise.
46935         * modules/sys_socket (Makefile.am): Likewise.
46936         * modules/sys_stat (Makefile.am): Likewise.
46937         * modules/sys_time (Makefile.am): Likewise.
46938         * modules/sysexits (Makefile.am): Likewise.
46939         * modules/time (Makefile.am): Likewise.
46940         * modules/unistd (Makefile.am): Likewise.
46941         * modules/wchar (Makefile.am): Likewise.
46942         * modules/wctype (Makefile.am): Likewise.
46943         Reported by Reuben Thomas <rrt@sc3d.org>.
46944
46945 2008-08-29  Bruno Haible  <bruno@clisp.org>
46946
46947         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
46948         any more.
46949
46950 2008-08-29  Simon Josefsson  <simon@josefsson.org>
46951
46952         * MODULES.html.sh (Misc): Add bitrotate.
46953
46954         * modules/bitrotate: New file.
46955
46956         * lib/bitrotate.h: New file.
46957
46958         * modules/bitrotate-tests: New file.
46959
46960         * tests/test-bitrotate.c: New file.
46961
46962         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
46963         on the bitrotate module.
46964
46965         * lib/arctwo.c: Use new bitrotate module.
46966
46967 2008-08-29  Jim Meyering  <meyering@redhat.com>
46968
46969         bootstrap: merge changes from coreutils
46970         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
46971         of copied files.  Remove a kludge, now that this is fixed.
46972         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
46973         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
46974         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
46975
46976 2008-08-29  Bruno Haible  <bruno@clisp.org>
46977
46978         * MODULES.html.sh: Remove --cvs-urls option.
46979
46980 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
46981
46982         maint.mk: adjust to file name change
46983         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
46984
46985 2008-08-28  Jim Meyering  <meyering@redhat.com>
46986
46987         * modules/getndelim2 (License): Relicense to LGPLv2+.
46988         Approved by Richard Stallman for the version of 1995, and by
46989         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
46990
46991 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
46992
46993         * lib/getdelim.c (flockfile, funlockfile): Make all of them
46994         dummy if one is not available.  Do not touch them if
46995         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
46996         (getc_maybe_unlocked): New.
46997         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
46998
46999 2008-08-26  Eric Blake  <ebb9@byu.net>
47000
47001         doc/INSTALL: resync from autoconf
47002         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47003         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47004         moving...
47005         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47006         * INSTALL: Regenerate.
47007         * INSTALL.ISO: New file.
47008         * INSTALL.UTF-8: Likewise.
47009
47010 2008-08-26  Jim Meyering  <meyering@redhat.com>
47011
47012         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47013         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47014         these definitions conditional, so that they may be overridden, too.
47015
47016 2008-08-26  Bruno Haible  <bruno@clisp.org>
47017
47018         Generate INSTALL file variants with prettier quotes.
47019         * doc/Makefile (INSTALL_PRELUDE): New macro.
47020         (INSTALL): Use it.
47021         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47022
47023 2008-08-26  Bruno Haible  <bruno@clisp.org>
47024
47025         Run makeinfo in an English locale.
47026         * doc/Makefile (MAKEINFO): New variable.
47027
47028 2008-08-26  Bruno Haible  <bruno@clisp.org>
47029
47030         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47031         Suggested by Eric Blake.
47032
47033 2008-08-25  Bruno Haible  <bruno@clisp.org>
47034
47035         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47036
47037 2008-08-25  Eric Blake  <ebb9@byu.net>
47038
47039         c-stack: test that stack overflow can be caught
47040         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47041         that platform allows handling stack overflow; at least OS/2 EMX
47042         has sigaltstack, but crashes before transferring control to
47043         handler on stack overflow.
47044         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47045         check for HAVE_STACK_OVERFLOW_HANDLING.
47046         Reported by Elbert Pol.
47047
47048 2008-08-25  Bruno Haible  <bruno@clisp.org>
47049
47050         * doc/posix-functions/strftime.texi: Fix description of strftime
47051         module.
47052
47053 2008-08-24  Bruno Haible  <bruno@clisp.org>
47054
47055         * tests/uniwidth/test-uc_width2.c: New file.
47056         * tests/uniwidth/test-uc_width2.sh: New file.
47057         * modules/uniwidth/width-tests (Files): Add the new files.
47058         (TESTS): Add uniwidth/test-uc_width2.sh.
47059         (TESTS_ENVIRONMENT): New variable.
47060         (check_PROGRAMS): Add test-uc_width2.
47061         (test_uc_width2_SOURCES): New variable.
47062
47063         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47064         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47065         not 0x00AB.
47066         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47067
47068 2008-08-22  Eric Blake  <ebb9@byu.net>
47069
47070         test-lock, test-tls: mention why a test is skipped
47071         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47072         skipped.
47073         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47074
47075         count-one-bits: relax license
47076         * modules/count-one-bits (License): Relicense to LGPLv2+.
47077         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47078
47079 2008-08-22  Andreas Schwab  <schwab@suse.de>
47080
47081         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47082         Remove spurious space in assignment.
47083
47084 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47085
47086         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47087         Paul Eggert <eggert@CS.UCLA.EDU>.
47088
47089 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47090
47091         * modules/gettext: Add m4/threadlib.m4.
47092
47093 2008-08-19  Eric Blake  <ebb9@byu.net>
47094
47095         test-c-stack: fix compilation failure on FreeBSD 5.0
47096         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47097         headers before <sys/resource.h>.
47098         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47099         the bug.
47100         Reported by Nelson H. F. Beebe.
47101
47102         strverscmp: migrate from "strverscmp.h" to <string.h>
47103         * modules/string (Makefile.am): Add new hooks.
47104         * modules/strverscmp (Files): Remove strverscmp.h.
47105         (Depends-on): Add string.
47106         (configure.ac): Add indicator.
47107         (Include): Mention new header.
47108         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47109         defaults.
47110         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47111         results.
47112         * lib/strverscmp.h: Delete.
47113         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47114         * tests/test-strverscmp.c (includes): Adjust client.
47115         * lib/check-version.c (includes): Likewise.
47116         * NEWS: Document the change.
47117
47118         strverscmp: add unit test
47119         * modules/strverscmp-tests: New file.
47120         * tests/test-strverscmp.c: Likewise.
47121
47122 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47123
47124         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47125         regarding Windows crypto stuff, from Mono.
47126
47127 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47128
47129         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47130         if present, for intel RND.  Return error on failures.
47131
47132 2008-08-18  Ben Pfaff  <blp@gnu.org>
47133
47134         gitlog-to-changelog: give better diagnostic for failed pipe-open
47135         * build-aux/gitlog-to-changelog: Improve error message: suggest
47136         that the version of Git may be too old.
47137
47138 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47139
47140         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47141         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47142
47143 2008-08-18  Bruno Haible  <bruno@clisp.org>
47144
47145         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47146         pthread_in_use().
47147
47148 2008-08-18  Bruno Haible  <bruno@clisp.org>
47149
47150         * lib/glthread/threadlib.c: Include <pthread.h>.
47151
47152 2008-08-18  Bruno Haible  <bruno@clisp.org>
47153
47154         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47155         glthread_recursive_lock_* macros.
47156         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47157         Fix syntax error.
47158
47159 2008-08-18  Bruno Haible  <bruno@clisp.org>
47160
47161         * lib/glthread/thread.c: Avoid forcing a context switch right after
47162         thread creation.
47163
47164 2008-08-17  Bruno Haible  <bruno@clisp.org>
47165
47166         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47167         * lib/glthread/thread.h: Provide Win32 specific implementation.
47168         * modules/thread (Files): Add lib/glthread/thread.c.
47169         (Depends-on): Add lock.
47170         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47171
47172 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47173
47174         New module 'yield'.
47175         * modules/yield: New file.
47176         * lib/glthread/yield.h: New file.
47177         * m4/yield.m4: New file.
47178         * MODULES.html.sh (Multithreading): Add yield.
47179
47180 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47181
47182         New module 'thread'.
47183         * modules/thread: New file.
47184         * lib/glthread/thread.h: New file.
47185         * m4/thread.m4: New file.
47186         * MODULES.html.sh (Multithreading): Add thread.
47187
47188 2008-08-17  Bruno Haible  <bruno@clisp.org>
47189
47190         * lib/glthread/lock.h: Include <stdlib.h> always.
47191         * lib/glthread/tls.h: Likewise.
47192         * lib/glthread/cond.h: Likewise.
47193
47194 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47195
47196         New module 'cond'.
47197         * modules/cond: New file.
47198         * lib/glthread/cond.h: New file.
47199         * lib/glthread/cond.c: New file.
47200         * m4/cond.m4: New file.
47201         * MODULES.html.sh (Multithreading): Add cond.
47202
47203 2008-08-16  Eric Blake  <ebb9@byu.net>
47204
47205         c-stack: fix regression on Irix 5.3 from 2008-06-21
47206         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47207         sa_sigaction...
47208         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47209         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47210         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47211         * modules/signal (Makefile.am): Use the value.
47212         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47213         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47214         * doc/posix-headers/signal.texi (signal.h): Document this
47215         portability issue.
47216         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47217         Reported by Tom G. Christensen.
47218
47219 2008-08-17  Bruno Haible  <bruno@clisp.org>
47220
47221         New module 'threadlib'.
47222         * modules/threadlib: New file.
47223         * lib/glthread/threadlib.c: New file, extracted from
47224         lib/glthread/lock.c.
47225         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47226         functions.
47227         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47228         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47229         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47230         macros.
47231         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47232         (gl_DISABLE_THREADS): Remove macro.
47233         * modules/lock (Files): Remove build-aux/config.rpath.
47234         (Depends-on): Remove havelib. Add threadlib.
47235         (configure.ac-early): Remove section.
47236         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47237         * modules/tls (Depends-on): Remove lock. Add threadlib.
47238         (Link): New section, copied from threadlib.
47239         * MODULES.html.sh (Multithreading): Add threadlib.
47240
47241 2008-08-14  Bruno Haible  <bruno@clisp.org>
47242
47243         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47244         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47245         glthread_rwlock_unlock, glthread_rwlock_destroy,
47246         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47247         glthread_recursive_lock_destroy): Define as macros always.
47248         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47249         glthread_lock_lock.
47250         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47251         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47252         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47253         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47254         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47255         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47256         (glthread_recursive_lock_lock_func): Renamed from
47257         glthread_recursive_lock_lock.
47258         (glthread_recursive_lock_unlock_func): Renamed from
47259         glthread_recursive_lock_unlock.
47260         (glthread_recursive_lock_destroy_func): Renamed from
47261         glthread_recursive_lock_destroy.
47262
47263 2008-08-14  Bruno Haible  <bruno@clisp.org>
47264
47265         * lib/glthread/lock.h: Renamed from lib/lock.h.
47266         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47267         * lib/glthread/tls.h: Renamed from lib/tls.h.
47268         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47269         * lib/fstrcmp.c: Update includes.
47270         * lib/strsignal.c: Update includes.
47271         * modules/lock (Files, Makefile.am): Update.
47272         (Include): Change to "glthread/lock.h".
47273         * modules/tls (Files, Makefile.am): Update.
47274         (Include): Change to "glthread/tls.h".
47275         * tests/test-lock.c: Update includes.
47276         * tests/test-tls.c: Update includes.
47277         * NEWS: Mention the renamed header files.
47278
47279 2008-08-11  Jim Meyering  <meyering@redhat.com>
47280
47281         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47282
47283 2008-08-11  Eric Blake  <ebb9@byu.net>
47284
47285         test-c-stack: avoid C99-ism
47286         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47287         before statement.
47288         Reported by Alain Guibert.
47289
47290 2008-08-10  Jim Meyering  <meyering@redhat.com>
47291
47292         ensure that return value of uinttostr et al are not ignored
47293         * lib/inttostr.h (__GNUC_PREREQ): Define.
47294         (__attribute_warn_unused_result__): Define.
47295         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47296
47297 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47298
47299         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47300         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47301
47302 2008-08-07  Jim Meyering  <meyering@redhat.com>
47303
47304         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47305
47306         * modules/mkstemp (License): Relicense under LGPLv2+.
47307         * modules/tempname (License): Likewise.
47308
47309 2008-08-06  Bruno Haible  <bruno@clisp.org>
47310
47311         * lib/poll.c (poll): Further micro-optimization.
47312
47313 2008-08-06  Jim Meyering  <meyering@redhat.com>
47314
47315         inet_pton.c: use locale-independent tolower
47316         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47317         (inet_pton6): Use c_tolower rather than tolower.
47318         * modules/inet_pton (Depends-on): Add c-ctype.
47319
47320 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47321
47322         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47323         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47324
47325 2008-08-06  Jim Meyering  <meyering@redhat.com>
47326
47327         * modules/inet_pton (License): Relicense under LGPLv2+.
47328
47329 2008-08-03  Bruno Haible  <bruno@clisp.org>
47330
47331         Additional non-aborting API for lock and tls.
47332         * lib/lock.h: Include <errno.h>.
47333         (glthread_lock_init): New macro/function.
47334         (gl_lock_init): Define as wrapper around glthread_lock_init.
47335         (glthread_lock_lock): New macro/function.
47336         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47337         (glthread_lock_unlock): New macro/function.
47338         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47339         (glthread_lock_destroy): New macro/function.
47340         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47341         (glthread_rwlock_init): New macro/function.
47342         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47343         (glthread_rwlock_rdlock): New macro/function.
47344         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47345         (glthread_rwlock_wrlock): New macro/function.
47346         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47347         (glthread_rwlock_unlock): New macro/function.
47348         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47349         (glthread_rwlock_destroy): New macro/function.
47350         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47351         (glthread_recursive_lock_init): New macro/function.
47352         (gl_recursive_lock_init): Define as wrapper around
47353         glthread_recursive_lock_init.
47354         (glthread_recursive_lock_lock): New macro/function.
47355         (gl_recursive_lock_lock): Define as wrapper around
47356         glthread_recursive_lock_lock.
47357         (glthread_recursive_lock_unlock): New macro/function.
47358         (gl_recursive_lock_unlock): Define as wrapper around
47359         glthread_recursive_lock_unlock.
47360         (glthread_recursive_lock_destroy): New macro/function.
47361         (gl_recursive_lock_destroy): Define as wrapper around
47362         glthread_recursive_lock_destroy.
47363         (glthread_once): New macro/function.
47364         (gl_once): Define as wrapper around glthread_once.
47365         Update function declarations.
47366         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47367         glthread_rwlock_init. Return error code.
47368         (glthread_rwlock_rdlock_multithreaded): Renamed from
47369         glthread_rwlock_rdlock. Return error code.
47370         (glthread_rwlock_wrlock_multithreaded): Renamed from
47371         glthread_rwlock_wrlock. Return error code.
47372         (glthread_rwlock_unlock_multithreaded): Renamed from
47373         glthread_rwlock_unlock. Return error code.
47374         (glthread_rwlock_destroy_multithreaded): Renamed from
47375         glthread_rwlock_destroy. Return error code.
47376         (glthread_recursive_lock_init_multithreaded): Renamed from
47377         glthread_recursive_lock_init. Return error code.
47378         (glthread_recursive_lock_lock_multithreaded): Renamed from
47379         glthread_recursive_lock_lock. Return error code.
47380         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47381         glthread_recursive_lock_unlock. Return error code.
47382         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47383         glthread_recursive_lock_destroy. Return error code.
47384         (glthread_once_call): Make static.
47385         (glthread_once_multithreaded): Renamed from glthread_once.
47386         * lib/tls.h: Include <errno.h>.
47387         (glthread_tls_key_init): New macro/function.
47388         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47389         (glthread_tls_set): New macro/function.
47390         (gl_tls_set): Define as wrapper around glthread_tls_set.
47391         (glthread_tls_key_destroy): New macro/function.
47392         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47393         Update function declarations.
47394         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47395         glthread_tls_get.
47396         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47397
47398 2008-08-04  Eric Blake  <ebb9@byu.net>
47399
47400         gnumakefile: use space, not TAB, outside of targets
47401         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47402
47403 2008-08-02  Jim Meyering  <meyering@redhat.com>
47404
47405         getdate.y: avoid locale-dependent date parsing failure
47406         In Turkish locales, getdate would fail to recognize keywords
47407         containing a lowercase "i".  The solution is not to rely on
47408         locale-sensitive case-conversion.
47409         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47410         (lookup_word): Use c_toupper in place of toupper.
47411         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47412         Reported by Vefa Bicakci <bicave@superonline.com> in
47413         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47414         * modules/getdate (Depends-on): Add c-ctype.
47415
47416 2008-08-02  Bruno Haible  <bruno@clisp.org>
47417
47418         * gnulib-tool (func_import): When updating or creating a .gitignore
47419         file, prepend each added line with a slash, and ignore leading slashes
47420         from the existing lines.
47421         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47422
47423 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47424
47425         Portability fix for GNU make 3.79.1.
47426         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47427         versions do not understand.
47428
47429 2008-08-01  Bruno Haible  <bruno@clisp.org>
47430
47431         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47432         * tests/test-isnanf.h (zero): New variable.
47433         (main): Avoid literal -0.0f.
47434         * tests/test-isnand.h (zero): New variable.
47435         (main): Avoid literal -0.0.
47436         * tests/test-isnanl.h (zero): New variable.
47437         (main): Avoid literal -0.0L.
47438         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47439         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47440         -0.0, -0.0L.
47441         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47442         (test_signbitd): Avoid literal -0.0.
47443         (test_signbitl): Avoid literal -0.0L.
47444         * tests/test-ceilf1.c (zero): New variable.
47445         (main): Avoid literal -0.0f.
47446         * tests/test-ceill.c (zero): New variable.
47447         (main): Avoid literal -0.0L.
47448         * tests/test-floorf1.c (zero): New variable.
47449         (main): Avoid literal -0.0f.
47450         * tests/test-floorl.c (zero): New variable.
47451         (main): Avoid literal -0.0L.
47452         * tests/test-roundf1.c (zero): New variable.
47453         (main): Avoid literal -0.0f.
47454         * tests/test-round1.c (zero): New variable.
47455         (main): Avoid literal -0.0.
47456         * tests/test-roundl.c (zero): New variable.
47457         (main): Avoid literal -0.0L.
47458         * tests/test-truncf1.c (zero): New variable.
47459         (main): Avoid literal -0.0f.
47460         * tests/test-trunc1.c (zero): New variable.
47461         (main): Avoid literal -0.0.
47462         * tests/test-truncl.c (zero): New variable.
47463         (main): Avoid literal -0.0L.
47464         * tests/test-frexp.c (zero): New variable.
47465         (main): Avoid literal -0.0.
47466         * tests/test-frexpl.c (zero): New variable.
47467         (main): Avoid literal -0.0L.
47468         * tests/test-ldexpl.c (zero): New variable.
47469         (main): Avoid literal -0.0L.
47470         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47471         (zerod, zerol): New variables.
47472         (test_function): Avoid literals -0.0, -0.0L.
47473         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47474         (zerod, zerol): New variables.
47475         (test_function): Avoid literals -0.0, -0.0L.
47476         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47477         (zerod, zerol): New variables.
47478         (test_function): Avoid literals -0.0, -0.0L.
47479         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47480         (zerod, zerol): New variables.
47481         (test_function): Avoid literals -0.0, -0.0L.
47482         * tests/test-strtod.c (zero): New variable.
47483         (main): Avoid literal -0.0.
47484         Reported by Jonathan C. Patschke <jp@centtech.com>.
47485
47486 2008-07-31  Jim Meyering  <meyering@redhat.com>
47487
47488         sha256.h: correct definition of SHA224_DIGEST_SIZE
47489         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47490         Reported by Paulie Pena IV <paulie4@gmail.com>.
47491         Define as 224 / 8, rather than as a literal.
47492         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47493         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47494         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47495
47496 2008-07-31  Bruno Haible  <bruno@clisp.org>
47497
47498         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47499         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47500         Reported by Jonathan Patschke <jp@centtech.com>.
47501
47502 2008-07-31  Bruno Haible  <bruno@clisp.org>
47503
47504         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47505         Reported by Paolo Bonzini <bonzini@gnu.org>.
47506
47507 2008-07-30  Eric Blake  <ebb9@byu.net>
47508
47509         test-strtod: allow compilation without -lm
47510         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47511         Reported by Dennis Clarke <blastwave@gmail.com>.
47512
47513 2008-07-28  Jim Meyering  <meyering@redhat.com>
47514
47515         bootstrap: work also when there are no .po files in po/
47516         * build-aux/bootstrap (update_po_files): Complete the change
47517         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47518
47519 2008-07-27  Jim Meyering  <meyering@redhat.com>
47520
47521         * users.txt: Add zile.
47522
47523 2008-07-26  Ben Pfaff  <blp@gnu.org>
47524
47525         Add missing dependencies on new m4/exponent[fdl].m4 files.
47526         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47527         * modules/isnand-nolibm: Add m4/exponentd.m4.
47528         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47529         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47530         m4/isnan[fdl].m4, because the macros actually used moved.
47531         Reported by Jim Meyering.
47532
47533 2008-07-14  Ben Pfaff  <blp@gnu.org>
47534
47535         Add isinf module.
47536         * lib/isinf.c: New file.
47537         * lib/math.in.h: Define isinf macro if we have decided to replace
47538         it.
47539         * m4/isinf.m4: New file.
47540         * m4/math_h.m4: Initialize and substitute variables for isinf
47541         module.
47542         * modules/isinf: New file.
47543         * modules/isinf-tests: New file.
47544         * modules/math: Add substitutions for new module.
47545         * tests/test-isinf.c: New file.
47546         * doc/posix-functions/isinf.texi: Mention new module.
47547         * MODULES.html.sh: Mention new module.
47548
47549 2008-07-14  Ben Pfaff  <blp@gnu.org>
47550
47551         Factor out some macros for use by additional modules.
47552         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47553         exponentf.m4.
47554         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47555         exponentd.m4.
47556         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47557         file exponentl.m4.
47558         * m4/exponentf.m4: New file.
47559         * m4/exponentd.m4: New file.
47560         * m4/exponentl.m4: New file.
47561         * modules/isnanf: Use new file m4/exponentf.m4.
47562         * modules/isnand: Use new file m4/exponentd.m4.
47563         * modules/isnanl: Use new file m4/exponentl.m4.
47564
47565 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47566
47567         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47568         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47569         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47570         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47571
47572         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47573         readlink on platforms without PATH_MAX.
47574
47575 2008-07-21  Eric Blake  <ebb9@byu.net>
47576
47577         Warn, not fail, on stale version.
47578         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47579
47580         Don't allow installation with stale devel version number.
47581         * top/GNUmakefile (_is-install-target): New macro.
47582         (_curr-ver): Forbid installation with stale version number.
47583
47584 2008-07-20  Bruno Haible  <bruno@clisp.org>
47585
47586         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47587         TESTS_ENVIRONMENT.
47588         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47589
47590 2008-07-20  Bruno Haible  <bruno@clisp.org>
47591
47592         * lib/c-stack.h (c_stack_action): Add documentation.
47593         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47594
47595 2008-07-20  Bruno Haible  <bruno@clisp.org>
47596
47597         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47598         * modules/readlink (License): Likewise.
47599
47600 2008-07-17  Eric Blake  <ebb9@byu.net>
47601
47602         * modules/c-stack (Link): Fix typo.
47603
47604         Make c-stack use libsigsegv, when available.
47605         * modules/c-stack (Depends-on): Add libsigsegv.
47606         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47607         needed.
47608         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47609         (segv_handler, overflow_handler, c_stack_action)
47610         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47611         implementation when libsigsegv is available, but only when using
47612         the library is necessary.
47613         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47614         comment, explaining why XSI check fails on Linux.
47615         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47616         * tests/test-c-stack2.sh: Tweak skip message.
47617         * NEWS: Document new link-time requirements.
47618
47619 2008-07-16  Eric Blake  <ebb9@byu.net>
47620
47621         c-stack: Expose false positives when not using libsigsegv.
47622         * modules/c-stack-tests (Files): Expand test.
47623         * tests/test-c-stack.c (main): Add means to conditionally trigger
47624         non-overflow SIGSEGV.
47625         * tests/test-c-stack2.sh: New file.
47626
47627 2008-07-14  Bruno Haible  <bruno@clisp.org>
47628
47629         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47630         Reported by Eric Blake.
47631
47632 2008-07-14  Sam Steingold  <sds@gnu.org>
47633             Bruno Haible  <bruno@clisp.org>
47634
47635         New module libsigsegv.
47636         * modules/libsigsegv: New file.
47637         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47638         modifications.
47639         * MODULES.html.sh (Signal handling): New section.
47640
47641 2008-07-14  Bruno Haible  <bruno@clisp.org>
47642
47643         * modules/unictype/ctype-* (Description): Add the word "function".
47644         Improves the resulting doc in MODULES.html.
47645
47646 2008-07-12  Ben Pfaff  <blp@gnu.org>
47647
47648         Add longlong module.
47649         * modules/longlong: New file.
47650
47651 2008-07-12  Bruno Haible  <bruno@clisp.org>
47652
47653         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47654         to empty.
47655
47656 2008-07-10  Ben Pfaff  <blp@gnu.org>
47657
47658         Add isnan module.
47659         * doc/posix-functions/isnan.texi: Mention new module.
47660         * lib/math.in.h: Define isnan macro if we have decided to replace
47661         it.
47662         * m4/isnan.m4: New file.
47663         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47664         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47665         also.
47666         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47667         redundancy.
47668         * m4/math_h.m4: Initialize and substitute variables for isnan
47669         module.
47670         * modules/isnan: New file.
47671         * modules/isnan-tests: New file.
47672         * modules/math: Add substitutions for new module.
47673         * tests/test-isnan.c: New file.
47674         * MODULES.html.sh: Mention new module.
47675
47676 2008-07-10  Ben Pfaff  <blp@gnu.org>
47677
47678         Add isnanf module.
47679         * lib/isnanf.m4: New file.
47680         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47681         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47682         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47683         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47684         * modules/isnanf: New file.
47685         * modules/isnanf-tests: New file.
47686         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47687         files.
47688         * tests/test-isnanf-nolibm.c: factored most of its contents into
47689         new file tests/test-isnanf.h.
47690         * tests/test-isnanf.h: New file.
47691         * tests/test-isnanf.c: New file.
47692         * MODULES.html.sh: Mention new module.
47693         * doc/glibc-functions/isnanf.texi: Mention new module.
47694
47695 2008-07-10  Ben Pfaff  <blp@gnu.org>
47696
47697         Add isnand module.
47698         * lib/isnand.h: New file.
47699         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47700         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47701         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47702         functionality also.
47703         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47704         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47705         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47706         * modules/isnand: New file.
47707         * modules/isnand-tests: New file.
47708         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47709         files.
47710         * tests/test-isnand-nolibm.c: factored most of its contents into
47711         new file tests/test-isnand.h.
47712         * tests/test-isnand.h: New file.
47713         * tests/test-isnand.c: New file.
47714         * MODULES.html.sh: Mention new module.
47715
47716 2008-07-10  Ben Pfaff  <blp@gnu.org>
47717
47718         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47719         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47720         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47721         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47722         * modules/isnanf-nolibm: Update references to renamed files.
47723         * modules/isnand-nolibm: Likewise.
47724         * modules/isnanf-nolibm-tests: Likewise.
47725         * modules/isnand-nolibm-tests: Likewise.
47726         * lib/frexp.c: Likewise.
47727         * lib/isfinite.c: Likewise.
47728         * lib/signbitd.c: Likewise.
47729         * lib/signbitf.c: Likewise.
47730         * lib/vasnprintf.c: Likewise.
47731         * tests/test-ceilf1.c: Likewise.
47732         * tests/test-ceilf2.c: Likewise.
47733         * tests/test-floorf1.c: Likewise.
47734         * tests/test-floorf2.c: Likewise.
47735         * tests/test-frexp.c: Likewise.
47736         * tests/test-round1.c: Likewise.
47737         * tests/test-round2.c: Likewise.
47738         * tests/test-roundf1.c: Likewise.
47739         * tests/test-strtod.c: Likewise.
47740         * tests/test-trunc1.c: Likewise.
47741         * tests/test-trunc2.c: Likewise.
47742         * tests/test-truncf1.c: Likewise.
47743         * tests/test-truncf2.c: Likewise.
47744         * NEWS: Mention the renamed header files.
47745
47746 2008-07-11  Jim Meyering  <meyering@redhat.com>
47747
47748         vc-list-files: make the last-resort awk code more portable
47749         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47750         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47751         does not support it.
47752
47753 2008-07-10  Eric Blake  <ebb9@byu.net>
47754
47755         Work with tar's bootstrap.
47756         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47757         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47758         an m4 comment.
47759
47760 2008-07-09  Jim Meyering  <meyering@redhat.com>
47761
47762         posix-shell.m4: fix typo that made this test malfunction
47763         * m4/posix-shell.m4: Remove capitalization in variable name.
47764
47765 2008-07-08  Bruno Haible  <bruno@clisp.org>
47766
47767         * m4/onceonly.m4: Update comments.
47768         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47769
47770 2008-07-04  Jim Meyering  <meyering@redhat.com>
47771
47772         * users.txt: Add vc-dwim.
47773         (bison, coreutils): Use the gitweb URL.
47774
47775 2008-07-03  Jim Meyering  <meyering@redhat.com>
47776
47777         * users.txt: Add libffcall.  From Sam Steingold.
47778
47779 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47780
47781         getdate.y: do not ignore TZ with relative day, month or year offset
47782         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47783         relative-date-handling, since otherwise, the latter would clobber the
47784         sole output (an updated Start value) of the tz-handling block.
47785         * tests/test-getdate.c: Tests for the fix
47786
47787 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47788
47789         Recognize 'foo_LIBRARIES += libgnu.a'.
47790         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47791         makefile snippet has already specified an installation location,
47792         also using '+='.
47793
47794 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47795
47796         getdate.y: factor out common actions
47797         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47798         Use them in place of open-coded actions.
47799
47800 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47801
47802         Add self-test for getdate module.
47803         * modules/getdate-tests: New file.
47804         * tests/test-getdate.c: New file.
47805
47806 2008-06-29  Bruno Haible  <bruno@clisp.org>
47807
47808         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47809         .gitignore.
47810         Reported by Sylvain Beucler <beuc@beuc.net>.
47811
47812 2008-06-29  Bruno Haible  <bruno@clisp.org>
47813
47814         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47815         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47816
47817 2008-06-29  Bruno Haible  <bruno@clisp.org>
47818
47819         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47820         EXTRA_DIST.
47821         Reported by Sylvain Beucler <beuc@beuc.net>.
47822
47823 2008-06-26  Jim Meyering  <meyering@redhat.com>
47824
47825         make several modules depend on the "open" module
47826         This provides slightly increased consistency when opening-for-write
47827         the name of a non-directory spelled with a trailing slash.
47828         * modules/chdir-safer: Likewise.
47829         * modules/chown: Likewise.
47830         * modules/clean-temp: Likewise.
47831         * modules/copy-file: Likewise.
47832         * modules/fchdir: Likewise.
47833         * modules/fcntl-safer: Likewise.
47834         * modules/pipe: Likewise.
47835         * modules/utime: Likewise.
47836         Prompted by Eric Blake and Bruno Haible.
47837
47838 2008-06-24  Andreas Schwab  <schwab@suse.de>
47839
47840         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47841         literals can be used as initializers for global variables.
47842
47843 2008-06-23  Eric Blake  <ebb9@byu.net>
47844
47845         Make gnulib-cache.m4 easier to diff.
47846         * gnulib-tool (func_import): Allow newlines when reading cached
47847         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47848
47849 2008-06-23  Bruno Haible  <bruno@clisp.org>
47850
47851         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47852         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47853         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47854         m4/signalblocking.m4.
47855         (gl_PREREQ_SIGACTION): Don't invoke it.
47856         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47857         gl_PREREQ_SIG_HANDLER_H.
47858         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47859         Don't check for sigaction here.
47860
47861 2008-06-23  Bruno Haible  <bruno@clisp.org>
47862
47863         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47864         (install_handlers): Don't set the SA_RESETHAND flag.
47865
47866 2008-06-23  Bruno Haible  <bruno@clisp.org>
47867
47868         * m4/sigaction.m4: Comment fixes.
47869         * lib/signal.in.h: Likewise.
47870
47871 2008-06-23  Eric Blake  <ebb9@byu.net>
47872
47873         Fix typo.
47874         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47875
47876         Avoid SA_ namespace.
47877         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47878         Reported by Ralf Wildenhues.
47879
47880         Avoid test failure due to SA_RESTORER.
47881         * tests/test-sigaction.c (SA_MASK): New macro.
47882         (main): Avoid failing due to extension flags being set.
47883         Reported by Jim Meyering.
47884
47885         Revert use of sig-handler.h in sigprocmask.c.
47886         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47887         it requires the existence of struct sigaction.
47888         * lib/sigprocmask.c (handler_t): Restore typedef.
47889         (rpl_signal, old_handlers): Use local type.
47890
47891 2008-06-22  Bruno Haible  <bruno@clisp.org>
47892
47893         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47894         conditionally.
47895         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47896
47897 2008-06-22  Bruno Haible  <bruno@clisp.org>
47898
47899         * doc/posix-functions/siginterrupt.texi: Move note.
47900
47901         * lib/signal.in.h (SA_RESTART): New macro.
47902         * lib/sigaction.c: Update comment.
47903
47904         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47905
47906         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47907         (gl_PREREQ_SIGPROCMASK): Invoke it.
47908         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47909
47910         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47911
47912         * lib/sigprocmask.c: Update a comment.
47913
47914 2008-06-21  Eric Blake  <ebb9@byu.net>
47915
47916         Use sigaction module rather than signal().
47917         * modules/c-stack (Depends-on): Add sigaction.
47918         * modules/fatal-signal (Depends-on): Likewise.
47919         * modules/nanosleep (Depends-on): Likewise.
47920         * modules/sigprocmask (Files): Add sig-handler.h.
47921         * modules/sigaction (Files): Likewise.
47922         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47923         Eggert.
47924         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47925         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47926         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
47927         (init_fatal_signals): Likewise.
47928         * lib/nanosleep.c (rpl_nanosleep): Likewise.
47929         (siginterrupt): Delete fallback.
47930         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
47931         instead.
47932         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
47933         siginterrupt.
47934
47935         New module sigaction, for mingw.
47936         * modules/sigaction: New module...
47937         * modules/sigaction-tests: ...and its test.
47938         * m4/sigaction.m4: New file.
47939         * lib/sigaction.c: Likewise.
47940         * tests/test-sigaction.c: Likewise.
47941         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
47942         * modules/signal (Makefile.am): Likewise.
47943         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
47944         needed.
47945         * doc/posix-headers/signal.texi (signal.h): Mention provided
47946         types.
47947         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
47948         that sigaction is preferable.
47949         * doc/posix-functions/sigaction.texi (sigaction): Mention new
47950         module.
47951         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47952         sigaction.
47953
47954         Improve robustness of sigprocmask by overriding signal.
47955         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
47956         is in use.
47957         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
47958         (SIGKILL, SIGSTOP): Provide fallbacks.
47959         (rpl_signal): Implement.
47960         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
47961         signal can be called inside handlers.
47962
47963         Fix nanosleep module on mingw.
47964         * modules/nanosleep (Depends-on): Add sys_select.
47965         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
47966
47967         Fix licensing of sigprocmask.
47968         * modules/raise (License): Relicense as LGPL.
47969
47970 2008-06-21  Bruno Haible  <bruno@clisp.org>
47971
47972         * lib/propername.c (proper_name_utf8): Don't use the transliterated
47973         result if it contains question marks.
47974         Reported by Michael Geng <linux@michaelgeng.de>.
47975
47976 2008-06-19  Bruno Haible  <bruno@clisp.org>
47977
47978         Fix CVS-ism.
47979         * doc/gnulib.texi: Include updated-stamp.texi.
47980         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
47981         (updated-stamp.texi): New rule.
47982         (gnulib.info): Depend on it.
47983         * doc/.gitignore: Add updated-stamp.texi.
47984         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
47985
47986 2008-06-19  Bruno Haible  <bruno@clisp.org>
47987
47988         * doc/Makefile (gnulib.info): Update and simplify dependencies.
47989         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47990
47991 2008-06-19  Eric Blake  <ebb9@byu.net>
47992
47993         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
47994         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
47995         Reported by Stepan Kasal.
47996
47997 2008-06-18  Bruno Haible  <bruno@clisp.org>
47998
47999         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48000         Reported by Eric Blake.
48001
48002 2008-06-18  Eric Blake  <ebb9@byu.net>
48003
48004         Work around cygwin 1.5.25 strsignal bug.
48005         * tests/test-strsignal.c: Allow for const char *.
48006         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48007
48008 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48009
48010         * users.txt: Update URL to article and add author/date
48011         information.
48012
48013 2008-06-17  Bruno Haible  <bruno@clisp.org>
48014
48015         New macro gl_DISABLE_THREADS.
48016         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48017         if the user did not pass --enable-threads or --disable-threads option.
48018         (gl_DISABLE_THREADS): New macro.
48019         Reported by Eric Blake <ebb9@byu.net>.
48020
48021 2008-06-17  Bruno Haible  <bruno@clisp.org>
48022
48023         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48024         when the macro ignores it.
48025         Based on a patch by Eric Blake <ebb9@byu.net>.
48026
48027 2008-06-17  Bruno Haible  <bruno@clisp.org>
48028
48029         * modules/tls (License): Change to LGPLv2+.
48030         Reported by Eric Blake.
48031
48032 2008-06-17  Eric Blake  <ebb9@byu.net>
48033
48034         Simplify c-stack prerequisites.
48035         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48036         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48037         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48038         check.
48039         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48040         <sys/resource.h>.
48041
48042         Move c-stack test into testsuite.
48043         * modules/c-stack-tests: New file.
48044         * lib/c-stack.c [DEBUG]: Move test program...
48045         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48046         fail test if sigaltstack is lacking.
48047         * tests/test-c-stack.sh: New driver file.
48048
48049 2008-06-16  Eric Blake  <ebb9@byu.net>
48050
48051         Use raise module consistently.
48052         * modules/fatal-signal (Depends-on): Add raise.
48053         * modules/sigprocmask (Depends-on): Likewise.
48054         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48055         * lib/sigprocmask.c (sigprocmask): Likewise.
48056         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48057         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48058
48059         Fix compliance bug in sigpending.
48060         * lib/sigprocmask.c (sigpending): Return pending array via
48061         parameter, not return value.
48062
48063 2008-06-14  Eric Blake  <ebb9@byu.net>
48064
48065         Improve obstack-printf test code.
48066         * tests/test-obstack-printf.c (test_function): Fix comment, and
48067         simplify usage of obstack_* in macros.  Add a test for coverage.
48068         Reported by Bruno Haible.
48069
48070 2008-06-14  Bruno Haible  <bruno@clisp.org>
48071
48072         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48073         array size as a constant, not as a const variable.
48074         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48075         AC_USE_SYSTEM_EXTENSIONS.
48076         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48077         Test whether the obstack_printf function actually exists.
48078         * modules/obstack-printf (Depends-on): Add extensions.
48079         (Include): Remove obstack.h.
48080         * modules/obstack-printf-posix (Depends-on): Add extensions.
48081         (Include): Remove obstack.h.
48082
48083 2008-06-13  Eric Blake  <ebb9@byu.net>
48084
48085         Add obstack-printf and obstack-printf-posix modules.
48086         * modules/obstack-printf: New file.
48087         * modules/obstack-printf-posix: Likewise.
48088         * MODULES.html.sh (Misc): Mention them.
48089         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48090         Likewise.
48091         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48092         Likewise.
48093         * modules/stdio (Makefile.am): Accomodate new modules.
48094         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48095         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48096         Declare.
48097         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48098         functions.
48099         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48100         (gl_REPLACE_OBSTACK_PRINTF): New macros
48101         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48102         * tests/test-obstack-printf.c: New file.
48103         * modules/obstack-printf-tests: Likewise.
48104         * modules/obstack-printf-posix-tests: Likewise.
48105
48106 2008-06-11  Bruno Haible  <bruno@clisp.org>
48107
48108         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48109         * lib/open.c: Include errno.h.
48110         (open): Fail when attempting to write to a file that has a trailing
48111         slash.
48112         * tests/test-open.c (main): Test against trailing slash bug.
48113         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48114
48115 2008-06-10  Bruno Haible  <bruno@clisp.org>
48116
48117         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48118         for $? to work inside the trap command, with various /bin/sh-s.
48119         * tests/test-vc-list-files-cvs.sh: Likewise.
48120
48121 2008-06-10  Bruno Haible  <bruno@clisp.org>
48122
48123         * lib/acl-internal.h: Don't include gettext.h here.
48124         * lib/set-mode-acl.c: Include gettext.h here.
48125         * lib/copy-acl.c: Likewise.
48126
48127 2008-06-10  Bruno Haible  <bruno@clisp.org>
48128
48129         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48130         * lib/wait-process.c (wait_subprocess): Likewise.
48131         * lib/execute.h (execute): Add termsigp argument.
48132         * lib/execute.c (execute): Likewise.
48133         * lib/csharpcomp.c (compile_csharp_using_pnet,
48134         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48135         * lib/csharpexec.c (execute_csharp_using_pnet,
48136         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48137         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48138         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48139         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48140         is_jikes_present): Update.
48141         * lib/javaexec.c (execute_java_class): Update.
48142         * lib/javaversion.c (execute_and_read_line): Update.
48143         * NEWS: Document the changes.
48144         Reported by Eric Blake.
48145
48146 2008-06-10  Eric Blake  <ebb9@byu.net>
48147
48148         Add missing include.
48149         * tests/test-strstr.c (includes): Add <signal.h>.
48150         * tests/test-strcasestr.c (includes): Likewise.
48151         * tests/test-memmem.c (includes): Likewise.
48152
48153 2008-06-10  Bruno Haible  <bruno@clisp.org>
48154
48155         * lib/wait-process.c (wait_subprocess): Add an assertion.
48156
48157 2008-06-10  Bruno Haible  <bruno@clisp.org>
48158
48159         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48160
48161 2008-06-10  Bruno Haible  <bruno@clisp.org>
48162
48163         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48164         using alarm().
48165         * tests/test-strcasestr.c (main): Likewise.
48166         * tests/test-strstr.c (main): Likewise.
48167
48168 2008-06-09  Bruno Haible  <bruno@clisp.org>
48169
48170         Work around the Solaris 10 ACE ACLs ABI change.
48171         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48172         declare if ACL_NO_TRIVIAL is present.
48173         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48174         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48175         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48176         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48177         define if ACL_NO_TRIVIAL is present.
48178         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48179         and use the current ABI.
48180         (file_has_acl): Use same #if condition as elsewhere.
48181         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48182         in use, and use the current ABI.
48183         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48184         Reported by Jim Meyering.
48185
48186 2008-06-09  Eric Blake  <ebb9@byu.net>
48187
48188         Work around environments that (stupidly) ignore SIGALRM.
48189         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48190         before using alarm().
48191         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48192         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48193         Reported by Ian Beckwith <ianb@erislabs.net>.
48194
48195         Produce autobuild blurb earlier in log.
48196         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48197
48198 2008-06-09  Jim Meyering  <meyering@redhat.com>
48199         and OndÅ™ej Vašík  <ovasik@redhat.com>
48200
48201         utimens.c: correct kernel bug work-around
48202         OndÅ™ej Vašík found that the invalid return value of 280 indicates
48203         failure, not success, and the kernel bug we're trying to work
48204         around affects not just the utimensat call, but also the fallback
48205         futimens call.
48206         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48207         not success.
48208         [HAVE_FUTIMENS]: Use the same work-around, here.
48209
48210 2008-06-09  Jim Meyering  <meyering@redhat.com>
48211
48212         add more guards around definition of ACE_-related code
48213         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48214         ALLOW and ACE_OWNER are also defined.
48215
48216 2008-06-08  Bruno Haible  <bruno@clisp.org>
48217
48218         * lib/acl-internal.h: Add me as co-author.
48219         * lib/file-has-acl.c: Likewise.
48220         * lib/set-mode-acl.c: Likewise.
48221         * lib/copy-acl.c: Likewise.
48222
48223 2008-06-08  Bruno Haible  <bruno@clisp.org>
48224
48225         Add support for AIX ACLs.
48226         * lib/acl-internal.h (acl_nontrivial): New declaration.
48227         * lib/file-has-acl.c (acl_nontrivial): New function.
48228         (file_has_acl): Add implementation using AIX 4 ACL API.
48229         * lib/set-mode-acl.c (qset_acl): Likewise.
48230         * lib/copy-acl.c (qcopy_acl): Likewise.
48231
48232 2008-06-08  Bruno Haible  <bruno@clisp.org>
48233
48234         Add support for HP-UX ACLs.
48235         * lib/acl-internal.h (acl_nontrivial): New declaration.
48236         * lib/file-has-acl.c (acl_nontrivial): New function.
48237         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48238         * lib/set-mode-acl.c (qset_acl): Likewise.
48239         * lib/copy-acl.c (qcopy_acl): Likewise.
48240
48241 2008-06-08  Bruno Haible  <bruno@clisp.org>
48242
48243         Add support for Cygwin ACLs.
48244         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48245         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48246         the chmod_or_fchmod call.
48247         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48248
48249 2008-06-08  Bruno Haible  <bruno@clisp.org>
48250
48251         Fix bug with setuid modes in Solaris 10+ code.
48252         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48253         succeeded, when the mode contains some special bits.
48254
48255 2008-06-08  Bruno Haible  <bruno@clisp.org>
48256
48257         Add support for Solaris 7..10 ACLs.
48258         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48259         declarations.
48260         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48261         functions.
48262         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48263         * lib/set-mode-acl.c (qset_acl): Likewise.
48264         * lib/copy-acl.c (qcopy_acl): Likewise.
48265
48266 2008-06-08  Bruno Haible  <bruno@clisp.org>
48267
48268         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48269         declaration.
48270         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48271         (acl_access_nontrivial): Remove MacOS X case.
48272         (file_has_acl): Use acl_extended_nontrivial.
48273         * lib/copy-acl.c (qcopy_acl): Likewise.
48274
48275 2008-06-08  Bruno Haible  <bruno@clisp.org>
48276
48277         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48278
48279 2008-06-08  Jim Meyering  <meyering@redhat.com>
48280
48281         * modules/acl (Maintainer): Add Bruno Haible.
48282
48283 2008-06-07  Bruno Haible  <bruno@clisp.org>
48284
48285         Improve support for Tru64 ACLs.
48286         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48287         ACL on OSF/1.
48288
48289 2008-06-07  Bruno Haible  <bruno@clisp.org>
48290
48291         Add support for MacOS X ACLs.
48292         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48293         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48294         * lib/set-mode-acl.c (qset_acl): Likewise.
48295         * lib/copy-acl.c (qcopy_acl): Likewise.
48296
48297 2008-06-07  Bruno Haible  <bruno@clisp.org>
48298
48299         Fix memory leak introduced on 2008-05-22.
48300         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48301         use.
48302
48303 2008-06-07  Bruno Haible  <bruno@clisp.org>
48304
48305         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48306         to construct an empty ACL.
48307
48308 2008-06-07  Bruno Haible  <bruno@clisp.org>
48309
48310         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48311         precisely.
48312         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48313
48314 2008-06-07  Bruno Haible  <bruno@clisp.org>
48315
48316         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48317         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48318
48319 2008-06-07  Bruno Haible  <bruno@clisp.org>
48320
48321         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48322         regardless of POSIX.
48323         * doc/posix-functions/_longjmp.texi: Likewise.
48324         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48325         SystemV platform in this case.
48326
48327 2008-06-06  Eric Blake  <ebb9@byu.net>
48328
48329         Document abort() bugs.
48330         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48331
48332         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48333         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48334         sigsetjmp.
48335         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48336         siglongjmp, but only as a macro.
48337         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48338         is obsolete.
48339         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48340
48341         Tweak documentation to cover cygwin argz bugs.
48342         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48343         argz bug fix; no code change needed since no cygwin releases
48344         occurred between the last fix and the bug being tested.
48345         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48346         module and recently fixed cygwin bugs.
48347         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48348         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48349         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48350         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48351         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48352         Likewise.
48353         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48354         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48355         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48356         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48357         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48358         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48359         Likewise.
48360
48361         Avoid gcc warning on cygwin.
48362         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48363         !ACL_NO_TRIVIAL]: Avoid unused variable.
48364
48365 2008-06-05  Eric Blake  <ebb9@byu.net>
48366
48367         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48368         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48369         git-version-gen fails to come up with a version.
48370         Reported by Simon Josefsson.
48371
48372 2008-06-05  Jim Meyering  <meyering@redhat.com>
48373             Paul Eggert  <eggert@cs.ucla.edu>
48374
48375         utimens.c: work around a probable Linux kernel bug
48376         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48377         appears to be a kernel bug that causes utimensat to return 280
48378         instead of 0, indicating success.
48379
48380 2008-06-04  Bruno Haible  <bruno@clisp.org>
48381
48382         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48383         2008-06-01 commit.
48384
48385 2008-06-04  Bruno Haible  <bruno@clisp.org>
48386
48387         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48388         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48389         (file_has_acl): Use it. Save errno afterwards.
48390         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48391
48392 2008-06-03  Bruno Haible  <bruno@clisp.org>
48393
48394         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48395         draft code. Simplify #ifs.
48396         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48397         Put Solaris code after POSIX-draft code. Fix comments regarding
48398         Solaris 10, HP-UX. Mention Cygwin.
48399         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48400
48401 2008-06-03  Eric Blake  <ebb9@byu.net>
48402
48403         Provide fallback for older kernels.
48404         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48405         Provide runtime fallback if kernel lacks support.
48406         Reported by Mike Frysinger.
48407
48408 2008-06-02  Bruno Haible  <bruno@clisp.org>
48409
48410         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48411         it exists.
48412
48413 2008-06-02  Bruno Haible  <bruno@clisp.org>
48414
48415         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48416         * lib/copy-acl.c (qcopy_acl): Update comment.
48417
48418 2008-06-02  Bruno Haible  <bruno@clisp.org>
48419
48420         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48421         like ACL APIs.
48422
48423 2008-06-02  Bruno Haible  <bruno@clisp.org>
48424
48425         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48426         * tests/test-set-mode-acl.sh: Likewise.
48427         * tests/test-copy-acl.sh: Likewise.
48428         * tests/test-copy-file.sh: Likewise.
48429
48430 2008-06-02  Bruno Haible  <bruno@clisp.org>
48431
48432         * tests/test-file-has-acl.sh: Remove unused code.
48433
48434 2008-06-01  Bruno Haible  <bruno@clisp.org>
48435
48436         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48437         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48438         messages.
48439         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48440
48441 2008-06-01  Bruno Haible  <bruno@clisp.org>
48442
48443         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48444         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48445         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48446         APIs.
48447         * modules/acl-tests (configure.ac): Remove tests now contained in
48448         m4/acl.m4.
48449
48450 2008-06-02  Jim Meyering  <meyering@redhat.com>
48451
48452         announce-gen: use a better key-server host name
48453         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48454         it may be more consistently reliable.  Suggested by Werner Koch
48455         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48456
48457 2008-06-01  Bruno Haible  <bruno@clisp.org>
48458
48459         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48460         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48461
48462 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48463
48464         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48465
48466 2008-06-01  Bruno Haible  <bruno@clisp.org>
48467
48468         New ACL tests.
48469         * tests/test-file-has-acl.sh: New file.
48470         * tests/test-file-has-acl.c: New file.
48471         * tests/test-set-mode-acl.sh: New file.
48472         * tests/test-set-mode-acl.c: New file.
48473         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48474         * tests/test-copy-acl.c: New file.
48475         * modules/acl-tests: New file, based on modules/copy-file-tests.
48476         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48477         (Depends-on): Add acl-tests.
48478         (configure.ac): Remove checks.
48479         (Makefile.am): Don't create test-sameacls program here any more.
48480
48481 2008-06-01  Bruno Haible  <bruno@clisp.org>
48482
48483         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48484         * tests/test-sameacls.c: Include progname.h.
48485         (main): Invoke set_program_name. Portability fixes for MacOS X,
48486         Solaris, HP-UX.
48487
48488 2008-06-01  Bruno Haible  <bruno@clisp.org>
48489
48490         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48491         function.
48492         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48493
48494 2008-06-01  Bruno Haible  <bruno@clisp.org>
48495
48496         * modules/rpmatch (Depends-on): Add strdup.
48497
48498 2008-06-01  Bruno Haible  <bruno@clisp.org>
48499
48500         * lib/pipe.c: Include unistd-safer.h.
48501         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48502         * modules/pipe (Depends-on): Add unistd-safer.
48503
48504 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48505
48506         * modules/autobuild (configure.ac): Call AB_INIT.
48507
48508 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48509
48510         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48511         Suggested by Bruno Haible <bruno@clisp.org>.
48512
48513 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48514
48515         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48516         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48517         <bruno@clisp.org>.
48518
48519 2008-05-29  Eric Blake  <ebb9@byu.net>
48520
48521         Prefer new POSIX 200x interfaces over futimesat.
48522         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48523         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48524         when available.
48525         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48526
48527 2008-05-28  Bruno Haible  <bruno@clisp.org>
48528
48529         * modules/stpcpy (License): Change to LGPLv2+.
48530         Requested by David Lutterkort <dlutter@redhat.com>.
48531
48532 2008-05-27  Bruno Haible  <bruno@clisp.org>
48533
48534         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48535         current mingw.
48536         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48537
48538 2008-05-27  Bruno Haible  <bruno@clisp.org>
48539
48540         * modules/iconv_open (Link): New section, from module 'iconv'.
48541         * modules/striconv (Link): Likewise.
48542         * modules/striconveh (Link): Likewise.
48543         * modules/xstriconv (Link): Likewise.
48544         * modules/unicodeio (Link): Likewise.
48545         * modules/propername (Link): Likewise.
48546         Reported by Jim Meyering.
48547
48548 2008-05-26  Jim Meyering  <meyering@redhat.com>
48549
48550         sha256: do not artificially restrict buffer length to be < 2^32
48551         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48552         uint32_t to size_t.
48553         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48554         to match.
48555
48556         avoid unaligned access errors, e.g., on sparc
48557         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48558         direct access through a possibly-unaligned uint64* pointer.
48559         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48560         direct access through a possibly-unaligned uint32* pointer.
48561         Prompted by this patch from Tom "spot" Callaway:
48562         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48563
48564         sha512.c: fix typo in comment
48565         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48566
48567 2008-05-25  Bruno Haible  <bruno@clisp.org>
48568
48569         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48570         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48571         (Makefile.am): Update lib_SOURCES.
48572
48573 2008-05-25  Bruno Haible  <bruno@clisp.org>
48574
48575         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48576
48577 2008-05-25  Jim Meyering  <meyering@redhat.com>
48578
48579         useless-if-before-free: freed expr may have white-space differences
48580         * build-aux/useless-if-before-free: Recognize cases in which the
48581         freed expression differs from the tested one in embedded white
48582         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48583         $1 was used, so we can't make any regexp shy.  Improved tests now
48584         detect this.
48585
48586         useless-if-before-free: accept white space in the expression.
48587         * build-aux/useless-if-before-free: For now, any white space
48588         in the expression must be identical in the free argument.
48589
48590         useless-if-before-free: efficiency tweak
48591         * build-aux/useless-if-before-free: Make the expression-matching
48592         regexp "shy".
48593         Make the *outer* regexp shy, not the expr-matching one.
48594
48595         update code-in-comment to accept cast of free arg
48596         * build-aux/useless-if-before-free: Update regexp.
48597
48598 2008-05-25  Bruno Haible  <bruno@clisp.org>
48599
48600         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48601         * modules/copy-file-tests (Files, Makefile.am): Update.
48602         * tests/test-copy-file.c (func_test_copy): Update.
48603
48604 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48605
48606         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48607
48608 2008-05-23  Bruno Haible  <bruno@clisp.org>
48609
48610         Improve support for ACLs on OSF/1.
48611         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48612         Remove fallback for unknown flavors of ACLs.
48613
48614 2008-05-22  Bruno Haible  <bruno@clisp.org>
48615
48616         Add support for ACLs on OSF/1.
48617         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48618         replacements.
48619         (acl_free_text): New macro fallback.
48620         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48621         acl_free.
48622         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48623         acl_free_text function. Require AC_C_INLINE.
48624
48625 2008-05-22  Bruno Haible  <bruno@clisp.org>
48626
48627         Make copy_acl work on MacOS X 10.5.
48628         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48629         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48630         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48631         If MODE_INSIDE_ACL, don't assume that every system has the same text
48632         representation for ACLs as FreeBSD.
48633         * lib/copy-acl.c (copy_acl): Add support for platforms with
48634         !MODE_INSIDE_ACL.
48635         * lib/file-has-acl.c (file_has_acl): Likewise.
48636         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48637         FreeBSD, MacOS X, or IRIX, respectively.
48638
48639 2008-05-22  Bruno Haible  <bruno@clisp.org>
48640
48641         * lib/acl.h: Don't include <sys/acl.h>.
48642         (GETACLCNT): Move fallback to lib/acl-internal.h.
48643         * lib/acl-internal.h: Include <sys/acl.h> here.
48644         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48645
48646 2008-05-22  Bruno Haible  <bruno@clisp.org>
48647
48648         Split off copy_acl function to separate file.
48649         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48650         * lib/acl.c (copy_acl): Moved function to separate file.
48651         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48652         * modules/acl (Files): Add lib/copy-acl.c.
48653         (Makefiles.am): Augment lib_SOURCES.
48654
48655 2008-05-22  Bruno Haible  <bruno@clisp.org>
48656
48657         * modules/copy-file-tests: New file.
48658         * tests/test-copy-file.sh: New file.
48659         * tests/test-copy-file.c: New file.
48660         * tests/test-copy-file-sameacls.c: New file.
48661
48662 2008-05-22  Eric Blake  <ebb9@byu.net>
48663
48664         Avoid gcc warning.
48665         * tests/test-memcmp.c (main): Pass NULL indirectly.
48666
48667 2008-05-21  Bruno Haible  <bruno@clisp.org>
48668
48669         Add reference doc about ACLs.
48670         * doc/acl-resources.txt: New file.
48671         * doc/acl-cygwin.txt: New file.
48672
48673 2008-05-21  Bruno Haible  <bruno@clisp.org>
48674
48675         Avoid one more warning from gcc.
48676         * lib/vasnprintf.c (IF_LINT): Update comments.
48677         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48678
48679 2008-05-21  Jim Meyering  <meyering@redhat.com>
48680
48681         avoid a warning from gcc
48682         * lib/vasnprintf.c (IF_LINT): Define.
48683         (scale10_round_decimal_long_double):
48684         Use it to avoid a "may be used uninitialized" warning.
48685         (scale10_round_decimal_double): Likewise.
48686
48687 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48688
48689         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48690         declared.
48691
48692 2008-05-20  Bruno Haible  <bruno@clisp.org>
48693
48694         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48695         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48696
48697 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48698
48699         * modules/memcmp-tests: New file.
48700         * tests/test-memcmp.c: New file.
48701
48702 2008-05-19  Bruno Haible  <bruno@clisp.org>
48703
48704         * modules/propername (Notice, configure.ac): Put quoted "..." into
48705         --keyword option.
48706         * lib/propername.h: Update comments accordingly.
48707         Reported by Eric Blake.
48708
48709 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48710
48711         * modules/getpass-gnu (Depends-on): Add fseeko.
48712
48713 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48714
48715         * modules/base64-tests: New file.
48716
48717 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48718
48719         * lib/base64.c (base64_decode_ctx): If a decode context structure
48720         was passed in use it to ignore newlines.  If a context structure
48721         was _not_ passed in, continue to treat newlines as garbage (this
48722         is the historical behavior).  Formerly base64_decode.
48723         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48724         takes a decode context structure.
48725         * lib/base64.h (base64_decode): Macro for four-argument calls.
48726         (base64_decode_alloc): Likewise.
48727         * lib/base64.c (base64_decode_ctx): If a decode context structure
48728         was passed in use it to ignore newlines.  If a context structure
48729         was _not_ passed in, continue to treat newlines as garbage (this
48730         is the historical behavior).  Formerly base64_decode.
48731         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48732         takes a decode context structure.
48733         * lib/base64.h (base64_decode): Macro for four-argument calls.
48734         (base64_decode_alloc): Likewise.
48735
48736 2008-05-19  Jim Meyering  <meyering@redhat.com>
48737
48738         avoid a warning from gcc
48739         * lib/trim.c (IF_LINT): Define.
48740         (trim2): Use it to avoid a "may be used uninitialized" warning.
48741
48742         Fix doc typo.
48743         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48744
48745 2008-05-19  Bruno Haible  <bruno@clisp.org>
48746
48747         * doc/glibc-functions/getpass.texi: Document limits of other
48748         implementations.
48749
48750 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48751             Bruno Haible <bruno@clisp.org>
48752
48753         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48754
48755 2008-05-18  Bruno Haible  <bruno@clisp.org>
48756
48757         * modules/propername: New file, from GNU gettext.
48758         * lib/propername.h: New file, from GNU gettext.
48759         * lib/propername.c: New file, from GNU gettext.
48760         * MODULES.html.sh (Internationalization functions): Add propername.
48761
48762 2008-05-16  Jim Meyering  <meyering@redhat.com>
48763             Bruno Haible  <bruno@clisp.org>
48764
48765         Avoid some warnings from "gcc -Wshadow".
48766         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48767
48768 2008-05-15  Eric Blake  <ebb9@byu.net>
48769
48770         Extend previous patch to cygwin 1.7.0.
48771         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48772         fast implementation in cygwin >= 1.7.0.
48773         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48775
48776 2008-05-15  Bruno Haible  <bruno@clisp.org>
48777
48778         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48779         implementation in glibc >= 2.9.
48780         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48781         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48782
48783 2008-05-15  Bruno Haible  <bruno@clisp.org>
48784
48785         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48786         (Unicode string functions): Add unilbrk/*.
48787         Reported by Karl Berry.
48788
48789 2008-05-15  Eric Blake  <ebb9@byu.net>
48790
48791         Fix violation of <stdbool.h> replacement in regex.
48792         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48793         * lib/regexec.c (re_search_internal): Likewise.
48794         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48795
48796 2008-05-15  Jim Meyering  <meyering@redhat.com>
48797
48798         avoid distracting test output when git or cvs is not found
48799         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48800         * tests/test-vc-list-files-git.sh: Likewise.
48801
48802 2008-05-15  Eric Blake  <ebb9@byu.net>
48803
48804         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48805         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48806         glibc version.
48807         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48808         * doc/posix-functions/strstr.texi (strstr): Likewise.
48809         * lib/str-two-way.h (MAX): Sychronize with glibc.
48810
48811 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48812
48813         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48814         opr.ctx_type.
48815         (calc_first): Initialize constraint field.
48816         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48817         Fix grammar.
48818         (duplicate_node): Merge constraint field for all node types.
48819         (calc_eclosure_iter): Look at constraint field for all node types.
48820         * lib/regex_internal.c (create_cd_newstate): Don't look at
48821         opr.ctx_type.
48822
48823 2008-05-14  Bruno Haible  <bruno@clisp.org>
48824
48825         Help GCC to do better code generation.
48826         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48827         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48828         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48829         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48830         Declare with attribute 'malloc' if supported.
48831
48832 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48833
48834         use "echo STR|wc -c" rather than unportable "expr length STR"
48835         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48836         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48837
48838 2008-05-14  Jim Meyering  <meyering@redhat.com>
48839
48840         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48841         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48842         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48843         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48844         via Collin Lasse.
48845
48846 2008-05-14  Eric Blake  <ebb9@byu.net>
48847
48848         Avoid quadratic growth in gl_LIBSOURCES.
48849         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48850         Suggested by Bruno Haible.
48851
48852         Test xmemdup0.
48853         * modules/xmemdup0-tests: New file.
48854         * tests/test-xmemdup0.c: Likewise.
48855
48856 2008-05-13  Eric Blake  <ebb9@byu.net>
48857
48858         Split xmemdup0 into its own module.
48859         * modules/xmemdup0: New file.
48860         * lib/xmemdup0.h: Likewise.
48861         * lib/xmemdup0.c: Likewise.
48862         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48863         * lib/xalloc.h (xmemdup0): Remove.
48864         * lib/xmalloc.c (xmemdup0): Likewise.
48865
48866 2008-05-13  Eric Blake  <ebb9@byu.net>
48867             Bruno Haible  <bruno@clisp.org>
48868
48869         Reduce number of forks required during autoconf.
48870         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48871         and gl_LIBSOURCES_DIR.
48872         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48873         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48874         m4_syscmd per file.
48875         <m4_foreach_w>: Move...
48876         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48877
48878 2008-05-13  Eric Blake  <ebb9@byu.net>
48879
48880         * gnulib-tool: Fix various comment typos.
48881
48882 2008-05-12  Bruno Haible  <bruno@clisp.org>
48883
48884         Tailor the linebreaking algorithm.
48885         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48886
48887 2008-05-12  Bruno Haible  <bruno@clisp.org>
48888
48889         Update to Unicode 5.0.0.
48890         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48891         LBP_JV, LBP_JT. Redistribute values.
48892         (unilbrk_table): Change size.
48893         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48894         Unicode TR#14 rev. 22.
48895         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48896         LBP_JV, LBP_JT. Redistribute values.
48897         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48898         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48899         Update.
48900         * lib/unilbrk/lbrkprop1.h: Regenerated.
48901         * lib/unilbrk/lbrkprop2.h: Regenerated.
48902         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48903         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48904         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48905         Likewise.
48906         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48907         Likewise.
48908         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48909         result.
48910         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48911         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48912         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48913         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48914         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48915         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48916
48917 2008-05-11  Bruno Haible  <bruno@clisp.org>
48918
48919         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48920
48921 2008-05-11  Bruno Haible  <bruno@clisp.org>
48922
48923         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48924         * modules/unilbrk/gen-lbrk: New file.
48925
48926 2008-05-11  Bruno Haible  <bruno@clisp.org>
48927
48928         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
48929         * m4/sha512.m4 (gl_SHA512): Likewise.
48930
48931 2008-05-11  Jim Meyering  <meyering@redhat.com>
48932
48933         New modules: crypto/sha256, crypto/sha512 (from coreutils)
48934         * modules/crypto/sha256: New file.
48935         * modules/crypto/sha512: Likewise.
48936         * lib/sha256.c: Likewise.
48937         * lib/sha256.h: Likewise.
48938         * lib/sha512.c: Likewise.
48939         * lib/sha512.h: Likewise.
48940         * lib/u64.h: Likewise.
48941         * m4/sha256.m4: Likewise.
48942         * m4/sha512.m4: Likewise.
48943         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
48944
48945 2008-05-10  Bruno Haible  <bruno@clisp.org>
48946
48947         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
48948         (Input/Output <stdio.h>): Add xprintf.
48949         (Signal handling <signal.h>): Add strsignal.
48950         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
48951         (Core language properties): Add func.
48952         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
48953         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
48954         strings.
48955         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
48956         (Input/output): New section.
48957         (File system functions): Add openat-die, stat-macros.
48958         (Networking functions): Add sockets.
48959         (Unicode string functions): Add unictype/*.
48960         (Support for building libraries and executables): Add gperf.
48961         (Support for building documentation): Add agpl-3.0.
48962         (Misc): Add nocrash.
48963
48964 2008-05-10  Bruno Haible  <bruno@clisp.org>
48965
48966         * modules/unictype/gen-ctype: New file.
48967
48968 2008-05-10  Jim Meyering  <meyering@redhat.com>
48969
48970         Make chdir-safer.c more efficient on a system with no symlinks.
48971         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
48972         also if ELOOP is zero.  Suggested by Bruno Haible.
48973
48974         Make chdir-safer.c slightly safer.
48975         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
48976         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
48977
48978         Avoid compile failure on systems without ELOOP (like mingw).
48979         * lib/chdir-safer.c (ELOOP): Define if not already defined.
48980         Reported by Bruno Haible.
48981
48982 2008-05-10  Bruno Haible  <bruno@clisp.org>
48983
48984         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
48985         (is_utf8_encoding): Use a case-insensitive comparison.
48986         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
48987         streq.
48988
48989 2008-05-10  Bruno Haible  <bruno@clisp.org>
48990
48991         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
48992         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
48993         * lib/unilbrk/ulc-common.h (iconv_string_length,
48994         iconv_string_keeping_offsets): Remove declarations.
48995         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
48996         Don't include <iconv.h>, streq.h, xsize.h.
48997         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
48998         conversion.
48999         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49000         <iconv.h>, streq.h, xsize.h.
49001         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49002         conversion.
49003         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49004         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49005         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49006         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49007
49008 2008-05-10  Bruno Haible  <bruno@clisp.org>
49009
49010         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49011         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49012
49013         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49014         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49015
49016         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49017         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49018
49019         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49020         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49021
49022         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49023         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49024
49025         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49026         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49027
49028         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49029         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49030
49031         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49032         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49033
49034 2008-05-10  Bruno Haible  <bruno@clisp.org>
49035
49036         Split up 'linebreak' module.
49037         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49038         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49039         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49040         modifications.
49041         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49042         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49043         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49044         lib/linebreak.c.
49045         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49046         lib/linebreak.c.
49047         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49048         lib/linebreak.c.
49049         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49050         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49051         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49052         lib/linebreak.c.
49053         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49054         lib/linebreak.c.
49055         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49056         lib/linebreak.c.
49057         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49058         lib/linebreak.c.
49059         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49060         lib/linebreak.c.
49061         * modules/unilbrk/base: New file.
49062         * modules/unilbrk/tables: New file.
49063         * modules/unilbrk/u8-possible-linebreaks: New file.
49064         * modules/unilbrk/u16-possible-linebreaks: New file.
49065         * modules/unilbrk/u32-possible-linebreaks: New file.
49066         * modules/unilbrk/ulc-common: New file.
49067         * modules/unilbrk/ulc-possible-linebreaks: New file.
49068         * modules/unilbrk/u8-width-linebreaks: New file.
49069         * modules/unilbrk/u16-width-linebreaks: New file.
49070         * modules/unilbrk/u32-width-linebreaks: New file.
49071         * modules/unilbrk/ulc-width-linebreaks: New file.
49072         * lib/linebreak.h: Remove file.
49073         * lib/linebreak.c: Remove file.
49074         * m4/linebreak.m4: Remove file.
49075         * modules/linebreak: Remove file.
49076         * NEWS: Mention the changes.
49077
49078 2008-05-09  Eric Blake  <ebb9@byu.net>
49079
49080         Add xmemdup0.
49081         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49082         implementation.
49083         * lib/xmalloc.c (xmemdup0): New C implementation.
49084
49085 2008-05-08  Bruno Haible  <bruno@clisp.org>
49086
49087         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49088
49089 2008-05-07  Eric Blake  <ebb9@byu.net>
49090
49091         Support cross-compilation of <wctype.h>.
49092         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49093         AC_CACHE_CHECK.
49094
49095 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49096
49097         * build-aux/vc-list-files: Add support for bzr.
49098
49099 2008-05-03  Jim Meyering  <meyering@redhat.com>
49100
49101         avoid failed assertion with tight malloc
49102         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49103
49104 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49105
49106         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49107         are needed from arpa/inet.h.
49108         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49109         Reported by Bruno Haible.
49110
49111 2008-05-02  Jim Meyering  <meyering@redhat.com>
49112
49113         avoid compilation error on FreeBSD 6
49114         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49115
49116 2008-05-01  Jim Meyering  <meyering@redhat.com>
49117
49118         useless-if-before-free: correct --help's exit status description
49119         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49120         for one or more matches, etc.  Reported by Bruno Haible.
49121
49122         vc-list-files: make the stand-alone gnulib test work
49123         * modules/vc-list-files-tests (configure.ac):
49124         Define and AC_SUBST abs_aux_dir.
49125         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49126         $(abs_top_srcdir) to each script and having each of them
49127         duplicate the work of setting PATH, set PATH here, using
49128         the new variable, abs_aux_dir instead.
49129         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49130         * tests/test-vc-list-files-git.sh: Likewise.
49131         Reported by Bruno Haible.
49132
49133 2008-05-01  Bruno Haible  <bruno@clisp.org>
49134
49135         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49136         reallocation. Rename 'done' to 'found_delimiter'.
49137
49138 2008-05-01  Jim Meyering  <meyering@redhat.com>
49139
49140         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49141         * build-aux/vc-list-files: Use `...`, not $(...).
49142
49143 2008-04-30  Jim Meyering  <meyering@redhat.com>
49144
49145         add tests for vc-list-files
49146         * modules/vc-list-files-tests: New module.
49147         * tests/test-vc-list-files-cvs.sh: New file.
49148         * tests/test-vc-list-files-git.sh: New file.
49149
49150         avoid a warning from gcc
49151         * lib/getndelim2.c (IF_LINT): Define.
49152         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49153
49154         vc-list-files: work properly with build-aux/cvsu, too
49155         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49156         to all cvs-based clauses.
49157
49158         vc-list-files: work properly in the CVS+awk case, too
49159         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49160
49161         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49162         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49163         take more than one file argument, so .  Add quotes, just in case $dir
49164         ever contains a shell meta-character.  Prompted by Soren Hansen in
49165         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49166
49167 2008-04-29  Eric Blake  <ebb9@byu.net>
49168
49169         Optimize getndelim2 to use block operations when possible.
49170         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49171         freadseek, and memchr2.
49172         * lib/getndelim2.c (getndelim2): Use them for block reads.
49173
49174 2008-04-29  Bruno Haible  <bruno@clisp.org>
49175
49176         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49177         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49178         * modules/inet_ntop (Depends-on): Add extensions.
49179         * modules/inet_pton (Depends-on): Likewise.
49180         Reported by Simon Josefsson.
49181
49182 2008-04-29  Jim Meyering  <meyering@redhat.com>
49183
49184         When the is more than one match in a block, match all of them.
49185         * build-aux/useless-if-before-free: Iterate through each block
49186         until there are no more matches.
49187
49188         Fix broken useless-if-before-free script.
49189         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49190         the expression to match cast of argument to free-like function.
49191
49192 2008-04-29  Eric Blake  <ebb9@byu.net>
49193
49194         Use new header.
49195         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49196
49197 2008-04-29  Jim Meyering  <meyering@redhat.com>
49198
49199         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49200         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49201         by gnulib to exist and to declare e.g., inet_ntop.
49202         Don't include "inet_ntop.h", now removed.
49203
49204         * m4/arpa_inet_h.m4: Remove trailing blanks.
49205
49206 2008-04-29  Eric Blake  <ebb9@byu.net>
49207
49208         Silence valgrind on safe reads beyond potential array bounds.
49209         * lib/rawmemchr.valgrind: New file.
49210         * lib/strchrnul.valgrind: Likewise.
49211         * modules/rawmemchr (Files): Distribute new file.
49212         * modules/strchrnul (Files): Likewise.
49213         Suggested by Bruno Haible.
49214
49215 2008-04-29  Bruno Haible  <bruno@clisp.org>
49216
49217         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49218         (inet_ntop, inet_pton): Change portability warning's wording.
49219         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49220         Invoke gl_CHECK_NEXT_HEADERS.
49221         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49222         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49223         set ARPA_INET_H.
49224         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49225         * modules/arpa_inet (Description): No longer only for systems that
49226         lack it.
49227         (Depends-on): Add include_next.
49228         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49229         HAVE_ARPA_INET_H.
49230
49231 2008-04-29  Jim Meyering  <meyering@redhat.com>
49232
49233         * modules/mkdir (License): Re-license as LGPLv2+.
49234
49235 2008-04-29  Bruno Haible  <bruno@clisp.org>
49236
49237         * modules/rawmemchr (Maintainer): Set to Eric.
49238         * modules/strchrnul (Maintainer): Likewise.
49239
49240 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49241
49242         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49243         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49244
49245         * modules/arpa_inet (arpa/inet.h): Use them.
49246
49247 2008-04-28  Eric Blake  <ebb9@byu.net>
49248
49249         Test getndelim2.
49250         * modules/getndelim2-tests: New file.
49251         * tests/test-getndelim2.c: Likewise.
49252         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49253         stream.
49254         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49255
49256         * MODULES.html.sh: Document new module.
49257
49258 2008-04-20  Bruno Haible  <bruno@clisp.org>
49259
49260         * lib/c-stack.c (die): Use raise.
49261         * modules/c-stack (Depends-on): Add raise.
49262
49263 2008-04-28  Bruno Haible  <bruno@clisp.org>
49264
49265         Expect rpmatch to be declared.
49266         * lib/yesno.c (rpmatch): Remove declaration.
49267
49268         Declare rpmatch.
49269         * lib/stdlib.in.h (rpmatch): New declaration.
49270         * lib/rpmatch.c: Include <stdlib.h> first.
49271         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49272         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49274         HAVE_RPMATCH.
49275         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49276         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49277         (Include): Set to <stdlib.h>.
49278         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49279         HAVE_RPMATCH.
49280         * NEWS: Document the change.
49281
49282 2008-04-28  Bruno Haible  <bruno@clisp.org>
49283
49284         Change rpmatch to use nl_langinfo when appropriate.
49285         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49286         (N_): New macro.
49287         (localized_pattern): New function/macro.
49288         (try): Remove match, nomatch arguments. Copy the pattern into safe
49289         memory before caching it.
49290         (rpmatch): Use localized_pattern. Add translator comments.
49291         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49292         Suggested by Eric Blake.
49293         * modules/rpmatch (Depends-on): Add stdbool.
49294
49295 2008-04-28  Eric Blake  <ebb9@byu.net>
49296
49297         Add rawmemchr module, matching glibc.
49298         * modules/string (Makefile.am): New indicator.
49299         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49300         * lib/string.in.h (rawmemchr): Declare when appropriate.
49301         * modules/rawmemchr: New file.
49302         * m4/rawmemchr.m4: Likewise.
49303         * lib/rawmemchr.c: Likewise.
49304         * modules/rawmemchr-tests: Likewise.
49305         * tests/test-rawmemchr.c: Likewise.
49306         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49307         module.
49308         * modules/strchrnul (Depends-on): Add rawmemchr.
49309         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49310
49311         Whitespace cleanup.
49312         * tests/test-strchrnul.c: Reindent.
49313         * lib/strchrnul.c: Likewise.
49314
49315         Optimize and test strchrnul.
49316         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49317         * modules/strchrnul-tests: New file.
49318         * tests/test-strchrnul.c: Likewise.
49319
49320         Remove intprops dependency.
49321         * modules/memchr (Depends-on): Remove intprops.
49322         * modules/memrchr (Depends-on): Likewise.
49323         * modules/memchr2 (Depends-on): Likewise.
49324         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49325         * lib/memrchr.c (__memrchr): Likewise.
49326         * lib/memrchr2.c (memchr2): Likewise.
49327         Reported by Simon Josefsson.
49328
49329 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49330
49331         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49332         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49333
49334 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49335
49336         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49337
49338         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49339
49340         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49341
49342         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49343         declarations.
49344         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49345
49346         * m4/inet_pton.m4: Don't check for header files.
49347
49348         * m4/inet_ntop.m4: Don't check for header files.
49349
49350 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49351
49352         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49353         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49354         trigger for cygwin).
49355         Reported by Bruno Haible  <bruno@clisp.org>.
49356
49357 2008-04-28  Bruno Haible  <bruno@clisp.org>
49358
49359         * doc/posix-functions/strdup.texi: Mention mingw problem.
49360
49361 2008-04-27  Bruno Haible  <bruno@clisp.org>
49362
49363         * modules/stat-time-tests (Depends-on): Add sleep.
49364         * tests/test-stat-time.c (force_unlink): New function.
49365         (cleanup): Use it.
49366         (test_mtime): Remove the ctime related tests.
49367         (test_ctime): New function, containing the ctime related tests.
49368         (main): Call test_ctime, except on native Windows platforms.
49369
49370 2008-04-27  Bruno Haible  <bruno@clisp.org>
49371
49372         * lib/rpmatch.c (rpmatch): Add some comments.
49373         Reported by James Youngman <jay@gnu.org>.
49374
49375 2008-04-27  Bruno Haible  <bruno@clisp.org>
49376
49377         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49378         quiet NaNs.
49379
49380 2008-04-27  Bruno Haible  <bruno@clisp.org>
49381
49382         Make test-yesno.sh work on mingw.
49383         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49384         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49385         (main): Set stdin to binary mode.
49386         * modules/yesno-tests (Depends-on): Add binary-io.
49387
49388 2008-04-27  Bruno Haible  <bruno@clisp.org>
49389
49390         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49391         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49392         argument that lie outside the IEEE 854 domain.
49393         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49394         (gl_ISFINITE): Use it.
49395         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49396
49397 2008-04-27  Bruno Haible  <bruno@clisp.org>
49398
49399         Allow local renaming in config.h.
49400         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49401
49402 2008-04-27  Bruno Haible  <bruno@clisp.org>
49403
49404         * lib/memchr.c (__memchr): Change type of 'i'.
49405         * lib/memchr2.c (memchr2): Likewise.
49406
49407 2008-04-26  Eric Blake  <ebb9@byu.net>
49408         and Bruno Haible  <bruno@clisp.org>
49409
49410         Optimize and test memrchr.
49411         * modules/memrchr (Depends-on): Add intprops.
49412         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49413         * modules/memrchr-tests: New file.
49414         * tests/test-memrchr.c: New file.
49415
49416 2008-04-26  Bruno Haible  <bruno@clisp.org>
49417
49418         Add tentative support for DragonFly BSD.
49419         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49420         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49421         fp.
49422         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49423         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49424         * lib/fpurge.c (fpurge): Likewise.
49425         * lib/freadable.c (freaadable): Likewise.
49426         * lib/freadahead.c (freadahead): Likewise.
49427         * lib/freading.c (freading): Likewise.
49428         * lib/freadptr.c (freadptr): Likewise.
49429         * lib/freadseek.c (freadptrinc): Likewise.
49430         * lib/fseeko.c (fseeko): Likewise.
49431         * lib/fseterr.c (fseterr): Likewise.
49432         * lib/fwritable.c (fwritable): Likewise.
49433         * lib/fwriting.c (fwriting): Likewise.
49434
49435 2008-04-26  Bruno Haible  <bruno@clisp.org>
49436
49437         * lib/stdio-impl.h: New file.
49438         * lib/fbufmode.c: Include stdio-impl.h.
49439         (fbufmode): Use fp_, remove redundant #defines.
49440         * lib/fflush.c: Include stdio-impl.h.
49441         (clear_ungetc_buffer): Remove redundant #defines.
49442         * lib/fpurge.c: Include stdio-impl.h.
49443         (fpurge): Remove redundant #defines.
49444         * lib/freadable.c: Include stdio-impl.h.
49445         (freadable): Remove redundant #defines.
49446         * lib/freadahead.c: Include stdio-impl.h.
49447         (freadahead): Remove redundant #defines.
49448         * lib/freading.c: Include stdio-impl.h.
49449         (freading): Remove redundant #defines.
49450         * lib/freadptr.c: Include stdio-impl.h.
49451         (freadptr): Remove redundant #defines.
49452         * lib/freadseek.c: Include stdio-impl.h.
49453         (freadptrinc): Remove redundant #defines.
49454         * lib/fseeko.c: Include stdio-impl.h.
49455         (rpl_fseeko): Remove redundant #defines.
49456         * lib/fseterr.c: Include stdio-impl.h.
49457         (fseterr): Remove redundant #defines.
49458         * lib/fwritable.c: Include stdio-impl.h.
49459         (fwritable: Remove redundant #defines.
49460         * lib/fwriting.c: Include stdio-impl.h.
49461         (fwriting): Remove redundant #defines.
49462         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49463         * modules/fflush (Files): Likewise.
49464         * modules/fpurge (Files): Likewise.
49465         * modules/freadable (Files): Likewise.
49466         * modules/freadahead (Files): Likewise.
49467         * modules/freading (Files): Likewise.
49468         * modules/freadptr (Files): Likewise.
49469         * modules/freadseek (Files): Likewise.
49470         * modules/fseeko (Files): Likewise.
49471         * modules/fseterr (Files): Likewise.
49472         * modules/fwritable (Files): Likewise.
49473         * modules/fwriting (Files): Likewise.
49474
49475 2008-04-26  Bruno Haible  <bruno@clisp.org>
49476
49477         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49478         restore_seek_optimization, update_fpos_cache): New functions, extracted
49479         from rpl_fflush.
49480         (rpl_fflush): Use them.
49481         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49482         (gl_REPLACE_FFLUSH): Use it.
49483
49484 2008-04-26  Bruno Haible  <bruno@clisp.org>
49485
49486         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49487         on Solaris.
49488         * tests/test-xstrtoimax.sh: Likewise.
49489         * tests/test-xstrtoumax.sh: Likewise.
49490         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49491
49492 2008-04-26  Bruno Haible  <bruno@clisp.org>
49493
49494         * modules/memchr-tests: New file.
49495         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49496
49497 2008-04-26  Eric Blake  <ebb9@byu.net>
49498             Bruno Haible  <bruno@clisp.org>
49499
49500         * lib/memchr.c: Include intprops.h.
49501         (__memchr): Optimize parallel detection of matching bytes. Rename local
49502         variables. Add explanatory comments.
49503
49504 2008-04-26  Bruno Haible  <bruno@clisp.org>
49505
49506         Fix module 'memchr', broken since 2000-10-28.
49507         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49508
49509 2008-04-26  Bruno Haible  <bruno@clisp.org>
49510
49511         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49512         comments.
49513
49514 2008-04-25  Eric Blake  <ebb9@byu.net>
49515
49516         Use native fstatat on cygwin 1.7.0.
49517         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49518         first.
49519
49520 2008-04-23  Eric Blake  <ebb9@byu.net>
49521
49522         Improve memchr2 performance.
49523         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49524         NUL bytes.
49525         * modules/memchr2 (Depends-on): Use intprops.h.
49526
49527 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49528
49529         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49530         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49531         <blp@cs.stanford.edu>.
49532
49533 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49534
49535         * lib/arpa_inet.in.h: New file.
49536
49537         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49538         (Makefile.am): Sed in substitute header file.
49539
49540         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49541         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49542
49543         * modules/inet_ntop (configure.ac): Use
49544         gl_ARPA_INET_MODULE_INDICATOR.
49545
49546         * modules/inet_pton (configure.ac): Use
49547         gl_ARPA_INET_MODULE_INDICATOR.
49548
49549 2008-04-22  Jim Meyering  <meyering@redhat.com>
49550
49551         * modules/verify (License): Re-license as LGPLv2+.
49552
49553 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49554
49555         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49556         parameter to void* as per POSIX standard (MinGW uses char*).
49557
49558 2008-04-21  Bruno Haible  <bruno@clisp.org>
49559
49560         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49561         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49562         Define to replacements if REPLACE_ISWCNTRL is 1.
49563         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49564         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49565         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49566         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49567         what it fixes.
49568         * doc/posix-functions/iswalpha.texi: Likewise.
49569         * doc/posix-functions/iswblank.texi: Likewise.
49570         * doc/posix-functions/iswcntrl.texi: Likewise.
49571         * doc/posix-functions/iswdigit.texi: Likewise.
49572         * doc/posix-functions/iswgraph.texi: Likewise.
49573         * doc/posix-functions/iswlower.texi: Likewise.
49574         * doc/posix-functions/iswprint.texi: Likewise.
49575         * doc/posix-functions/iswpunct.texi: Likewise.
49576         * doc/posix-functions/iswspace.texi: Likewise.
49577         * doc/posix-functions/iswupper.texi: Likewise.
49578         * doc/posix-functions/iswxdigit.texi: Likewise.
49579         Reported by Alain Guibert.
49580
49581 2008-04-21  Bruno Haible  <bruno@clisp.org>
49582
49583         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49584         Patch by Alain Guibert.
49585
49586 2008-04-21  Bruno Haible  <bruno@clisp.org>
49587
49588         Fix test failures on mingw.
49589         * tests/test-xstrtol.c (print_no_progname): New function.
49590         (main): Install it in error_print_progname hook.
49591         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49592         * tests/test-xstrtoimax.sh: Likewise.
49593         * tests/test-xstrtoumax.sh: Likewise.
49594
49595 2008-04-21  Bruno Haible  <bruno@clisp.org>
49596
49597         Fix test failure on mingw.
49598         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49599
49600 2008-04-21  Bruno Haible  <bruno@clisp.org>
49601
49602         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49603         Actually assign a value.
49604
49605 2008-04-20  Bruno Haible  <bruno@clisp.org>
49606
49607         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49608         take 2.
49609         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49610         'canonicalize-lgpl' module is also used.
49611         * lib/canonicalize-lgpl.c: Undo last change.
49612         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49613
49614 2008-04-20  Bruno Haible  <bruno@clisp.org>
49615
49616         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49617         config.h. Provide _mkdir based fallback for mingw.
49618         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49619         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49620         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49621         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49622         rather than defining mkdir in config.h.
49623         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49624         (gl_SYS_STAT_H_DEFAULTS): New macro.
49625         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49626         HAVE_IO_H any more.
49627         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49628         HAVE_DECL_MKDIR and HAVE_IO_H.
49629
49630 2008-04-20  Bruno Haible  <bruno@clisp.org>
49631
49632         * lib/isapipe.c: Port to native Windows platforms.
49633
49634 2008-04-20  Bruno Haible  <bruno@clisp.org>
49635
49636         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49637
49638 2008-04-21  Eric Blake  <ebb9@byu.net>
49639
49640         Work around preprocessors that don't handle UINTMAX_MAX.
49641         * lib/memchr2.c (memchr2): Avoid embedded #if.
49642         Reported by Alain Guibert, fix suggested by Bruno Haible.
49643
49644 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49645
49646         * doc/posix-functions/strftime.texi (strftime): Explain better
49647         Windows incompatibility.  Suggested by Micah Cowan
49648         <micah@cowan.name>.
49649
49650 2008-04-20  Bruno Haible  <bruno@clisp.org>
49651
49652         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49653         unistr/u8-mblen.
49654
49655 2008-04-20  Bruno Haible  <bruno@clisp.org>
49656
49657         Fix test failure on platforms with non-GNU iconv.
49658         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49659         (U_TO_U8): Use it, rather than u16_to_u8.
49660         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49661         units at the end of the input string.
49662         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49663
49664 2008-04-20  Bruno Haible  <bruno@clisp.org>
49665
49666         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49667         when the resulting length is 0.
49668         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49669
49670 2008-04-20  Bruno Haible  <bruno@clisp.org>
49671
49672         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49673         works.
49674         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49675
49676 2008-04-20  Bruno Haible  <bruno@clisp.org>
49677
49678         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49679         * modules/tsearch-tests (configure.ac): Test for initstate function.
49680
49681 2008-04-20  Bruno Haible  <bruno@clisp.org>
49682
49683         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49684         for nlink_t if missing.
49685         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49686
49687 2008-04-19  Bruno Haible  <bruno@clisp.org>
49688
49689         Work around snprintf bug on Linux libc5.
49690         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49691         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49692         gl_SNPRINTF_SIZE1.
49693         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49694         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49695         that test failed.
49696         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49697         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49698         * modules/snprintf (Files): Add m4/printf.m4.
49699         * modules/vsnprintf (Files): Likewise.
49700         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49701         * doc/posix-functions/vsnprintf.texi: Likewise.
49702
49703 2008-04-19  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49706         from 0.0058 to less than 10^-7.
49707
49708 2008-04-19  Bruno Haible  <bruno@clisp.org>
49709
49710         Fix rounding when a precision is given.
49711         * lib/vasnprintf.c (is_borderline): New function.
49712         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49713         9...9x.
49714         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49715         %e, %g.
49716         * tests/test-vasprintf-posix.c (test_function): Likewise.
49717         * tests/test-snprintf-posix.h (test_function): Likewise.
49718         * tests/test-sprintf-posix.h (test_function): Likewise.
49719         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49720         * tests/test-printf-posix.h (test_function): Likewise.
49721         * tests/test-printf-posix.output: Update.
49722         Reported by John Darrington <john@darrington.wattle.id.au> via
49723         Ben Pfaff <blp@cs.stanford.edu>.
49724
49725 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49726
49727         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49728         Suggested by Bruno Haible <bruno@clisp.org>.
49729
49730 2008-04-17  Bruno Haible  <bruno@clisp.org>
49731
49732         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49733         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49734         implementation.
49735         Patch by Bruce Merry <bmerry@gmail.com>.
49736
49737 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49738
49739         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49740         doesn't work under Windows.
49741
49742 2008-04-16  Bruno Haible  <bruno@clisp.org>
49743
49744         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49745         New macros.
49746         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49747         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49748         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49749         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49750         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49751         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49752         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49753         macros.
49754         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49755         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49756         Northern Sotho, Uighur.
49757
49758 2008-04-16  Bruno Haible  <bruno@clisp.org>
49759
49760         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49761         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49762         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49763         Reported by Daniel Bergström <daniel@octocode.com>.
49764
49765 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49766             Bruno Haible  <bruno@clisp.org>
49767
49768         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49769         function.
49770         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49771         New functions, mostly extracted from gl_locale_name_default.
49772         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49773
49774 2008-04-16  Eric Blake  <ebb9@byu.net>
49775
49776         Adjust strtod detection to catch glibc 2.7 bug.
49777         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49778         Reported by John Gatewood Ham.
49779
49780 2008-04-16  Bruno Haible  <bruno@clisp.org>
49781
49782         Add tentative support for Linux libc5.
49783         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49784         * lib/fpurge.c (fpurge): Likewise.
49785         * lib/freadable.c (freadable): Likewise.
49786         * lib/freadahead.c (freadahead): Likewise.
49787         * lib/freading.c (freading): Likewise.
49788         * lib/freadptr.c (freadptr): Likewise.
49789         * lib/freadseek.c (freadptrinc): Likewise.
49790         * lib/fseeko.c (rpl_fseeko): Likewise.
49791         * lib/fseterr.c (fseterr): Likewise.
49792         * lib/fwritable.c (fwritable): Likewise.
49793         * lib/fwriting.c (fwriting): Likewise.
49794         Reported by Alain Guibert <alguibert+bts@free.fr>.
49795
49796 2008-04-15  Bruno Haible  <bruno@clisp.org>
49797
49798         * modules/mathl (configure.ac): Define module indicator.
49799
49800 2008-04-15  Bruno Haible  <bruno@clisp.org>
49801
49802         * lib/logl.c (logl): Remove unused variables.
49803
49804 2008-04-15  Bruno Haible  <bruno@clisp.org>
49805
49806         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49807         fails.
49808
49809 2008-04-15  Bruno Haible  <bruno@clisp.org>
49810
49811         * lib/trim.c (trim2): Fix argument of isspace() macro.
49812
49813 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49814
49815         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49816         to 0.
49817         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49818
49819 2008-04-14  Bruno Haible  <bruno@clisp.org>
49820
49821         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49822         AC_LANG_PROGRAM argument.
49823         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49824         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49825         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49826         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49827         * m4/math_h.m4 (gl_MATH_H): Likewise.
49828         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49829         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49830         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49831         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49832         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49833         * m4/regex.m4 (gl_REGEX): Likewise.
49834         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49835         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49836         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49837         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49838         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49839         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49840         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49841         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49842
49843 2008-04-14  Jim Meyering  <meyering@redhat.com>
49844
49845         test-strtod: fix typos: s/abs/fabs/
49846         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49847
49848 2008-04-13  Bruno Haible  <bruno@clisp.org>
49849
49850         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49851         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49852         module is also used and while not building the reloc-wrapper.
49853
49854 2008-04-13  Bruno Haible  <bruno@clisp.org>
49855
49856         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49857
49858 2008-04-13  Bruno Haible  <bruno@clisp.org>
49859
49860         Fix AIX compilation failure introduced on 2008-04-02.
49861         * tests/test-frexp.c (exp): Undefine before redefining.
49862         * tests/test-frexpl.c (exp): Likewise.
49863
49864 2008-04-13  Bruno Haible  <bruno@clisp.org>
49865
49866         Work around a HP-UX stdio bug.
49867         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49868         * tests/test-ftello.c (main): Likewise.
49869         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49870         * doc/posix-functions/ftello.texi: Likewise.
49871
49872 2008-04-13  Bruno Haible  <bruno@clisp.org>
49873
49874         Make test-signbit pass on HP-UX/hppa.
49875         * tests/test-signbit.c (minus_zerol): New variable.
49876         (test_signbitl): Use it.
49877
49878 2008-04-13  Bruno Haible  <bruno@clisp.org>
49879
49880         Make truncl work on OSF/1 4.0.
49881         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49882         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49883         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49884         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49885         HAVE_DECL_TRUNCL.
49886         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49887         HAVE_DECL_TRUNCL.
49888         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49889
49890 2008-04-13  Bruno Haible  <bruno@clisp.org>
49891
49892         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49893
49894 2008-04-13  Bruno Haible  <bruno@clisp.org>
49895
49896         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49897         expression, so as to avoid HP-UX 11 cc compiler bug.
49898
49899 2008-04-13  Bruno Haible  <bruno@clisp.org>
49900
49901         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49902
49903 2008-04-13  Bruno Haible  <bruno@clisp.org>
49904
49905         * lib/git-merge-changelog.c: Remove empty declaration outside of
49906         functions.
49907
49908 2008-04-13  Bruno Haible  <bruno@clisp.org>
49909
49910         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49911
49912 2008-04-13  Bruno Haible  <bruno@clisp.org>
49913
49914         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49915         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49916         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49917         also if it exists but lacks definitions of the SHUT_* macros.
49918         * modules/sys_socket (Description): Update.
49919         Reported by Elbert Pol <e.pol@chello.nl>.
49920
49921 2008-04-13  Bruno Haible  <bruno@clisp.org>
49922
49923         * lib/localcharset.c (OS2): Don't redefine if already defined.
49924         Reported by Elbert Pol <e.pol@chello.nl>.
49925
49926 2008-04-13  Bruno Haible  <bruno@clisp.org>
49927
49928         * lib/binary-io.h [__EMX__]: Include <io.h>.
49929         Reported by Elbert Pol <e.pol@chello.nl>.
49930
49931 2008-04-12  Bruno Haible  <bruno@clisp.org>
49932
49933         * lib/fpucw.h: Enable the definitions also for x86_64.
49934         Needed for NetBSD/x86_64.
49935         Reported by Thomas Klausner <tk@giga.or.at>.
49936
49937 2008-04-12  Bruno Haible  <bruno@clisp.org>
49938
49939         * tests/test-strtod.c: Include isnand.h.
49940         (main): Use isnand instead of isnan.
49941         Reported by Jim Meyering.
49942
49943 2008-04-12  Bruno Haible  <bruno@clisp.org>
49944
49945         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
49946         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
49947
49948 2008-04-12  Jim Meyering  <meyering@redhat.com>
49949
49950         * m4/math_h.m4 (gl_MATH_H): Fix typos.
49951
49952 2008-04-12  Bruno Haible  <bruno@clisp.org>
49953
49954         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
49955         Reported by Elbert Pol <e.pol@chello.nl>.
49956
49957 2008-04-12  Eric Blake  <ebb9@byu.net>
49958
49959         Work around Solaris 10 math.h bug.
49960         * m4/math_h.m4 (gl_MATH_H): Check for bug.
49961         (gl_MATH_H_DEFAULTS): Set up default.
49962         * modules/math (Makefile.am): Replace new indicators.
49963         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
49964         * tests/test-math.c (main): Test this.
49965         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
49966         * doc/posix-headers/math.texi (math.h): Mention bug.
49967         Reported by Nelson H. F. Beebe and Jim Meyering.
49968
49969 2008-04-11  Bruno Haible  <bruno@clisp.org>
49970
49971         Adapt to future versions of Apple GCC.
49972         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
49973         Reported by Peter O'Gorman <peter@pogma.com>.
49974
49975 2008-04-11  Bruno Haible  <bruno@clisp.org>
49976
49977         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
49978
49979 2008-04-11  Bruno Haible  <bruno@clisp.org>
49980
49981         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
49982
49983         * modules/getaddrinfo-tests (Makefile.am): Define
49984         test_getaddrinfo_LDADD.
49985
49986 2008-04-11  Bruno Haible  <bruno@clisp.org>
49987
49988         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
49989         (init): Fix syntax error.
49990         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
49991         is declared.
49992
49993 2008-04-11  Bruno Haible  <bruno@clisp.org>
49994
49995         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
49996         * modules/glob (Depends-on): Add stdbool.
49997
49998 2008-04-11  Bruno Haible  <bruno@clisp.org>
49999
50000         * lib/trim.c: Include <string.h>.
50001
50002 2008-04-11  Eric Blake  <ebb9@byu.net>
50003
50004         Avoid compile failure on OS/2.
50005         * lib/regex_internal.h (internal_function): Disable optimization
50006         on OS/2 (__EMX__), where it caused compiler error.
50007         Reported by Elbert Pol.
50008
50009 2008-04-11  Bruno Haible  <bruno@clisp.org>
50010
50011         Flush the standard error stream before aborting. Needed on mingw.
50012         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50013         * tests/test-array_list.c (ASSERT): Likewise.
50014         * tests/test-array_oset.c (ASSERT): Likewise.
50015         * tests/test-avltree_list.c (ASSERT): Likewise.
50016         * tests/test-avltree_oset.c (ASSERT): Likewise.
50017         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50018         * tests/test-binary-io.c (ASSERT): Likewise.
50019         * tests/test-byteswap.c (ASSERT): Likewise.
50020         * tests/test-c-ctype.c (ASSERT): Likewise.
50021         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50022         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50023         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50024         * tests/test-c-strstr.c (ASSERT): Likewise.
50025         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50026         * tests/test-canonicalize.c (ASSERT): Likewise.
50027         * tests/test-carray_list.c (ASSERT): Likewise.
50028         * tests/test-ceilf1.c (ASSERT): Likewise.
50029         * tests/test-ceilf2.c (ASSERT): Likewise.
50030         * tests/test-ceill.c (ASSERT): Likewise.
50031         * tests/test-count-one-bits.c (ASSERT): Likewise.
50032         * tests/test-fbufmode.c (ASSERT): Likewise.
50033         * tests/test-fflush2.c (ASSERT): Likewise.
50034         * tests/test-floorf1.c (ASSERT): Likewise.
50035         * tests/test-floorf2.c (ASSERT): Likewise.
50036         * tests/test-floorl.c (ASSERT): Likewise.
50037         * tests/test-fopen.c (ASSERT): Likewise.
50038         * tests/test-fpending.c (ASSERT): Likewise.
50039         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50040         * tests/test-fpurge.c (ASSERT): Likewise.
50041         * tests/test-freadable.c (ASSERT): Likewise.
50042         * tests/test-freadahead.c (ASSERT): Likewise.
50043         * tests/test-freading.c (ASSERT): Likewise.
50044         * tests/test-freadptr.c (ASSERT): Likewise.
50045         * tests/test-freadptr2.c (ASSERT): Likewise.
50046         * tests/test-freadseek.c (ASSERT): Likewise.
50047         * tests/test-freopen.c (ASSERT): Likewise.
50048         * tests/test-frexp.c (ASSERT): Likewise.
50049         * tests/test-frexpl.c (ASSERT): Likewise.
50050         * tests/test-fseek.c (ASSERT): Likewise.
50051         * tests/test-fseeko.c (ASSERT): Likewise.
50052         * tests/test-fstrcmp.c (ASSERT): Likewise.
50053         * tests/test-ftell.c (ASSERT): Likewise.
50054         * tests/test-ftello.c (ASSERT): Likewise.
50055         * tests/test-func.c (ASSERT): Likewise.
50056         * tests/test-fwritable.c (ASSERT): Likewise.
50057         * tests/test-fwriting.c (ASSERT): Likewise.
50058         * tests/test-getdelim.c (ASSERT): Likewise.
50059         * tests/test-getline.c (ASSERT): Likewise.
50060         * tests/test-i-ring.c (ASSERT): Likewise.
50061         * tests/test-iconv-utf.c (ASSERT): Likewise.
50062         * tests/test-iconv.c (ASSERT): Likewise.
50063         * tests/test-isfinite.c (ASSERT): Likewise.
50064         * tests/test-isnand.c (ASSERT): Likewise.
50065         * tests/test-isnanf.c (ASSERT): Likewise.
50066         * tests/test-isnanl.h (ASSERT): Likewise.
50067         * tests/test-ldexpl.c (ASSERT): Likewise.
50068         * tests/test-linked_list.c (ASSERT): Likewise.
50069         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50070         * tests/test-localename.c (ASSERT): Likewise.
50071         * tests/test-lseek.c (ASSERT): Likewise.
50072         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50073         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50074         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50075         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50076         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50077         * tests/test-mbschr.c (ASSERT): Likewise.
50078         * tests/test-mbscspn.c (ASSERT): Likewise.
50079         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50080         * tests/test-mbspbrk.c (ASSERT): Likewise.
50081         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50082         * tests/test-mbsrchr.c (ASSERT): Likewise.
50083         * tests/test-mbsspn.c (ASSERT): Likewise.
50084         * tests/test-mbsstr1.c (ASSERT): Likewise.
50085         * tests/test-mbsstr2.c (ASSERT): Likewise.
50086         * tests/test-mbsstr3.c (ASSERT): Likewise.
50087         * tests/test-memchr2.c (ASSERT): Likewise.
50088         * tests/test-memmem.c (ASSERT): Likewise.
50089         * tests/test-open.c (ASSERT): Likewise.
50090         * tests/test-printf-frexp.c (ASSERT): Likewise.
50091         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50092         * tests/test-printf-posix.c (ASSERT): Likewise.
50093         * tests/test-quotearg.c (ASSERT): Likewise.
50094         * tests/test-rbtree_list.c (ASSERT): Likewise.
50095         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50096         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50097         * tests/test-round1.c (ASSERT): Likewise.
50098         * tests/test-roundf1.c (ASSERT): Likewise.
50099         * tests/test-roundl.c (ASSERT): Likewise.
50100         * tests/test-signbit.c (ASSERT): Likewise.
50101         * tests/test-sleep.c (ASSERT): Likewise.
50102         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50103         * tests/test-snprintf.c (ASSERT): Likewise.
50104         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50105         * tests/test-stat-time.c (ASSERT): Likewise.
50106         * tests/test-strcasestr.c (ASSERT): Likewise.
50107         * tests/test-strerror.c (ASSERT): Likewise.
50108         * tests/test-striconv.c (ASSERT): Likewise.
50109         * tests/test-striconveh.c (ASSERT): Likewise.
50110         * tests/test-striconveha.c (ASSERT): Likewise.
50111         * tests/test-strsignal.c (ASSERT): Likewise.
50112         * tests/test-strstr.c (ASSERT): Likewise.
50113         * tests/test-strtod.c (ASSERT): Likewise.
50114         * tests/test-trunc1.c (ASSERT): Likewise.
50115         * tests/test-trunc2.c (ASSERT): Likewise.
50116         * tests/test-truncf1.c (ASSERT): Likewise.
50117         * tests/test-truncf2.c (ASSERT): Likewise.
50118         * tests/test-truncl.c (ASSERT): Likewise.
50119         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50120         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50121         * tests/test-vasnprintf.c (ASSERT): Likewise.
50122         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50123         * tests/test-vasprintf.c (ASSERT): Likewise.
50124         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50125         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50126         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50127         * tests/test-vsnprintf.c (ASSERT): Likewise.
50128         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50129         * tests/test-wcwidth.c (ASSERT): Likewise.
50130         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50131         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50132         * tests/test-xvasprintf.c (ASSERT): Likewise.
50133         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50134         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50135         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50136         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50137         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50138         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50139         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50140         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50141         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50142         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50143         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50144         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50145         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50146         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50147         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50148         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50149         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50150         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50151         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50152         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50153         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50154         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50155         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50156         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50157         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50158         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50159         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50160         * tests/unictype/test-combining.c (ASSERT): Likewise.
50161         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50162         * tests/unictype/test-digit.c (ASSERT): Likewise.
50163         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50164         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50165         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50166         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50167         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50168         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50169         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50170         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50171         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50172         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50173         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50174         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50175         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50176         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50177         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50178         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50179         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50180         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50181         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50182         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50183         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50184         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50185         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50186         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50187         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50188         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50189         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50190         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50191         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50192         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50193         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50194         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50195         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50196         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50197         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50198         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50199         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50200         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50201         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50202         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50203         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50204         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50205         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50206         Reported by Eric Blake.
50207
50208 2008-04-11  Bruno Haible  <bruno@clisp.org>
50209
50210         * lib/wchar.in.h: Tweak comment.
50211
50212 2008-04-11  Bruno Haible  <bruno@clisp.org>
50213
50214         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50215         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50216         gl_COMMON.
50217         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50218
50219 2008-04-11  Bruno Haible  <bruno@clisp.org>
50220
50221         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50222
50223 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50224
50225         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50226         of attempting to use non-existing /dev/*random.  Based on patch
50227         from Adam Strzelecki <ono@java.pl> in
50228         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50229
50230 2008-04-08  Bruno Haible  <bruno@clisp.org>
50231
50232         Add tentative support for emx+gcc.
50233         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50234         * lib/fpurge.c (fpurge): Likewise.
50235         * lib/freadable.c (freadable): Likewise.
50236         * lib/freadahead.c (freadahead): Likewise.
50237         * lib/freading.c (freading): Likewise.
50238         * lib/freadptr.c (freadptr): Likewise.
50239         * lib/freadseek.c (freadptrinc): Likewise.
50240         * lib/fseeko.c (rpl_fseeko): Likewise.
50241         * lib/fseterr.c (fseterr): Likewise.
50242         * lib/fwritable.c (fwritable): Likewise.
50243         * lib/fwriting.c (fwriting): Likewise.
50244         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50245
50246 2008-04-09  Eric Blake  <ebb9@byu.net>
50247
50248         Avoid some autoconf warnings.
50249         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50250         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50251         * m4/afs.m4 (gl_AFS): Likewise.
50252         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50253         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50254         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50255         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50256         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50257         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50258         (AC_CHECK_DECLS_ONCE): Likewise.
50259         Rename file...
50260         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50261         gnulib-tool requires autoconf 2.59 or better.
50262         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50263
50264 2008-04-08  Eric Blake  <ebb9@byu.net>
50265
50266         Use 'git describe --match' if present (added in git 1.5.5).
50267         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50268         if possible.
50269
50270 2008-04-08  Bruno Haible  <bruno@clisp.org>
50271
50272         Add tentative support for OpenServer.
50273         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50274         _ptr, _cnt.
50275         * lib/fpurge.c (fpurge): Likewise.
50276         * lib/freadable.c (freadable): Likewise.
50277         * lib/freadahead.c (freadahead): Likewise.
50278         * lib/freading.c (freading): Likewise.
50279         * lib/freadptr.c (freadptr): Likewise.
50280         * lib/freadseek.c (freadptrinc): Likewise.
50281         * lib/fseeko.c (rpl_fseeko): Likewise.
50282         * lib/fseterr.c (fseterr): Likewise.
50283         * lib/fwritable.c (fwritable): Likewise.
50284         * lib/fwriting.c (fwriting): Likewise.
50285         Reported by Roger Cornelius <rac@tenzing.org> and
50286         Brian K. White <brian@aljex.com>.
50287
50288 2008-04-06  Jim Meyering  <meyering@redhat.com>
50289
50290         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50291
50292 2008-04-06  Bruno Haible  <bruno@clisp.org>
50293
50294         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50295         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50296         * tests/test-printf-posix.sh: Likewise.
50297         * tests/test-vfprintf-posix.sh: Likewise.
50298         * tests/test-vprintf-posix.sh: Likewise.
50299         * tests/test-xprintf-posix.sh: Likewise.
50300
50301 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50302
50303         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50304         hide error from 'ls', needed on OS/2.
50305         Report by Elbert Pol <elbert.pol@gmail.com>.
50306
50307 2008-04-04  Eric Blake  <ebb9@byu.net>
50308
50309         Make test-fseeko.c failures meaningful.
50310         * tests/test-fseeko.c: Print line number on failure.
50311         * tests/test-fseek.c: Likewise.
50312         Reported by Nelson H. F. Beebe.
50313
50314         Improve strtod bug detection check.
50315         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50316         required for Solaris 10.
50317         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50318
50319 2008-04-04  Bruno Haible  <bruno@clisp.org>
50320
50321         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50322         by m4/setenv.m4.
50323
50324 2008-04-03  Eric Blake  <ebb9@byu.net>
50325
50326         Ensure sane .version contents.
50327         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50328         version string.
50329         * build-aux/git-version-gen: Improve documentation.
50330
50331         Make GNU make output nicer.
50332         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50333         MAKECMDGOALS to enforce message for all command line targets.  Set
50334         srcdir for use in maint.mk.
50335
50336         Another maintainer tweak.
50337         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50338         a target that regenerates version.
50339
50340 2008-04-03  Jim Meyering  <meyering@redhat.com>
50341
50342         vc-list-files: don't cause coreutils "make po-check" failure
50343         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50344
50345 2008-04-03  Eric Blake  <ebb9@byu.net>
50346
50347         Allow VPATH usage of vc-list-files.
50348         * build-aux/vc-list-files (scriptversion): Add timestamp.
50349         (options): Add --help, --version, -C.
50350         (CVS): Support installed cvsu.
50351
50352 2008-04-02  Bruno Haible  <bruno@clisp.org>
50353
50354         Avoid some "statement with no effect" warnings from gcc.
50355         * tests/test-wctype.c (main): Explicitly ignore unused values.
50356         Reported by Jim Meyering.
50357
50358 2008-04-02  Jim Meyering  <meyering@redhat.com>
50359
50360         Avoid some warnings from "gcc -Wshadow".
50361         * tests/test-frexp.c (exp): Define to a different identifier.
50362         * tests/test-frexpl.c (exp): Likewise.
50363
50364 2008-04-03  Jim Meyering  <meyering@redhat.com>
50365
50366         bootstrap: remove dangling *.[ch] symlinks from lib
50367         * build-aux/bootstrap [dangling symlink removal]: Move find's
50368         -depth option to precede all others, to avoid a warning.
50369         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50370
50371 2008-04-02  Bruno Haible  <bruno@clisp.org>
50372
50373         Avoid some warnings from "gcc -Wshadow".
50374         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50375         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50376         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50377         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50378         Reported by Jim Meyering.
50379
50380 2008-04-01  Bruno Haible  <bruno@clisp.org>
50381
50382         Fix test to work on IRIX 6.5 with cc.
50383         * tests/test-math.c (numeric_equal): New function.
50384         (main): Use it.
50385
50386 2008-04-01  Bruno Haible  <bruno@clisp.org>
50387
50388         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50389
50390 2008-04-01  Bruno Haible  <bruno@clisp.org>
50391
50392         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50393         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50394         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50395         (Depends-on): Remove math.
50396
50397         * tests/test-vasprintf-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/vasprintf-posix-tests (Files): Add tests/nan.h.
50400         (Depends-on): Remove math.
50401
50402         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50403         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50404         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50405         (Depends-on): Remove math.
50406         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50407         (Depends-on): Remove math.
50408
50409         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50410         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50411         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50412         (Depends-on): Remove math.
50413         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50414         (Depends-on): Remove math.
50415
50416         * tests/test-round1.c: Include nan.h.
50417         (main): Use NaNd instead of NAN.
50418         * modules/round-tests (Files): Add tests/nan.h.
50419
50420         * tests/test-trunc1.c: Include nan.h.
50421         (main): Use NaNd instead of NAN.
50422         * modules/trunc-tests (Files): Add tests/nan.h.
50423
50424         * tests/test-roundf1.c: Include nan.h.
50425         (main): Use NaNf instead of NAN.
50426         * modules/roundf-tests (Files): Add tests/nan.h.
50427
50428         * tests/test-truncf1.c: Include nan.h.
50429         (main): Use NaNf instead of NAN.
50430         * modules/truncf-tests (Files): Add tests/nan.h.
50431
50432         * tests/test-ceilf1.c: Include nan.h.
50433         (main): Use NaNf instead of NAN.
50434         * modules/ceilf-tests (Files): Add tests/nan.h.
50435
50436         * tests/test-floorf1.c: Include nan.h.
50437         (main): Use NaNf instead of NAN.
50438         * modules/floorf-tests (Files): Add tests/nan.h.
50439
50440         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50441         (main): Use NaNf instead of NAN.
50442         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50443
50444         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50445         (main): Use NaNd instead of NAN.
50446         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50447
50448         * tests/test-frexp.c: Include nan.h.
50449         (main): Use NaNd instead of NAN.
50450         * modules/frexp-tests (Files): Add tests/nan.h.
50451
50452         * lib/isnan.c: Don't include <math.h>.
50453         (FUNC): Don't use NAN macro.
50454         * modules/isnand-nolibm (Depends-on): Remove math.
50455         * modules/isnanf-nolibm (Depends-on): Remove math.
50456         * modules/isnanl (Depends-on): Remove math.
50457         * modules/isnanl-nolibm (Depends-on): Remove math.
50458
50459         * tests/nan.h: New file.
50460
50461 2008-04-01  Eric Blake  <ebb9@byu.net>
50462
50463         Fix typos.
50464         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50465         values to be the right type.
50466
50467         For now, cater to gnulib strtod inaccuracies.
50468         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50469         fractional results.  While not as nice from a QoI perspective, it
50470         is a quicker patch than correctly implementing decimal to binary
50471         rounding.
50472
50473 2008-03-31  Eric Blake  <ebb9@byu.net>
50474
50475         Guarantee a definition of NAN.
50476         * lib/math.in.h (NAN): Define if missing.
50477         * tests/test-math.c (main): Test it.
50478         * doc/posix-headers/math.texi (math.h): Document this.
50479         * lib/isnan.c (rpl_isnand): Use it.
50480         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50481         * tests/test-floorf1.c (NaN): Likewise.
50482         * tests/test-frexp.c (NaN): Likewise.
50483         * tests/test-isnand.c (NaN): Likewise.
50484         * tests/test-isnanf.c (NaN): Likewise.
50485         * tests/test-round1.c (NaN): Likewise.
50486         * tests/test-roundf1.c (NaN): Likewise.
50487         * tests/test-snprintf-posix.h (NaN): Likewise.
50488         * tests/test-sprintf-posix.h (NaN): Likewise.
50489         * tests/test-trunc1.c (NaN): Likewise.
50490         * tests/test-truncf1.c (NaN): Likewise.
50491         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50492         * tests/test-vasprintf-posix.c (NaN): Likewise.
50493         * modules/isnand-nolibm (Depends-on): Add math.
50494         * modules/isnanf-nolibm (Depends-on): Likewise.
50495         * modules/isnanl (Depends-on): Likewise.
50496         * modules/isnanl-nolibm (Depends-on): Likewise.
50497         * modules/snprintf-posix-tests (Depends-on): Likewise.
50498         * modules/sprintf-posix-tests (Depends-on): Likewise.
50499         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50500         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50501         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50502         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50503
50504 2008-03-31  Bruno Haible  <bruno@clisp.org>
50505
50506         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50507         * doc/posix-functions/strtod.texi: Likewise.
50508
50509 2008-03-31  Bruno Haible  <bruno@clisp.org>
50510
50511         * tests/test-strtod.c (main): Don't use C99 syntax.
50512
50513 2008-03-31  Bruno Haible  <bruno@clisp.org>
50514
50515         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50516         Reported by Eric Blake.
50517
50518 2008-03-31  Jim Meyering  <meyering@redhat.com>
50519
50520         Don't compare actual signbit return values.
50521         * tests/test-strtod.c (main): Rather, compare only their
50522         zero/non-zero nature.
50523
50524 2008-03-31  Eric Blake  <ebb9@byu.net>
50525
50526         More strtod documentation.
50527         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50528         failures as distinct bugs.
50529
50530 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50531
50532         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50533         Problem reported by Erik Benada in
50534         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50535
50536 2008-03-30  Bruno Haible  <bruno@clisp.org>
50537
50538         * tests/test-strtod.c: Add comments about which assertion fails on which
50539         platform.
50540         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50541
50542 2008-03-30  Eric Blake  <ebb9@byu.net>
50543
50544         Test signbit behavior on zeros.
50545         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50546         (test_signbitd, test_signbitl): Likewise.
50547
50548         More strtod touchups.
50549         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50550         sign of negative underflow, for now.  Use .5, not .1.
50551         * doc/posix-functions/strtod.texi (strtod): Mention these
50552         limitations.
50553         Reported by Jim Meyering.
50554
50555 2008-03-30  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50558         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50559
50560 2008-03-30  Bruno Haible  <bruno@clisp.org>
50561
50562         Avoid failure when attempting to return empty iconv results on some
50563         platforms.
50564         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50565         allocation, don't report ENOMEM when the resulting string is empty.
50566
50567 2008-03-30  Bruno Haible  <bruno@clisp.org>
50568
50569         Fix buffer overrun.
50570         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50571         Don't consider the width for tmp_length. Check count against tmp_length
50572         before doing the padding. Ensure enough allocation during padding.
50573
50574 2008-03-30  Eric Blake  <ebb9@byu.net>
50575
50576         strtod touchups.
50577         * lib/strtod.c (strtod): Avoid compiler warnings.
50578         Reported by Jim Meyering.
50579
50580 2008-03-30  Bruno Haible  <bruno@clisp.org>
50581
50582         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50583         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50584         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50585         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50586         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50587         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50588         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50589         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50590
50591         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50592         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50593         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50594         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50595         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50596         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50597         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50598         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50599
50600         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50601         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50602         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50603         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50604         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50605         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50606         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50607         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50608
50609         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50610         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50611
50612         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50613         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50614
50615         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50616         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50617
50618         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50619         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50620         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50621
50622         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50623         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50624         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50625
50626         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50627         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50628         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50629
50630         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50631         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50632         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50633
50634         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50635         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50636         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50637         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50638         (Depends-on): Add EOVERFLOW.
50639         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50640         (Depends-on): Add EOVERFLOW.
50641         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50642         (Depends-on): Add EOVERFLOW.
50643         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50644         (Depends-on): Add EOVERFLOW.
50645         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50646         (Depends-on): Add EOVERFLOW.
50647         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50648         (Depends-on): Add EOVERFLOW.
50649         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50650         (Depends-on): Add EOVERFLOW.
50651         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50652         (Depends-on): Add EOVERFLOW.
50653
50654         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50655         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50656         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50657
50658         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50659         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50660         * modules/snprintf (Depends-on): Add EOVERFLOW.
50661
50662         * lib/poll.c (EOVERFLOW): Remove fallback.
50663         * modules/poll (Depends-on): Add EOVERFLOW.
50664
50665         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50666         * modules/getugroups (Depends-on): Add EOVERFLOW.
50667
50668         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50669         * modules/getdelim (Depends-on): Add EOVERFLOW.
50670
50671         * lib/ftell.c (EOVERFLOW): Remove fallback.
50672         * modules/ftell (Depends-on): Add EOVERFLOW.
50673
50674         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50675         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50676         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50677
50678         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50679
50680         * modules/EOVERFLOW-tests: New file.
50681         * tests/test-EOVERFLOW.c: New file.
50682
50683         * modules/EOVERFLOW: New file.
50684         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50685
50686 2008-03-30  Bruno Haible  <bruno@clisp.org>
50687
50688         Fix bug introduced on 2007-06-10.
50689         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50690         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50691
50692 2008-03-30  Bruno Haible  <bruno@clisp.org>
50693
50694         Improve freadseek's efficiency after ungetc.
50695         * lib/freadseek.c: Include freadahead.h.
50696         (freadptrinc): New function, extracted from freadseek.
50697         (freadseek): Use it in a loop. Use freadahead to determine the number
50698         of loop iterations.
50699         * modules/freadseek (Depends-on): Add freadahead.
50700         (configure.ac): Require AC_C_INLINE.
50701
50702 2008-03-30  Bruno Haible  <bruno@clisp.org>
50703
50704         * lib/freadseek.c (freadseek): Don't ignore the return value of
50705         freadptr.
50706
50707 2008-03-29  Eric Blake  <ebb9@byu.net>
50708
50709         Add hex float support.
50710         * modules/strtod (Depends-on): Add c-ctype.
50711         (Link): Mention POW_LIB.
50712         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50713         whitespace between 'e' and exponent.
50714         * tests/test-strtod.c (main): Enable hex float tests.
50715         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50716         now provides.
50717
50718         Document various strtod bugs, with some fixes.
50719         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50720         "-0x", "inf", "nan", and hex constants.
50721         * doc/posix-functions/atof.texi (atof): Likewise.
50722         * modules/stdlib (Makefile.am): Support strtod.
50723         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50724         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50725         detect additional strtod bugs.
50726         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50727         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50728         bool where appropriate.  Parse 'inf' and 'nan'.
50729         * tests/test-strtod.c: New file.
50730         * modules/strtod (Depends-on): Add stdbool, stdlib.
50731         (configure.ac): Turn on module indicator.
50732         * modules/strtod-tests: New module.
50733
50734 2008-03-29  Eric Blake  <ebb9@byu.net>
50735
50736         Fix ftell on mingw.
50737         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50738         * modules/ftell-tests (Depends-on): Add binary-io.
50739         * modules/ftello-tests (Depends-on): Likewise.
50740         * tests/test-ftell.c (main): Enhance test to cover behavior after
50741         ungetc.  Enforce binary mode.
50742         * tests/test-ftello.c (main): Likewise.
50743
50744         Pass test-freadseek on cygwin.
50745         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50746         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50747         ungetc buffer.
50748
50749         * tests/test-fflush2.c (main): Fix typo.
50750
50751 2008-03-29  Bruno Haible  <bruno@clisp.org>
50752
50753         * tests/test-fflush2.c (main): Temporarily disable the contents of
50754         this test.
50755         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50756         Reported by Eric Blake.
50757
50758 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50759
50760         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50761         (GC_SHA224_DIGEST_SIZE): Add.
50762
50763         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50764         (gc_hash_digest_length): Likewise.
50765         (gc_hash_buffer): Likewise.
50766
50767 2008-03-25  Bruno Haible  <bruno@clisp.org>
50768
50769         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50770         detail which gettext release to use.
50771         Reported by Simon Josefsson.
50772
50773 2008-03-26  Jim Meyering  <meyering@redhat.com>
50774
50775         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50776         * modules/gnumakefile (clean-GNUmakefile): Also, use
50777         test ... && ... || : syntax rather than if-then ... fi.
50778
50779         gnumakefile: Don't double-quote-expand $(VPATH) value.
50780         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50781
50782 2008-03-24  Eric Blake  <ebb9@byu.net>
50783
50784         Alter GNUmakefile to install into top directory.
50785         * modules/maintainer-makefile: Split, and add dependency...
50786         * modules/gnumakefile: to this new module.
50787         * build-aux/GNUmakefile: Move...
50788         * top/GNUmakefile: ...here.
50789         * build-aux/maint.mk: Move...
50790         * top/maint.mk: ...here.
50791         * MODULES.html.sh (Support for maintaining...): Document new
50792         module.
50793
50794 2008-03-23  Bruno Haible  <bruno@clisp.org>
50795
50796         * gnulib-tool: New options --vc-files, --no-vc-files.
50797         (func_usage): Document them.
50798         (vc_files): New variable.
50799         (func_import): Consider vc_files.
50800         (func_create_testdir): Set vc_files to empty.
50801         Suggested by Jim Meyering and Karl Berry.
50802
50803 2008-03-23  Bruno Haible  <bruno@clisp.org>
50804
50805         Fix regex compilation error on HP-UX 11.
50806         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50807         * modules/regex (Files): Add m4/mbstate_t.m4.
50808         Reported by Ton Voon <ton.voon@altinity.com>.
50809
50810 2008-03-23  Bruno Haible  <bruno@clisp.org>
50811
50812         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50813
50814 2008-03-23  Eric Blake  <ebb9@byu.net>
50815             Bruno Haible  <bruno@clisp.org>
50816
50817         Install files from top/ in the destination directory.
50818         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50819         augmentation also for the files from top/.
50820         (func_import, func_create_testdir): Rewrite file names:
50821         top/filename -> filename.
50822
50823 2008-03-23  Bruno Haible  <bruno@clisp.org>
50824
50825         Tweak "gnulib --version" output.
50826         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50827
50828 2008-03-23  Bruno Haible  <bruno@clisp.org>
50829
50830         Tweak "gnulib --version" output.
50831         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50832         rather than contents of ChangeLog, when possible.
50833
50834 2008-03-21  Eric Blake  <ebb9@byu.net>
50835
50836         More --version tweaks.
50837         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50838         date of last ChangeLog entry.
50839
50840 2008-03-21  Jim Meyering  <meyering@redhat.com>
50841
50842         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50843
50844 2008-03-20  Eric Blake  <ebb9@byu.net>
50845
50846         VPATH fix.
50847         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50848
50849 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50850
50851         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50852         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50853
50854 2008-03-20  Eric Blake  <ebb9@byu.net>
50855
50856         Sync GNUmakefile with coreutils.
50857         * build-aux/GNUmakefile (have-Makefile): Rename...
50858         (_have-Makefile): ...to this, for namespace consideration.
50859         (GNUmakefile.cfg): Include, if present.
50860         (_autoreconf): Define a default.
50861         (_is-dist-target): New rule for rebuilds to pick up intra-release
50862         version.
50863         (maint-cfg.mk): Rename...
50864         (cfg.mk): ...to this.
50865
50866 2008-03-18  Jim Meyering  <meyering@redhat.com>
50867
50868         New script and module: mktempd
50869         * MODULES.html.sh (maint+release support): Add mktempd.
50870         * build-aux/mktempd: New file.
50871         * modules/mktempd: New file.
50872
50873 2008-03-15  Jim Meyering  <meyering@redhat.com>
50874
50875         Undo last change.
50876         * lib/sha1.c, lib/md5.c: 63 != ~63.
50877         Reported by Andreas Schwab.
50878
50879         sha1.c, md5.c: Hoist a redundant expression.
50880         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50881         "ctx->buflen" only once, before calling *_process_block.
50882         * lib/md5.c (md5_process_bytes): Likewise.
50883
50884 2008-03-14  Eric Blake  <ebb9@byu.net>
50885
50886         Bump copyright year in files generated by gnulib-tool.
50887         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50888         gnulib-tool, rather than hard-coding it.
50889
50890         Fix 'gnulib-tool --version' output to work with git.
50891         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50892         (startup): ...here.
50893         (func_version): Use it to invoke git-version-gen, rather than
50894         relying on CVS keyword expansion.  Modernize wording.
50895         (cvsdatestamp, last_checkin_date, version): Kill unused
50896         variables.
50897
50898 2008-03-12  Jim Meyering  <meyering@redhat.com>
50899
50900         Recognize optional cast of the argument to free.
50901         * build-aux/useless-if-before-free: Update regexps.
50902
50903         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50904
50905 2008-03-11  Bruno Haible  <bruno@clisp.org>
50906
50907         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50908         by a single package.
50909         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50910         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50911         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50912         Reported by Sam Steingold <sds@gnu.org>.
50913
50914 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50915
50916         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50917         repositories.
50918
50919 2008-03-11  Bruno Haible  <bruno@clisp.org>
50920
50921         Avoid conflicts between local macro definitions.
50922         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50923         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50924
50925 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50926             Bruno Haible  <bruno@clisp.org>
50927
50928         Make va_copy work with some version of xlc on AIX 5.1.
50929         * lib/stdarg.in.h: New file.
50930         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
50931         On AIX, use a <stdarg.h> file substitute.
50932         * modules/stdarg (Files): Add lib/stdarg.in.h.
50933         (Depends-on): Add include_next.
50934         (Makefile.am): Build a stdarg.h substitute if requested.
50935         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
50936
50937 2008-03-10  Bruno Haible  <bruno@clisp.org>
50938
50939         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
50940         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50941         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50942
50943 2008-03-10  Bruno Haible  <bruno@clisp.org>
50944
50945         * modules/stdlib (Depends-on): Add include_next, remove
50946         absolute-header.
50947
50948 2008-03-09  Bruno Haible  <bruno@clisp.org>
50949
50950         * lib/freadahead.h (freadahead): Document more precisely.
50951         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
50952         the sum of both buffer sizes.
50953         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
50954         * NEWS: Document the change.
50955
50956 2008-03-09  Bruno Haible  <bruno@clisp.org>
50957
50958         Extend freadptr to return also the buffer size.
50959         * lib/freadptr.h (freadptr): Add sizep argument.
50960         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
50961         (freadptr): Add sizep argument. Determine buffer size like freadahead
50962         does.
50963         * tests/test-freadptr.c: Don't include freadahead.h.
50964         (main): Adapt for new calling convention of freadptr.
50965         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
50966         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
50967         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
50968         tests/test-freadptr2.sh.
50969         (Depends): Remove freadahead.
50970         (TESTS): Add test-freadptr2.sh.
50971         (check_PROGRAMS): Add test-freadptr2.
50972
50973 2008-03-09  Bruno Haible  <bruno@clisp.org>
50974
50975         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
50976         Report and solution by Simon Josefsson.
50977
50978 2008-03-06  Bruno Haible  <bruno@clisp.org>
50979
50980         Make fflush after ungetc work on BSD platforms.
50981         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
50982         * tests/test-fflush2.c: New file.
50983         * tests/test-fflush2.sh: New file.
50984         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
50985         tests/test-fflush2.c.
50986         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
50987         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
50988
50989 2008-03-06  Eric Blake  <ebb9@byu.net>
50990
50991         Likewise for ftello.
50992         * modules/ftello (Dependencies): Add extensions.
50993         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
50994
50995 2008-03-06  Bruno Haible  <bruno@clisp.org>
50996
50997         * modules/fseeko (Dependencies): Add extensions.
50998         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
50999         Needed on glibc systems.
51000
51001 2008-03-06  Bruno Haible  <bruno@clisp.org>
51002
51003         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51004         email address.
51005         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51006
51007 2008-03-06  Bruno Haible  <bruno@clisp.org>
51008
51009         * users.txt: Add libgnupdf.
51010
51011 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51012
51013         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51014         (Header File Substitutes, Function Substitutes,
51015         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51016         (Build robot for gnulib): Fix typo.
51017
51018 2008-03-06  Bruno Haible  <bruno@clisp.org>
51019
51020         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51021         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51022
51023 2008-03-06  Bruno Haible  <bruno@clisp.org>
51024
51025         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51026         * doc/gnulib.texi: Include it.
51027
51028 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51029
51030         * modules/func (License): Change license to unlimited; there was
51031         no LGPL parts in the module anyway.
51032
51033 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51034
51035         * modules/__func__: Renamed to modules/func.
51036         * modules/__func__-tests: Renamed to modules/func-tests.
51037         * tests/test-__func__.c: Renamed to tests/test-func.c.
51038         * m4/__func__.m4: Renamed to m4/func.m4.
51039         * doc/gnulib.texi (__func__): Section renamed to func.
51040         Suggested by Eric Blake <ebb9@byu.net>.
51041
51042 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51043
51044         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51045         about __func__.  Make example self-contained.  Suggested by Eric
51046         Blake <ebb9@byu.net>.
51047
51048         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51049         Suggested by Eric Blake <ebb9@byu.net>.
51050
51051 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51052
51053         * modules/__func__: New file.
51054         * modules/__func__-tests: New file.
51055         * tests/test-__func__.c: New file.
51056         * m4/__func__.m4: New file.
51057         * doc/gnulib.texi (__func__): Document __func__ module.
51058
51059 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51060
51061         * modules/byteswap (License): Re-license as LGPLv2+.
51062
51063 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51064
51065         * doc/Makefile: Add pdf target.
51066
51067 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51068
51069         * modules/inline (License): Use 'unlimited', since there are only
51070         *.m4 files in this module.
51071
51072 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51073             Bruno Haible  <bruno@clisp.org>
51074
51075         Add support for HP C 7.1 on OpenVMS 8.3.
51076         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51077
51078 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51079
51080         Update VMS specifics.
51081         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51082
51083 2008-03-02  Jim Meyering  <meyering@redhat.com>
51084
51085         Remove the last dependency on the "free" module.
51086         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51087         Reported by Bob Proulx.
51088
51089         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51090
51091         Remove useless "if" tests before free.  Deprecate "free" module.
51092         * doc/posix-functions/free.texi: Mention that this
51093         module is no longer useful.
51094         * modules/free (Notice): Say this module is obsolete.
51095         * modules/readutmp (Depends-on): Remove free.
51096         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51097         * lib/putenv.c (putenv): Likewise.
51098         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51099         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51100         * tests/test-c-strcasestr.c (main): Likewise.
51101         * tests/test-c-strstr.c (main): Likewise.
51102         * tests/test-mbscasestr1.c (main): Likewise.
51103         * tests/test-mbscasestr2.c (main): Likewise.
51104         * tests/test-mbsstr1.c (main): Likewise.
51105         * tests/test-mbsstr2.c (main): Likewise.
51106         * tests/test-memmem.c (main): Likewise.
51107         * tests/test-strcasestr.c (main): Likewise.
51108         * tests/test-striconv.c (main): Likewise.
51109         * tests/test-striconveh.c (main): Likewise.
51110         * tests/test-striconveha.c (main): Likewise.
51111         * tests/test-strstr.c (main): Likewise.
51112
51113         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51114
51115         bootstrap: sync from coreutils again
51116         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51117
51118 2008-03-01  Jim Meyering  <meyering@redhat.com>
51119
51120         bootstrap: sync from coreutils
51121         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51122         also when the target doesn't exist.
51123
51124 2008-03-01  Eric Blake  <ebb9@byu.net>
51125
51126         Fix bugs in last patch.
51127         * lib/memchr2.c (memchr2): Fix typo.
51128         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51129         extension.
51130         Reported by Bruce Korb.
51131
51132         New module 'memchr2'.
51133         * modules/memchr2: New file.
51134         * modules/memchr2-tests: Likewise.
51135         * lib/memchr2.h: Likewise.
51136         * lib/memchr2.c: Likewise, based on memchr.c.
51137         * tests/test-memchr2.c: New test.
51138         * MODULES.html.sh (String handling): Add memchr2.
51139
51140 2008-02-29  Bruno Haible  <bruno@clisp.org>
51141
51142         * modules/freadseek-tests: New file.
51143         * tests/test-freadseek.sh: New file.
51144         * tests/test-freadseek.c: New file.
51145
51146         New module 'freadseek'.
51147         * modules/freadseek: New file.
51148         * lib/freadseek.h: New file.
51149         * lib/freadseek.c: New file.
51150         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51151
51152 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51153
51154         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51155         wydawca.
51156
51157         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51158         program_invocation_name and program_invocation_short_name are
51159         present.
51160
51161 2008-02-28  Bruno Haible  <bruno@clisp.org>
51162
51163         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51164         * tests/test-freadptr.sh: Also test non-seekable stdin.
51165
51166 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51167
51168         * build-aux/bootstrap (source_base, m4_base)
51169         (doc_base, tests_base): New variables.
51170         (gnulib_tool_options): Do not hardcode base directories, use
51171         the above variables instead.
51172
51173 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51174
51175         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51176
51177 2008-02-28  Bruno Haible  <bruno@clisp.org>
51178
51179         * modules/freadptr-tests: New file.
51180         * tests/test-freadptr.sh: New file.
51181         * tests/test-freadptr.c: New file.
51182
51183         New module 'freadptr'.
51184         * modules/freadptr: New file.
51185         * lib/freadptr.h: New file.
51186         * lib/freadptr.c: New file.
51187         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51188
51189 2008-02-26  Karl Berry  <karl@freefriends.org>
51190
51191         Sync from Libtool:
51192         * libltdl/argz.c (argz_add, argz_count): New functions.
51193         * libltdl/argz.in.h: Declare them.
51194         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51195
51196 2008-02-22  Bruno Haible  <bruno@clisp.org>
51197
51198         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51199         is a pointer type.  Needed for HP-UX 10.
51200         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51201         * doc/posix-functions/gmtime_r.texi: Likewise.
51202         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51203
51204 2008-02-24  Bruno Haible  <bruno@clisp.org>
51205
51206         * modules/environ-tests: New file.
51207         * tests/test-environ.c: New file.
51208
51209         New module 'environ'.
51210         * modules/environ: New file.
51211         * lib/unistd.in.h (environ): New declaration.
51212         * m4/environ.m4: New file.
51213         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51214         after use.
51215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51216         HAVE_DECL_ENVIRON.
51217         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51218         HAVE_DECL_ENVIRON.
51219         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51220         wrong claim that 'environ' is missing on some systems.
51221         * modules/execute (Depends-on): Add environ.
51222         * lib/execute.c (environ): Remove fallback declaration.
51223         * modules/pipe (Depends-on): Add environ.
51224         * lib/pipe.c (environ): Remove fallback declaration.
51225         * modules/setenv (Depends-on): Add environ.
51226         * lib/setenv.c (environ): Remove fallback declaration.
51227         * modules/unsetenv (Depends-on): Add environ.
51228         * lib/unsetenv.c (environ): Remove fallback declaration.
51229         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51230         m4/environ.m4.
51231         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51232         (gl_PREREQ_UNSETENV): Likewise.
51233
51234 2008-02-24  Bruno Haible  <bruno@clisp.org>
51235
51236         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51237
51238 2008-02-20  Bob Proulx  <bob@proulx.com>
51239
51240         Enable use of older two part flavor 'git describe'.
51241         * build-aux/git-version-gen: If using the older two part flavor of
51242         git version then recreate the third part now present in the
51243         newer three part flavor of git describe.
51244
51245 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51246
51247         * lib/fts.c (fts_build): Typo correction to comment.
51248
51249 2008-02-17  Bruno Haible  <bruno@clisp.org>
51250
51251         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51252         generating no-op conflicts.
51253
51254 2008-02-17  Bruno Haible  <bruno@clisp.org>
51255
51256         Speed up by 10%.
51257         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51258         result_entries, rather than an index-based loop.
51259
51260 2008-02-17  Bruno Haible  <bruno@clisp.org>
51261
51262         Speed up by 25%.
51263         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51264         'hashcode_cached'.
51265         (entry_create): New function.
51266         (entry_hashcode): Use the cached hashcode if possible.
51267         (read_changelog_file, try_split_merged_entry): Use entry_create.
51268
51269 2008-02-17  Bruno Haible  <bruno@clisp.org>
51270
51271         Speed up from O(n^2) to O(n) for long ChangeLog files.
51272         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51273         (read_changelog_file): Change implementation of entries_reversed list
51274         to rbtreehash.
51275         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51276
51277 2008-02-17  Bruno Haible  <bruno@clisp.org>
51278
51279         New option --split-merged-entry.
51280         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51281         (find_paragraph_end, try_split_merged_entry): New functions.
51282         (long_options): Add option --split-merged-entry.
51283         (usage): Document option --split-merged-entry.
51284         (main): Implement option --split-merged-entry.
51285         Reported by Eric Blake.
51286
51287 2008-02-17  Bruno Haible  <bruno@clisp.org>
51288
51289         * lib/git-merge-changelog.c: Include c-strstr.h.
51290         (main): Support the "git pull --rebase" situation.
51291         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51292         Reported by Eric Blake.
51293
51294 2008-02-16  Eric Blake  <ebb9@byu.net>
51295
51296         Avoid doubling \ in common case of "c-maybe" quoting style.
51297         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51298         eliding outer quotes.
51299         * lib/quotearg.h: Document this.
51300         * tests/test-quotearg.c (result_strings, inputs, results_g)
51301         (flag_results, locale_results): Test it by adding a new string to
51302         each test group.
51303         (compare_strings): Test new string.
51304
51305 2008-02-13  Eric Blake  <ebb9@byu.net>
51306
51307         Avoid trigraph quoting in default output.
51308         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51309         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51310         unless explicitly requested.
51311         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51312
51313 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51314
51315         Don't rely on signed integer overflowing to negative value.
51316         * lib/getugroups.c (getugroups): Include <limits.h>.
51317         Instead, compare against INT_MAX, and increment only if the test passes.
51318
51319 2008-02-13  Jim Meyering  <meyering@redhat.com>
51320         and Eric Blake  <ebb9@byu.net>
51321
51322         Avoid shadowing warning and compile errors on Linux.
51323         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51324         forwarding macros on Linux.
51325         (dcgettext): Define a stub, for Linux.
51326         (results_g, main): Avoid warnings.
51327
51328 2008-02-12  Eric Blake  <ebb9@byu.net>
51329
51330         Silence warning in last patch.
51331         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51332
51333         Quotearg part 4: add tests, fix c-maybe colon quoting.
51334         * lib/quotearg.h: Improve documentation.
51335         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51336         escapes when adding outer quotes.  When quoting trigraphs, use
51337         valid C notation.  When quoting NUL, omit extra characters if next
51338         character is not digit.  Alter prototype.
51339         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51340         callers.
51341         * modules/quotearg-tests: New module.
51342         * tests/test-quotearg.c: New test.
51343
51344 2008-02-07  Eric Blake  <ebb9@byu.net>
51345
51346         Quotearg part 3: add flag to control outer quote elision.
51347         * lib/quotearg.h (c_maybe_quoting_style): New style.
51348         (enum quoting_flags): Better documentation of flags.
51349         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51350         c-maybe style.
51351         (quotearg_buffer_restyled): Handle new flag to elide outer
51352         quotes.
51353
51354         Quotearg part 2: add flag that can control NUL elision.
51355         * lib/quotearg.h (set_quoting_flags): New prototype.
51356         * lib/quotearg.c (struct quoting_options): Add flag field.
51357         (set_quoting_flags): New function.
51358         (quotearg_buffer_restyled): Add flags parameter.
51359         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51360         (quotearg_n_options): Set the flag, since length cannot be
51361         returned.
51362         (quoting_options_from_style): Default flags correctly.
51363
51364         Quotearg part 1: more wrappers, restore quotearg_char state.
51365         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51366         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51367         (quotearg_colon_mem): New wrappers.
51368         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51369         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51370         functions.
51371         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51372         (quotearg_colon_mem): New functions.
51373
51374 2008-02-11  Bruno Haible  <bruno@clisp.org>
51375
51376         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51377         library in the current directory: it does not work with parallel make.
51378         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51379
51380 2008-02-11  Bruno Haible  <bruno@clisp.org>
51381
51382         * .gitattributes: New file.
51383
51384 2008-02-11  Jim Meyering  <meyering@redhat.com>
51385
51386         useless-if-before-free: Fix reversed exit values.
51387         * build-aux/useless-if-before-free: Use correct values
51388         for EXIT_MATCH and EXIT_NO_MATCH.
51389
51390         * build-aux/useless-if-before-free: Close stdout carefully.
51391
51392 2008-02-10  Bruno Haible  <bruno@clisp.org>
51393
51394         New module 'git-merge-changelog'.
51395         * modules/git-merge-changelog: New file.
51396         * lib/git-merge-changelog.c: New file.
51397
51398 2008-02-10  Jim Meyering  <meyering@redhat.com>
51399
51400         useless-if-before-free: New option: --list (-l).
51401
51402         useless-if-before-free: Don't exit immediately upon open failure.
51403         * build-aux/useless-if-before-free: Exit 2 for errors.
51404         Upon failure to open a file, don't exit immediately.
51405         Rather, just warn and continue with any remaining files.
51406
51407 2008-02-10  Bruno Haible  <bruno@clisp.org>
51408
51409         New abstract list operation 'node_set_value'.
51410         * lib/gl_list.h (gl_list_node_set_value): New function.
51411         (struct gl_list_implementation): New field node_set_value.
51412         * lib/gl_list.c (gl_list_node_set_value): New function.
51413         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51414         (gl_array_list_implementation): Update.
51415         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51416         (gl_carray_list_implementation): Update.
51417         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51418         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51419         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51420         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51421         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51422         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51423         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51424         Update.
51425         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51426         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51427         (gl_sublist_list_implementation): Update.
51428
51429 2008-02-10  Bruno Haible  <bruno@clisp.org>
51430
51431         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51432         Needed when ELEMENT is #defined to 'some_type *'.
51433
51434 2008-02-10  Jim Meyering  <meyering@redhat.com>
51435
51436         New script and module: useless-if-before-free
51437         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51438         * build-aux/useless-if-before-free: New file.
51439         * modules/useless-if-before-free: New file.
51440
51441         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51442
51443         xstrtol_error: Fix typo.
51444         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51445         s/exit_failure/exit_status/.
51446
51447 2008-02-09  Jim Meyering  <meyering@redhat.com>
51448
51449         New script and module: gitlog-to-changelog
51450         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51451         * modules/gitlog-to-changelog: New file.
51452         * build-aux/gitlog-to-changelog: New file.
51453
51454 2008-02-08  Jim Meyering  <meyering@redhat.com>
51455
51456         Avoid two "parameter unused" warnings.
51457         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51458         Mark "st" as used.
51459
51460         Use "git COMMAND", not "git-COMMAND".
51461         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51462         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51463         * build-aux/git-version-gen: Use "git status", not "git-status".
51464
51465 2008-02-07  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51468         Avoids a crash on Windows Vista.
51469         Reported by Adam Strzelecki <ono@java.pl> via
51470         Simon Josefsson <simon@josefsson.org>.
51471
51472 2008-02-06  Bruno Haible  <bruno@clisp.org>
51473
51474         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51475         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51476         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51477         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51478         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51479         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51480         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51481         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51482         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51483         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51484         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51485         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51486         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51487         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51489         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51490         left-adjust flag.
51491         * tests/test-snprintf-posix.h (test_function): Likewise.
51492         * tests/test-sprintf-posix.h (test_function): Likewise.
51493         * tests/test-vasprintf-posix.c (test_function): Likewise.
51494         * doc/posix-functions/fprintf.texi: Update.
51495         * doc/posix-functions/printf.texi: Update.
51496         * doc/posix-functions/snprintf.texi: Update.
51497         * doc/posix-functions/sprintf.texi: Update.
51498         * doc/posix-functions/vfprintf.texi: Update.
51499         * doc/posix-functions/vprintf.texi: Update.
51500         * doc/posix-functions/vsnprintf.texi: Update.
51501         * doc/posix-functions/vsprintf.texi: Update.
51502         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51503
51504 2008-02-06  Bruno Haible  <bruno@clisp.org>
51505
51506         Fix bug introduced on 2008-01-26.
51507         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51508
51509 2008-02-06  Bruno Haible  <bruno@clisp.org>
51510
51511         Fix bug introduced on 2007-06-10.
51512         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51513         !NEED_PRINTF_FLAG_ZERO.
51514
51515 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51516
51517         getloadavg: use libperfstat on AIX5
51518         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51519
51520 2008-02-03  Bruno Haible  <bruno@clisp.org>
51521
51522         * lib/diffseq.h: Add comments about required #includes.
51523         Reported by Michael Biggs <gnulib@doubleplum.net>.
51524
51525 2008-02-01  Bruno Haible  <bruno@clisp.org>
51526
51527         * users.txt: Add gnuit.
51528
51529 2008-01-31  Bruno Haible  <bruno@clisp.org>
51530
51531         * lib/md4.c (set_uint32): Mark as inline.
51532         * lib/md5.c (set_uint32): Likewise.
51533         * lib/sha1.c (set_uint32): Likewise.
51534         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51535         * m4/md5.m4 (gl_MD5): Likewise.
51536         * m4/sha1.m4 (gl_SHA1): Likewise.
51537
51538 2008-01-31  Jim Meyering  <meyering@redhat.com>
51539
51540         Use "sizeof VAR", rather than a literal "4".
51541         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51542         * lib/md4.c (md4_read_ctx): Likewise.
51543         * lib/sha1.c (sha1_read_ctx): Likewise.
51544
51545 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51546
51547         * tests/test-sha1.c: New file, based on test-md5.c.
51548
51549         * modules/crypto/sha1-tests: New file.
51550
51551 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51552
51553         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51554
51555 2008-01-31  Jim Meyering  <meyering@redhat.com>
51556
51557         Prefer "sizeof v" over the equivalent "4".
51558         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51559         * lib/md5.c (set_uint32): Likewise.
51560         * lib/sha1.c (set_uint32): Likewise.
51561
51562 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51563
51564         * lib/sha1.c (set_uint32): Mark function as static.
51565
51566 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51567
51568         md2: clarify comments to say that alignment is not required.
51569         * lib/md2.h: Remove warning about alignment in comment.
51570         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51571         never been required.
51572
51573 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51574
51575         md4: adapt alignment constraint fix from sha1.
51576         * lib/md4.c (set_uint32): New function, from sha1.c
51577         (md4_read_ctx): Use it.
51578         (md4_finish_ctx): Doc fix.
51579         * lib/md4.h: Doc fix.
51580
51581 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51582
51583         md5: adapt alignment constraint fix from sha1.
51584         * lib/md5.c (set_uint32): New function, from sha1.c
51585         (md5_read_ctx): Use it.
51586         (md5_finish_ctx): Doc fix.
51587         * lib/md5.h: Doc fix.
51588
51589 2008-01-30  Peter Palfrader  <weasel@debian.org>
51590
51591         sha1: remove the result buffer alignment constraint
51592         * lib/sha1.c (set_uint32): New function.
51593         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51594         constraint.
51595         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51596         * lib/sha1.h: Likewise.
51597
51598 2008-01-30  Andreas Schwab  <schwab@suse.de>
51599             Bruno Haible  <bruno@clisp.org>
51600
51601         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51602         correct definition of LDBL_MIN_EXP.
51603
51604 2008-01-30  Karl Berry  <karl@gnu.org>
51605
51606         * config/srclist-update: try to preserve x bit on updates.
51607         * config/srclistvars.sh: update for karl.
51608
51609 2008-01-29  Jim Meyering  <meyering@redhat.com>
51610
51611         vasnprintf.c: Avoid warning about unused label
51612         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51613         "overflow" label definition and associated code with the
51614         same cpp condition that guards the sole use of that label.
51615
51616 2008-01-26  Bruno Haible  <bruno@clisp.org>
51617
51618         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51619         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51620         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51621         * lib/isnanl-nolibm.h (isnanl): Likewise.
51622         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51623
51624 2008-01-26  Bruno Haible  <bruno@clisp.org>
51625
51626         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51627         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51628
51629 2008-01-26  Bruno Haible  <bruno@clisp.org>
51630
51631         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51632         GCC >= 4.0 built-in.
51633         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51634
51635 2008-01-26  Bruno Haible  <bruno@clisp.org>
51636
51637         Rename isnan, applicable to 'double' only, to isnand.
51638         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51639         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51640         (configure.ac): Update.
51641         (Include): Replace "isnan.h" with "isnand.h".
51642         * m4/isnand.m4: Renamed from m4/isnan.m4.
51643         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51644         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51645         instead of isnan.c.
51646         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51647         instead of HAVE_ISNAN_IN_LIBC.
51648         (isnand): Renamed from isnan.
51649         * lib/isnand.c: New file.
51650         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51651         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51652         (Makefile.am): Update.
51653         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51654         Include isnand.h instead of isnan.h.
51655         (main): Test isnand instead of isnan.
51656         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51657         isnan-nolibm.
51658         * modules/frexp (Depends-on): Likewise.
51659         * modules/frexp-tests (Depends-on): Likewise.
51660         * modules/frexp-nolibm (Depends-on): Likewise.
51661         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51662         * modules/isfinite (Depends-on): Likewise.
51663         * modules/round-tests (Depends-on): Likewise.
51664         * modules/signbit (Depends-on): Likewise.
51665         * modules/signbit-tests (Depends-on): Likewise.
51666         * modules/snprintf-posix (Depends-on): Likewise.
51667         * modules/sprintf-posix (Depends-on): Likewise.
51668         * modules/trunc-tests (Depends-on): Likewise.
51669         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51670         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51671         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51672         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51673         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51674         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51675         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51676         * modules/vasnprintf-posix (Depends-on): Likewise.
51677         * modules/vasprintf-posix (Depends-on): Likewise.
51678         * modules/vfprintf-posix (Depends-on): Likewise.
51679         * modules/vsnprintf-posix (Depends-on): Likewise.
51680         * modules/vsprintf-posix (Depends-on): Likewise.
51681         * lib/frexp.c: Include isnand.h instead of isnan.h.
51682         (ISNAN): Set to isnand instead of isnan.
51683         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51684         (gl_isfinited): Use isnand instead of isnan.
51685         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51686         (gl_signbitd): Use isnand instead of isnan.
51687         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51688         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51689         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51690         (main): Use isnand instead of isnan.
51691         * tests/test-round1.c: Include isnand.h.
51692         (main): Use isnand instead of isnan.
51693         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51694         (ISNAN): Set to isnand instead of isnan.
51695         * tests/test-trunc1.c: Include isnand.h.
51696         (main): Use isnand instead of isnan.
51697         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51698         (equal): Use isnand instead of isnan.
51699         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51700         isnand-nolibm.
51701         * NEWS: Mention the change.
51702
51703 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51704             Bruno Haible  <bruno@clisp.org>
51705
51706         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51707         the GCC builtins for signbits are present and set
51708         REPLACE_SIGNBIT_USING_GCC if so.
51709         * lib/math.in.h (signbit): Define using GCC builtins if
51710         REPLACE_SIGNBIT_USING_GCC is set.
51711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51712         REPLACE_SIGNBIT_USING_GCC.
51713         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51714
51715 2008-01-25  Jim Meyering  <meyering@redhat.com>
51716
51717         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51718         * lib/poll.c: Include <config.h>, not "config.h".
51719         * tests/test-getaddrinfo.c: Likewise.
51720
51721 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51722
51723         * modules/sockets-tests: New file.
51724
51725 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51726
51727         * modules/sockets: New module, can be used to call WSA_Startup and
51728         WSA_Cleanup when needed.
51729
51730         * lib/sockets.h, lib/sockets.c: New files.
51731
51732         * m4/sockets.m4: New file.
51733
51734         * tests/test-sockets.c: New file.
51735
51736 2008-01-19  Bruno Haible  <bruno@clisp.org>
51737
51738         * doc/posix-headers: Renamed from doc/headers.
51739         * doc/posix-functions: Renamed from doc/functions.
51740         * doc/gnulib.texi: Update.
51741
51742 2008-01-19  Bruno Haible  <bruno@clisp.org>
51743
51744         * doc/glibc-functions/strcasestr.texi: Include contents of
51745         doc/functions/strcasestr.texi, fixing the list of platforms.
51746         * doc/functions/strcasestr.texi: Remove file.
51747
51748 2008-01-19  Bruno Haible  <bruno@clisp.org>
51749
51750         * doc/glibc-functions/memmem.texi: Include contents of
51751         doc/functions/memmem.texi.
51752         * doc/functions/memmem.texi: Remove file.
51753
51754 2008-01-18  Bruno Haible  <bruno@clisp.org>
51755
51756         * doc/glibc-functions/*.texi: New files.
51757         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51758         to use the new files.
51759
51760 2008-01-17  Bruno Haible  <bruno@clisp.org>
51761
51762         * tests/test-gethostname.c (main): Fix printf statement.
51763
51764 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51765
51766         * modules/gethostname-tests: New file.
51767
51768         * tests/test-gethostname.c: New file.
51769
51770 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51771
51772         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51773         used by the UNAME case.  Reported by Bruno Haible
51774         <bruno@clisp.org>.
51775
51776 2008-01-17  Eric Blake  <ebb9@byu.net>
51777
51778         Convert c-strcasestr to be more efficient.
51779         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51780         (Depends-on): Add c-strcase, remove malloca, strnlen.
51781         * tests/test-c-strcasestr.c (main): Enhance test.
51782         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51783
51784 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51785
51786         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51787         Use it in creating po/Makevars.
51788
51789 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51790
51791         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51792         Applications that requires it should initialize libgcrypt
51793         manually.
51794
51795 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51796
51797         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51798
51799 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51800
51801         Fix problem with getdate on mingw32 reported by Simon Josefsson
51802         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51803         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51804         tzname", when deciding whether to declare tzname.
51805         * lib/strftime.c (tzname): Likewise.
51806
51807 2008-01-15  Bruno Haible  <bruno@clisp.org>
51808
51809         Work around a MacOS X 10.5 bug in frexpl().
51810         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51811         * doc/functions/frexpl.texi: Document the bug.
51812         Reported by Elias Pipping <pipping@gentoo.org>.
51813
51814 2008-01-14  Eric Blake  <ebb9@byu.net>
51815
51816         Touch up previous patch.
51817         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51818         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51819
51820         Convert strcasestr module to use Two-Way algorithm.
51821         * modules/strcasestr-simple: New module, based on the old
51822         strcasestr, but with Two-Way rather than KMP.
51823         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51824         * lib/string.in.h (rpl_strcasestr): Declare.
51825         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51826         performance.
51827         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51828         * modules/string (Makefile.am): Support strcasestr.
51829         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51830         * modules/strcasestr-tests (Depends-on): Check for alarm.
51831         * tests/test-strcasestr.c: Augment test.
51832         * lib/str-two-way.h: Clean up stray macro.
51833         * NEWS: Document new module.
51834         * MODULES.html.sh (string handling): Likewise.
51835         * doc/functions/strcasestr.texi: New file.
51836         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51837         here, since it is not a POSIX function.
51838
51839 2008-01-14  Colin Watson  <cjwatson@debian.org>
51840             Bruno Haible  <bruno@clisp.org>
51841
51842         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51843         works fine; if not, set REPLACE_STRSIGNAL.
51844         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51845         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51846         REPLACE_STRSIGNAL.
51847         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51848         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51849         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51850
51851 2008-01-14  Bruno Haible  <bruno@clisp.org>
51852
51853         * modules/strsignal (Include): Change to <string.h>.
51854
51855 2008-01-14  Colin Watson  <cjwatson@debian.org>
51856
51857         * modules/argp (Notice): Add a notice recommending to change
51858         XGETTEXT_OPTIONS.
51859         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51860
51861 2008-01-13  Colin Watson  <cjwatson@debian.org>
51862
51863         * modules/strsignal-tests: New file.
51864         * tests/test-strsignal.c: New file.
51865
51866         * lib/strsignal.c: New file, from glibc with modifications.
51867         * lib/siglist.h: New file, from glibc with modifications.
51868         * lib/string.in.h (strsignal): New declaration.
51869         * m4/strsignal.m4: New file.
51870         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51871         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51872         * modules/strsignal: New file.
51873         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51874         HAVE_DECL_STRSIGNAL.
51875
51876 2008-01-13  Bruno Haible  <bruno@clisp.org>
51877
51878         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51879         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51880         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51881         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51882
51883 2008-01-13  Bruno Haible  <bruno@clisp.org>
51884
51885         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51886         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51887         * lib/argp.h (__attribute__): Likewise.
51888         * lib/c-stack.c (__attribute__): Likewise.
51889         * lib/error.h (__attribute__): Likewise.
51890         * lib/fts.c (__attribute__): Likewise.
51891         * lib/openat.h (__attribute__): Likewise.
51892         * lib/stdio.in.h (__attribute__): Likewise.
51893         * lib/string.in.h (__attribute__): Likewise.
51894         * lib/utimens.c (__attribute__): Likewise.
51895         * lib/vasnprintf.h (__attribute__): Likewise.
51896         * lib/xalloc.h (__attribute__): Likewise.
51897         * lib/xprintf.h (__attribute__): Likewise.
51898         * lib/xstrtol.h (__attribute__): Likewise.
51899         * lib/xvasprintf.h (__attribute__): Likewise.
51900
51901 2008-01-12  Bruno Haible  <bruno@clisp.org>
51902
51903         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51904         * doc/glibc-headers/a.out.texi: New file.
51905         * doc/glibc-headers/aliases.texi: New file.
51906         * doc/glibc-headers/alloca.texi: New file.
51907         * doc/glibc-headers/ar.texi: New file.
51908         * doc/glibc-headers/argp.texi: New file.
51909         * doc/glibc-headers/argz.texi: New file.
51910         * doc/glibc-headers/byteswap.texi: New file.
51911         * doc/glibc-headers/crypt.texi: New file.
51912         * doc/glibc-headers/endian.texi: New file.
51913         * doc/glibc-headers/envz.texi: New file.
51914         * doc/glibc-headers/err.texi: New file.
51915         * doc/glibc-headers/error.texi: New file.
51916         * doc/glibc-headers/execinfo.texi: New file.
51917         * doc/glibc-headers/fpu_control.texi: New file.
51918         * doc/glibc-headers/fstab.texi: New file.
51919         * doc/glibc-headers/fts.texi: New file.
51920         * doc/glibc-headers/getopt.texi: New file.
51921         * doc/glibc-headers/ieee754.texi: New file.
51922         * doc/glibc-headers/ifaddrs.texi: New file.
51923         * doc/glibc-headers/libintl.texi: New file.
51924         * doc/glibc-headers/mcheck.texi: New file.
51925         * doc/glibc-headers/mntent.texi: New file.
51926         * doc/glibc-headers/obstack.texi: New file.
51927         * doc/glibc-headers/paths.texi: New file.
51928         * doc/glibc-headers/printf.texi: New file.
51929         * doc/glibc-headers/pty.texi: New file.
51930         * doc/glibc-headers/resolv.texi: New file.
51931         * doc/glibc-headers/shadow.texi: New file.
51932         * doc/glibc-headers/sysexits.texi: New file.
51933         * doc/glibc-headers/ttyent.texi: New file.
51934
51935 2008-01-12  Jim Meyering  <meyering@redhat.com>
51936
51937         announce-gen: emit Gnulib's git-based version string.
51938         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
51939         New option --gnulib-version=V, where V is expected to be
51940         the output of running git describe in the gnulib directory.
51941         (get_tool_versions): Request feedback on xdelta.  I suspect it's
51942         not useful, and plan to stop publishing an xdelta file with each
51943         coreutils release.
51944
51945         * build-aux/announce-gen: Also check for lzma-compressed files.
51946
51947 2008-01-11  Bruno Haible  <bruno@clisp.org>
51948
51949         * tests/test-memmem.c (main): Increase maximum allowed time.
51950         * tests/test-strstr.c (main): Likewise.
51951
51952 2008-01-11  Bruno Haible  <bruno@clisp.org>
51953
51954         * doc/functions/memmem.texi: Add more precisions about platforms.
51955         * doc/functions/strstr.texi: Likewise.
51956
51957 2008-01-10  Eric Blake  <ebb9@byu.net>
51958
51959         * m4/strstr.m4: Delete cruft from copy-n-paste.
51960         Reported by Bruno Haible.
51961
51962 2008-01-10  Bruno Haible  <bruno@clisp.org>
51963
51964         Make c-strstr rely on strstr.
51965         * lib/c-strstr.c: Don't include str-kmp.h.
51966         (c_strstr): Define in terms of strstr.
51967         * modules/c-strstr (Files): Remove lib/str-kmp.h.
51968         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
51969
51970 2008-01-10  Bruno Haible  <bruno@clisp.org>
51971
51972         * doc/gnulib.texi (String Functions in C Locale): New section.
51973         * doc/c-ctype.texi: New file.
51974         * doc/c-strcase.texi: New file.
51975         * doc/c-strcaseeq.texi: New file.
51976         * doc/c-strcasestr.texi: New file.
51977         * doc/c-strstr.texi: New file.
51978         * doc/c-strtod.texi: New file.
51979         * doc/c-strtold.texi: New file.
51980
51981 2008-01-10  Eric Blake  <ebb9@byu.net>
51982
51983         * lib/relocatable.h: Fix a comment.
51984
51985 2008-01-10  Eric Blake  <ebb9@byu.net>
51986
51987         Share two-way algorithm.
51988         * lib/str-two-way.h: New file, merged from...
51989         * lib/memmem.c: ...here...
51990         * lib/strstr.c: ...and here.
51991         * modules/memmem (Files): Use it.
51992         * modules/strstr (Files): Likewise.
51993
51994         Avoid quadratic strstr implementations.
51995         * lib/strstr.c: New file.
51996         * m4/strstr.m4: Likewise.
51997         * modules/strstr: Likewise.
51998         * modules/strstr-tests: Likewise.
51999         * tests/test-strstr.c: Likewise.
52000         * lib/string.in.h (rpl_strstr): Declare.
52001         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52003         * modules/string (Makefile.am): Likewise.
52004         * MODULES.html.sh (string handling): Mention new module.
52005         * doc/functions/strstr.texi (strstr): Document the bug.
52006
52007 2008-01-10  Bruno Haible  <bruno@clisp.org>
52008
52009         * lib/relocatable.h (relocate): State whether result is freshly
52010         allocated or not.
52011         * lib/relocatable.c (relocate): Return a freshly allocated string
52012         instead of a pointer to a privately held string.
52013         Reported by Sylvain Beucler <beuc@gnu.org>.
52014
52015 2008-01-10  Colin Watson  <cjwatson@debian.org>
52016
52017         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52018         s/S_ISNLK/S_ISLNK/.
52019
52020 2008-01-09  Bruno Haible  <bruno@clisp.org>
52021
52022         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52023         and other files.
52024         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52025         if it's only a guess.
52026         * modules/memmem: Simplify by depending on memmem-simple.
52027
52028 2008-01-09  Bruno Haible  <bruno@clisp.org>
52029
52030         Work around OpenBSD 4.0 tdelete() bug.
52031         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52032         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52033         macros and don't redefine the enum values.
52034         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52035         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52036         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52037
52038 2008-01-09  Bruno Haible  <bruno@clisp.org>
52039
52040         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52041         (main): Don't perform the tests if setlocale did not install a UTF-8
52042         locale. Needed on OpenBSD 4.0.
52043         * modules/wcwidth-tests (Depends-on): Add localcharset.
52044
52045 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52046
52047         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52048         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52049         * NEWS: announce this.
52050         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52051
52052 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52053         and Eric Blake  <ebb9@byu.net>
52054
52055         Add memmem-simple module.
52056         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52057         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52058         * modules/memmem-simple: New file.
52059         * modules/memmem (Description): Tweak.
52060         * MODULES.html.sh (string handling): Mention new module.
52061         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52062         addressed by memmem-simple.
52063         * NEWS: Document the difference.
52064
52065 2008-01-09  Eric Blake  <ebb9@byu.net>
52066
52067         Give gcc some memmem optimization hints.
52068         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52069         (strcasestr): Declare as pure.
52070         * modules/memmem (Maintainer): Claim my implementation.
52071
52072 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52073
52074         Support AIX 6.1 and higher.
52075         * build-aux/config.libpath: Likewise.
52076         * build-aux/config.rpath: Likewise.
52077
52078 2008-01-08  Jim Meyering  <meyering@redhat.com>
52079             Bruno Haible  <bruno@clisp.org>
52080
52081         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52082         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52083         Reported by Peter Fales in
52084         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52085
52086 2008-01-08  Bruno Haible  <bruno@clisp.org>
52087
52088         * modules/unictype/category-of (Depends-on): Add
52089         unictype/category-none.
52090         * modules/unictype/category-and-tests (Depends-on): Add
52091         unictype/category-{L,N,Lu,Nd}.
52092         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52093         * modules/unictype/category-or-tests (Depends-on): Add
52094         unictype/category-{L,N}.
52095         * modules/unictype/category-name-tests (Depends-on): Add
52096         unictype/category-{Z,Nl}.
52097         Reported by Simon Josefsson.
52098
52099 2008-01-08  Bruno Haible  <bruno@clisp.org>
52100
52101         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52102         convention better.
52103         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52104         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52105         Reported by Peter Miller <millerp@canb.auug.org.au>.
52106
52107 2008-01-08  Eric Blake  <ebb9@byu.net>
52108
52109         Rewrite memmem to guarantee linear complexity without malloc.
52110         * lib/memmem.c (memmem): Use Two-Way rather than
52111         Knuth-Morris-Pratt, to allow O(1) space usage.
52112         (critical_factorization, two_way_short_needle)
52113         (two_way_long_needle): New functions.
52114         (knuth_morris_pratt): Delete.
52115         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52116         Add stdint.
52117         * tests/test-memmem.c (main): Add tests for periodic needle and
52118         sublinear performance.
52119         * doc/functions/memmem.texi (memmem): Document other deficiencies
52120         in cygwin and older glibc.
52121
52122 2008-01-08  Bruno Haible  <bruno@clisp.org>
52123
52124         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52125         augmentation.
52126
52127 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52128
52129         Add a configure time option: --disable-acl.
52130         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52131         AC_ARG_ENABLE(acl).
52132
52133 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52134
52135         * tests/test-localename.c: Don't include obsolete "setenv.h".
52136
52137         * modules/localename-tests (Depends-on): Need unsetenv.
52138
52139 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52140
52141         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52142
52143 2008-01-06  Colin Watson  <cjwatson@debian.org>
52144
52145         * users.txt: Add man-db.
52146
52147 2008-01-07  Bruno Haible  <bruno@clisp.org>
52148
52149         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52150         previous section name.
52151
52152 2008-01-07  Bruno Haible  <bruno@clisp.org>
52153
52154         * lib/progname.c (set_program_name): Don't strip off a leading
52155         "lt-" prefix outside a .libs directory.
52156         Suggested by Paul Eggert.
52157
52158 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52159             Bruno Haible  <bruno@clisp.org>
52160
52161         Improve memory cleanup in 'relocatable' module.
52162         * lib/relocatable.h (compute_curr_prefix): Change return type to
52163         'char *'.
52164         * lib/relocatable.c (compute_curr_prefix): Change return type to
52165         'char *'. Free curr_installdir after use.
52166         (relocate): Free curr_prefix_better after use.
52167         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52168
52169 2008-01-01  Bruno Haible  <bruno@clisp.org>
52170
52171         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52172         failure on older glibc systems.
52173         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52174
52175 2008-01-05  Eric Blake  <ebb9@byu.net>
52176
52177         Avoid quadratic system memmem.
52178         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52179         Reported by Ralf Wildenhues.
52180
52181         Fix memmem test for mingw.
52182         * modules/memmem-tests (configure.ac): Check for alarm.
52183         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52184         it.
52185         * doc/functions/memmem.texi: New file.
52186         * doc/gnulib.texi (Function Substitutes): Add memmem.
52187         Reported by Bruno Haible.
52188
52189 2008-01-04  Bruno Haible  <bruno@clisp.org>
52190
52191         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52192         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52193         gl_HEADER_STRING_H_DEFAULTS.
52194
52195 2008-01-04  Eric Blake  <ebb9@byu.net>
52196
52197         Shorten duration of memmem test.
52198         * tests/test-memmem.c (main): Use alarm to declare failure if test
52199         is taking too long.
52200         Reported by Ralf Wildenhues.
52201
52202 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52203
52204         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52205         string, needed by strerror.
52206
52207 2008-01-03  Colin Watson  <cjwatson@debian.org>
52208             Bruno Haible  <bruno@clisp.org>
52209
52210         * doc/gnulib-tool.texi (Localization): New section.
52211
52212 2008-01-02  Bruno Haible  <bruno@clisp.org>
52213
52214         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52215         variables to 'unsigned char *' type.
52216         Reported by Paul Eggert.
52217
52218 2008-01-02  Jim Meyering  <jim@meyering.net>
52219
52220         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52221
52222 2007-12-31  Jim Meyering  <jim@meyering.net>
52223
52224         Avoid use of private FTS type name.
52225         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52226
52227 2007-12-30  Karl Berry  <karl@gnu.org>
52228
52229         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52230         work around defect in Texinfo and/or the standalone Info browser.
52231
52232 2007-12-30  Bruno Haible  <bruno@clisp.org>
52233
52234         Unify 5 copies of the KMP code.
52235         * lib/str-kmp.h: New file.
52236         * lib/c-strcasestr.c: Include str-kmp.h.
52237         (knuth_morris_pratt): Remove function.
52238         (c_strcasestr): Update.
52239         * lib/c-strstr.c: Include str-kmp.h.
52240         (knuth_morris_pratt): Remove function.
52241         (c_strcasestr): Update.
52242         * lib/mbscasestr.c: Include str-kmp.h.
52243         (knuth_morris_pratt_unibyte): Remove function.
52244         * lib/mbsstr.c: Include str-kmp.h.
52245         (knuth_morris_pratt_unibyte): Remove function.
52246         * lib/strcasestr.c: Include str-kmp.h.
52247         (knuth_morris_pratt): Remove function.
52248         (strcasestr): Update.
52249         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52250         * modules/c-strstr (Files): Likewise.
52251         * modules/mbscasestr (Files): Likewise.
52252         * modules/mbsstr (Files): Likewise.
52253         * modules/strcasestr (Files): Likewise.
52254         Suggested by Paul Eggert.
52255
52256 2007-12-30  Bruno Haible  <bruno@clisp.org>
52257
52258         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52259         defined.
52260
52261 2007-12-30  Bruno Haible  <bruno@clisp.org>
52262
52263         * lib/xmalloca.h: Include xalloc.h.
52264         (xnmalloca): New macro.
52265
52266 2007-12-30  Bruno Haible  <bruno@clisp.org>
52267
52268         * lib/malloca.h (nmalloca): New macro.
52269         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52270         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52271         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52272         knuth_morris_pratt_multibyte): Likewise.
52273         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52274         knuth_morris_pratt_multibyte): Likewise.
52275         * lib/memmem.c (knuth_morris_pratt): Likewise.
52276         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52277
52278 2007-12-25  Bruno Haible  <bruno@clisp.org>
52279
52280         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52281         * lib/glob.c: Don't include openat.h.
52282         (link_exists2_p): Add back the code that deals with the
52283         !GLOB_ALTDIRFUNC case.
52284         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52285         let it do the filename concatenation.
52286         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52287         * modules/glob (Depends-on): Remove openat.
52288
52289 2007-12-31  Bruno Haible  <bruno@clisp.org>
52290
52291         * modules/dirfd (License): Change to LGPLv2+.
52292         Approved by Jim Meyering.
52293
52294 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52295
52296         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52297         when multiplying M by sizeof (size_t).
52298
52299 2007-12-10  Martin Lambers  <marlam@marlam.de>
52300
52301         Override getpagesize on mingw.
52302         * lib/getpagesize.c: New file.
52303         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52304         * modules/getpagesize (Files): Add lib/getpagesize.c.
52305         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52307         REPLACE_GETPAGESIZE.
52308         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52309
52310 2007-12-25  Bruno Haible  <bruno@clisp.org>
52311
52312         * modules/localcharset (Notice): New field.
52313         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52314         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52315
52316 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52317             Bruno Haible  <bruno@clisp.org>
52318
52319         Avoid using the syntax symbol() in formatted documentation.
52320         * MODULES.html.sh (func_module): When replacing symbol() with a
52321         hyperlink, remove the parentheses. Show an error if some remain.
52322         Recognize and render the '...' syntax.
52323         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52324         Rework. Add paragraph about GCC's inlining.
52325         * doc/alloca.texi: Likewise.
52326         * doc/error.texi: Remove parentheses from symbol reference.
52327         * doc/gnulib-intro.texi: Likewise.
52328         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52329         * modules/fnmatch (Description): Reword to say "the ... function".
52330         * modules/full-read (Description): Likewise.
52331         * modules/full-write (Description): Likewise.
52332         * modules/safe-read (Description): Likewise.
52333         * modules/safe-write (Description): Likewise.
52334         * modules/strchrnul (Description): Likewise.
52335         * modules/trim (Description): Likewise.
52336         * modules/error (Description): Remove parentheses from symbol
52337         references.
52338         * modules/verror (Description): Likewise.
52339         Reported by Karl Berry.
52340
52341 2007-12-25  Bruno Haible  <bruno@clisp.org>
52342
52343         Fixup after 2007-10-16 commit.
52344         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52345
52346 2007-12-24  Bruno Haible  <bruno@clisp.org>
52347
52348         Make --enable-relocatable work with DESTDIR.
52349         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52350         to compute installdir from destprog.
52351         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52352         also set the RELOC_DESTDIR variable.
52353         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52354
52355 2007-12-24  Bruno Haible  <bruno@clisp.org>
52356
52357         Fix link error due to xalloc_die().
52358         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52359         of xreadlink.
52360         * lib/relocwrapper.c: Update comments.
52361         * build-aux/install-reloc: Remove xreadlink.c from file list.
52362         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52363         xreadlink.c.
52364         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52365
52366 2007-12-24  Bruno Haible  <bruno@clisp.org>
52367
52368         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52369         * lib/setenv.h: Remove file.
52370         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52371         lib/setenv.h.
52372         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52373         (Depends-on): Add stdlib.
52374         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52375         gl_FUNC_UNSETENV.
52376         (Include): Replace setenv.h with <stdlib.h>.
52377         * modules/unsetenv: New file.
52378         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52379         * lib/unsetenv.c: Include <stdlib.h> first.
52380         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52381         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52382         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52383         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52384         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52385         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52386         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52387         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52388         * doc/functions/unsetenv.texi: Update.
52389         * modules/xsetenv (Depends-on): Add unsetenv.
52390         * modules/getdate (Depends-on): Likewise.
52391         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52392         * lib/xsetenv.c: Don't include setenv.h.
52393         * lib/getdate.y: Likewise.
52394         * lib/relocwrapper.c: Likewise.
52395         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52396         (Depends-on): Add stdlib.
52397         * NEWS: Mention the changes.
52398         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52399
52400 2007-12-23  Bruno Haible  <bruno@clisp.org>
52401
52402         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52403         indentation.
52404
52405 2007-12-23  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/c-strcasestr.c: Add more comments.
52408         * lib/c-strstr.c: Likewise.
52409         * lib/mbscasestr.c: Likewise.
52410         * lib/mbsstr.c: Likewise.
52411         * lib/strcasestr.c: Likewise.
52412         * lib/memmem.c: Likewise.
52413
52414 2007-12-23  Bruno Haible  <bruno@clisp.org>
52415
52416         * tests/test-memmem.c: Include <string.h> first.
52417
52418 2007-12-22  Bruno Haible  <bruno@clisp.org>
52419
52420         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52421         the contents of $testsbase.
52422         Reported by Ralf Wildenhues.
52423
52424 2007-12-22  Bruno Haible  <bruno@clisp.org>
52425
52426         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52427         two variables local_ldadd_before, local_ldadd_last.
52428
52429 2007-12-20  Eric Blake  <ebb9@byu.net>
52430
52431         Work around circular library issue when cross-compiling.
52432         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52433         that progname.o does not need to pull in rpl_memcmp.
52434
52435 2007-12-19  Eric Blake  <ebb9@byu.net>
52436
52437         Fix memmem to avoid O(n^2) worst-case complexity.
52438         * lib/memmem.c (knuth_morris_pratt): New function.
52439         (memmem): Use it if first few naive iterations fail.
52440         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52441         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52442         * modules/memchr (License): Likewise.
52443         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52444         malloca.
52445         * tests/test-memmem.c: Rewrite, borrowing ideas from
52446         test-mbsstr1.c; the old version wouldn't even compile!
52447         * modules/memmem-tests: New file.
52448         * lib/string.in.h (rpl_memmem): Add declaration.
52449         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52451         REPLACE_MEMMEM.
52452
52453 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52454
52455         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52456         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52457         before any system include files, and undef after them all.  This
52458         should fix a problem on VMS reported by John E. Malmberg in
52459         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52460
52461 2007-12-17  Eric Blake  <ebb9@byu.net>
52462
52463         Revert addition of verify, for BSD/OS.
52464         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52465         can't handle large files, for the sake of obsolete platforms.
52466         * modules/fseeko (Depends-on): Remove verify.
52467         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52468         * doc/functions/ftello.texi (ftello): Likewise.
52469         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52470         Reported by Larry Jones.
52471
52472 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52473
52474         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52475         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52476
52477 2007-12-17  Jim Meyering  <meyering@redhat.com>
52478
52479         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52480         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52481         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52482         * modules/getcwd (Depends-on): Add openat.
52483         Reported by Petr Salinger.
52484
52485 2007-12-17  Bruno Haible  <bruno@clisp.org>
52486
52487         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52488         avoid a segmentation fault of the configure test on x86_64 systems.
52489
52490 2007-12-15  Jim Meyering  <meyering@redhat.com>
52491
52492         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52493
52494 2007-12-13  Eric Blake  <ebb9@byu.net>
52495
52496         Another fseek test.
52497         * tests/test-fseek.c (main): Also test ungetc handling.
52498         * tests/test-fseeko.c (main): Likewise.
52499         * modules/fseeko (Depends-on): Add verify.
52500         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52501         large.
52502         Reported by Larry Jones.
52503
52504         Fix fseeko on mingw.
52505         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52506         seek.
52507
52508         Beef up fseek tests.
52509         * tests/test-fseek.c (main): Also test eof handling.
52510         * tests/test-fseeko.c (main): Likewise.
52511         Reported by Larry Jones.
52512
52513 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52514
52515         Fix fseeko on BSD-based platforms.
52516         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52517         successful seek.
52518
52519 2007-12-12  Eric Blake  <ebb9@byu.net>
52520
52521         Allow circular dependency of separate libtests.a
52522         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52523         when use_libtests.
52524
52525 2007-12-11  Eric Blake  <ebb9@byu.net>
52526
52527         Fix bug with -0.0L in previous patch.
52528         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52529         * tests/test-isnan.c (main): Also test on zeroes.
52530         * tests/test-isnanf.c (main): Likewise.
52531         * tests/test-isnanl.h (main): Likewise.
52532
52533         Detect pseudo-denormals on x86 even when cross-compiling.
52534         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52535         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52536         invalid bit patterns that happen to satisfy ==.
52537
52538         Avoid link failures with separate libtests.a.
52539         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52540         last, to satisfy circular dependencies.
52541
52542 2007-12-11  Eric Blake  <ebb9@byu.net>
52543         and Bruno Haible  <bruno@clisp.org>
52544
52545         Fix OpenBSD 4.0 <float.h> handling of long double.
52546         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52547         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52548         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52549
52550 2007-12-11  Jim Meyering  <meyering@redhat.com>
52551
52552         * users.txt: Add libvirt.
52553
52554         Support versions of autoconf prior to 2.59c.
52555         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52556         if it is not already defined.
52557
52558 2007-12-09  Bruno Haible  <bruno@clisp.org>
52559
52560         Let 'gnulib-tool --import' collect sources needed for the tests in
52561         tests/ rather than in lib/.
52562         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52563         argument. If true, add rules to generate libtests.a, and put libtests.a
52564         into $(LDADD). Consider source files in subdirectories and set
52565         uses_subdirs.
52566         (func_emit_initmacro_start, func_emit_initmacro_end,
52567         func_emit_initmacro_done): Pass all arguments explicitly.
52568         (func_import): Determine two module lists main_modules,
52569         testsrelated_modules. Determine use_libtests. Determine two variables
52570         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52571         instead of just sed_transform_lib_file. Determine two variables
52572         main_files and testsrelated_files. Compute 'files' as the union of
52573         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52574         func_add_or_update. In the generated gnulib-comp.m4, collect the
52575         object files for tests/ in different variables than those for lib/.
52576         Substitute LIBTESTS_LIBDEPS.
52577         (func_create_testdir): Combine the uses_subdirs results from
52578         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52579
52580 2007-12-09  Bruno Haible  <bruno@clisp.org>
52581
52582         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52583         the build-aux directory.
52584
52585 2007-12-09  Bruno Haible  <bruno@clisp.org>
52586
52587         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52588         introduced on 2006-09-09.
52589
52590 2007-12-07  Jim Meyering  <meyering@redhat.com>
52591
52592         Let these macros work also with autoconf-2.59.
52593         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52594         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52595         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52596
52597 2007-12-06  Jim Meyering  <meyering@redhat.com>
52598
52599         Avoid a configure-time syntax error in gl_FUNC_ACL.
52600         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52601         function in each branch, before testing the cache variable.
52602
52603 2007-12-04  Eric Blake  <ebb9@byu.net>
52604
52605         Make scripts executable.
52606         * build-aux/config.guess: Add execute permissions.
52607         * build-aux/config.sub: Likewise.
52608         * build-aux/gendocs.sh: Likewise.
52609
52610         Fix frexp on mingw.
52611         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52612         cross-compiling.
52613         * doc/functions/frexp.texi (frexp): Document the bug.
52614
52615         Make cygwin fseeko check more reliable.
52616         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52617         version numbers, rather than unrelated feature check.
52618         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52619         * doc/functions/ftello.texi (ftello): Likewise.
52620         Reported by Bruno Haible.
52621
52622         * m4/strerror.m4: Bump version number.
52623
52624 2007-12-03  Bruno Haible  <bruno@clisp.org>
52625
52626         * doc/functions/mprotect.texi: Mention the mingw problem.
52627
52628 2007-12-03  Eric Blake  <ebb9@byu.net>
52629
52630         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52631         REPLACE_STRERROR is initialized before this macro.
52632
52633 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52634
52635         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52636         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52637         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52638         put -lsec in even for programs other than 'ls'.  This fixes a problem
52639         for gettext reported by Bruno Haible in
52640         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52641         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52642         Add support for Solaris 10.  This isn't efficient, but should get the
52643         job done for now.
52644
52645 2007-12-03  James Youngman  <jay@gnu.org>
52646
52647         * doc/regexprops-generic.texi: change "an close-group" to "a
52648         close-group" and "illegal" to "not allowed".
52649
52650 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52651
52652         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52653         pr_byname.h. Needed for the rare case when the maintainer has done
52654         "make maintainer-clean" in the source directory and then attempts a
52655         build outside the source directory.
52656         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52657         scripts_byname.h.
52658
52659 2007-12-02  Martin Lambers <marlam@marlam.de>
52660             Bruno Haible  <bruno@clisp.org>
52661
52662         * lib/getpagesize.h: Remove file.
52663         * lib/unistd.in.h: Include declaration of getpagesize here.
52664         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52665         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52666         HAVE_SYS_PARAM_H.
52667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52668         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52669         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52670         (Depends-on): Add unistd.
52671         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52672         (Include): Use <unistd.h> instead of getpagesize.h.
52673         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52674         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52675         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52676         gl_GETPAGESIZE invocation, already handled by module dependency.
52677         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52678
52679 2007-12-02  Bruno Haible  <bruno@clisp.org>
52680
52681         * modules/strings-tests: New file.
52682         * tests/test-strings.c: New file.
52683
52684         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52685         * lib/strings.in.h: New file.
52686         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52687         * m4/strings_h.m4: New file.
52688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52689         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52690         * modules/strings: New file.
52691         * modules/string (Makefile.am): Update.
52692         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52693         Reported by Karl Berry.
52694
52695 2007-12-01  Eric Blake  <ebb9@byu.net>
52696
52697         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52698         accomodate fix in cygwin 1.5.25.
52699
52700 2007-12-01  Jim Meyering  <meyering@redhat.com>
52701
52702         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52703         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52704         that would inhibit utf8-optimization of a regexp containing line-
52705         or buffer-anchors, e.g., `^', `$'.
52706
52707 2007-11-30  Bruno Haible  <bruno@clisp.org>
52708
52709         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52710         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52711         glthread_recursive_lock_init.
52712         * lib/lock.c (glthread_recursive_lock_init)
52713         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52714         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52715
52716 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52717
52718         New function qset_acl, like set_acl but with syscall semantics.
52719         * lib/acl.h (qset_acl): New decl.
52720         * lib/acl.c (qset_acl): New function.
52721         (set_acl): Use new function.  Use more-consistent diagnostics.
52722
52723 2007-11-28  Jim Meyering  <meyering@redhat.com>
52724
52725         * modules/physmem (License): Change from GPL to LGPLv2+.
52726
52727 2007-11-26  Bruno Haible  <bruno@clisp.org>
52728
52729         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52730         'long double' type has excess precision.
52731         Reported by Jim Meyering in
52732         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52733
52734 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52735
52736         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52737         Sync from <http://gnu.org/licenses>.
52738         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52739         with license text from same location.
52740         * doc/maintain.texi, doc/standards.texi:  Sync from
52741         <http://savannah.gnu.org/projects/gnustandards>.
52742
52743 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52744         and Jim Meyering  <meyering@redhat.com>
52745
52746         Adjust getdate' grammar to accept a slightly more regular language.
52747         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52748         Before, the former was rejected.
52749         * lib/getdate.y (digits_to_date_time): New function, factored
52750         out of ...
52751         (number): ...here.  Just call digits_to_date_time.
52752         (hybrid): New non-terminal to handle an <unsigned number,
52753         signed relative offset> sequence consistently.
52754
52755 2007-11-18  Jim Meyering  <meyering@redhat.com>
52756
52757         Pull my changes from coreutils:
52758         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52759         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52760         use of $gnulib_tool_option_extras, so that it's separated from the
52761         preceding argument.
52762
52763         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52764         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52765         parent destination directories before copying a file into place.
52766
52767 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52768
52769         bootstrap: work also with 4-argument variant of AC_INIT
52770         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52771
52772 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52773
52774         Port test-getaddrinfo to Solaris.
52775         Problem reported by Bruno Haible in
52776         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52777         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52778         explanation of setting 'hints'.
52779         Don't reject an implementation merely because it returns EAI_SERVICE.
52780         (EAI_SERVICE): Define to 0 if not defined.
52781
52782 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52783
52784         The license of gnu-make and posix-shell is now "GPLed build tool".
52785         * modules/gnu-make (License): Likewise.
52786         * modules/posix-shell (License): Likewise.
52787
52788         New module posix-shell, for determining a POSIX shell
52789         or perhaps something that is close enough to a POSIX shell.
52790         * m4/posix-shell.m4: New file.
52791         * modules/posix-shell: New file.
52792
52793         * MODULES.html.sh: Mention new module.
52794
52795         New module gnu-make, for determining whether we're using GNU Make.
52796         * m4/gnu-make.m4: New file.
52797         * modules/gnu-make: New file.
52798         * MODULES.html.sh: Mention new module.
52799
52800 2007-11-14  Jim Meyering  <meyering@redhat.com>
52801
52802         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52803         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52804         use this macro to create a function _definition_.
52805         Remove useless "#undef ARGMATCH_DIE".
52806
52807 2007-11-14  Bruno Haible  <bruno@clisp.org>
52808
52809         * lib/config.charset: Update for OpenBSD 4.1.
52810         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52811
52812 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52813
52814         Document 64-bit #if problems in stdint.texi.
52815         * doc/headers/stdint.texi (stdint.h): Mention problems with
52816         64-bit-#if, and how to work around them.
52817
52818         Don't insist on 'long long int' support in the preprocessor.  It
52819         breaks too many things.  For example, PRIdMAX still uses a 'long
52820         long int' format with the latest Sun compiler, even though
52821         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52822         preprocessor problem.  This causes the latest coreutils to dump
52823         core on Solaris 10 sparc with the Sun C compiler.
52824         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52825         the troublesome expressions at configure-time, not at #if-time.
52826         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52827         preprocessor.
52828         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52829         compile-time C checks, done at 'configure'-time.
52830         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52831         * modules/inttypes (Makefile): Substitute the new symbols that
52832         gl_INTTYPES_H now generates.
52833         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52834
52835 2007-11-12  Bruno Haible  <bruno@clisp.org>
52836
52837         Tests for Unicode character classification functions.
52838
52839         * modules/unictype/bidicategory-byname-tests: New file.
52840         * modules/unictype/bidicategory-name-tests: New file.
52841         * modules/unictype/bidicategory-of-tests: New file.
52842         * modules/unictype/bidicategory-test-tests: New file.
52843         * modules/unictype/block-list-tests: New file.
52844         * modules/unictype/block-of-tests: New file.
52845         * modules/unictype/block-test-tests: New file.
52846         * modules/unictype/category-C-tests: New file.
52847         * modules/unictype/category-Cc-tests: New file.
52848         * modules/unictype/category-Cf-tests: New file.
52849         * modules/unictype/category-Cn-tests: New file.
52850         * modules/unictype/category-Co-tests: New file.
52851         * modules/unictype/category-Cs-tests: New file.
52852         * modules/unictype/category-L-tests: New file.
52853         * modules/unictype/category-Ll-tests: New file.
52854         * modules/unictype/category-Lm-tests: New file.
52855         * modules/unictype/category-Lo-tests: New file.
52856         * modules/unictype/category-Lt-tests: New file.
52857         * modules/unictype/category-Lu-tests: New file.
52858         * modules/unictype/category-M-tests: New file.
52859         * modules/unictype/category-Mc-tests: New file.
52860         * modules/unictype/category-Me-tests: New file.
52861         * modules/unictype/category-Mn-tests: New file.
52862         * modules/unictype/category-N-tests: New file.
52863         * modules/unictype/category-Nd-tests: New file.
52864         * modules/unictype/category-Nl-tests: New file.
52865         * modules/unictype/category-No-tests: New file.
52866         * modules/unictype/category-P-tests: New file.
52867         * modules/unictype/category-Pc-tests: New file.
52868         * modules/unictype/category-Pd-tests: New file.
52869         * modules/unictype/category-Pe-tests: New file.
52870         * modules/unictype/category-Pf-tests: New file.
52871         * modules/unictype/category-Pi-tests: New file.
52872         * modules/unictype/category-Po-tests: New file.
52873         * modules/unictype/category-Ps-tests: New file.
52874         * modules/unictype/category-S-tests: New file.
52875         * modules/unictype/category-Sc-tests: New file.
52876         * modules/unictype/category-Sk-tests: New file.
52877         * modules/unictype/category-Sm-tests: New file.
52878         * modules/unictype/category-So-tests: New file.
52879         * modules/unictype/category-Z-tests: New file.
52880         * modules/unictype/category-Zl-tests: New file.
52881         * modules/unictype/category-Zp-tests: New file.
52882         * modules/unictype/category-Zs-tests: New file.
52883         * modules/unictype/category-and-not-tests: New file.
52884         * modules/unictype/category-and-tests: New file.
52885         * modules/unictype/category-byname-tests: New file.
52886         * modules/unictype/category-name-tests: New file.
52887         * modules/unictype/category-none-tests: New file.
52888         * modules/unictype/category-of-tests: New file.
52889         * modules/unictype/category-or-tests: New file.
52890         * modules/unictype/category-test-withtable-tests: New file.
52891         * modules/unictype/combining-class-tests: New file.
52892         * modules/unictype/ctype-alnum-tests: New file.
52893         * modules/unictype/ctype-alpha-tests: New file.
52894         * modules/unictype/ctype-blank-tests: New file.
52895         * modules/unictype/ctype-cntrl-tests: New file.
52896         * modules/unictype/ctype-digit-tests: New file.
52897         * modules/unictype/ctype-graph-tests: New file.
52898         * modules/unictype/ctype-lower-tests: New file.
52899         * modules/unictype/ctype-print-tests: New file.
52900         * modules/unictype/ctype-punct-tests: New file.
52901         * modules/unictype/ctype-space-tests: New file.
52902         * modules/unictype/ctype-upper-tests: New file.
52903         * modules/unictype/ctype-xdigit-tests: New file.
52904         * modules/unictype/decimal-digit-tests: New file.
52905         * modules/unictype/digit-tests: New file.
52906         * modules/unictype/mirror-tests: New file.
52907         * modules/unictype/numeric-tests: New file.
52908         * modules/unictype/property-alphabetic-tests: New file.
52909         * modules/unictype/property-ascii-hex-digit-tests: New file.
52910         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52911         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52912         * modules/unictype/property-bidi-block-separator-tests: New file.
52913         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52914         * modules/unictype/property-bidi-common-separator-tests: New file.
52915         * modules/unictype/property-bidi-control-tests: New file.
52916         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52917         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52918         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52919         * modules/unictype/property-bidi-european-digit-tests: New file.
52920         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52921         * modules/unictype/property-bidi-left-to-right-tests: New file.
52922         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52923         * modules/unictype/property-bidi-other-neutral-tests: New file.
52924         * modules/unictype/property-bidi-pdf-tests: New file.
52925         * modules/unictype/property-bidi-segment-separator-tests: New file.
52926         * modules/unictype/property-bidi-whitespace-tests: New file.
52927         * modules/unictype/property-byname-tests: New file.
52928         * modules/unictype/property-combining-tests: New file.
52929         * modules/unictype/property-composite-tests: New file.
52930         * modules/unictype/property-currency-symbol-tests: New file.
52931         * modules/unictype/property-dash-tests: New file.
52932         * modules/unictype/property-decimal-digit-tests: New file.
52933         * modules/unictype/property-default-ignorable-code-point-tests: New file.
52934         * modules/unictype/property-deprecated-tests: New file.
52935         * modules/unictype/property-diacritic-tests: New file.
52936         * modules/unictype/property-extender-tests: New file.
52937         * modules/unictype/property-format-control-tests: New file.
52938         * modules/unictype/property-grapheme-base-tests: New file.
52939         * modules/unictype/property-grapheme-extend-tests: New file.
52940         * modules/unictype/property-grapheme-link-tests: New file.
52941         * modules/unictype/property-hex-digit-tests: New file.
52942         * modules/unictype/property-hyphen-tests: New file.
52943         * modules/unictype/property-id-continue-tests: New file.
52944         * modules/unictype/property-id-start-tests: New file.
52945         * modules/unictype/property-ideographic-tests: New file.
52946         * modules/unictype/property-ids-binary-operator-tests: New file.
52947         * modules/unictype/property-ids-trinary-operator-tests: New file.
52948         * modules/unictype/property-ignorable-control-tests: New file.
52949         * modules/unictype/property-iso-control-tests: New file.
52950         * modules/unictype/property-join-control-tests: New file.
52951         * modules/unictype/property-left-of-pair-tests: New file.
52952         * modules/unictype/property-line-separator-tests: New file.
52953         * modules/unictype/property-logical-order-exception-tests: New file.
52954         * modules/unictype/property-lowercase-tests: New file.
52955         * modules/unictype/property-math-tests: New file.
52956         * modules/unictype/property-non-break-tests: New file.
52957         * modules/unictype/property-not-a-character-tests: New file.
52958         * modules/unictype/property-numeric-tests: New file.
52959         * modules/unictype/property-other-alphabetic-tests: New file.
52960         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
52961         * modules/unictype/property-other-grapheme-extend-tests: New file.
52962         * modules/unictype/property-other-id-continue-tests: New file.
52963         * modules/unictype/property-other-id-start-tests: New file.
52964         * modules/unictype/property-other-lowercase-tests: New file.
52965         * modules/unictype/property-other-math-tests: New file.
52966         * modules/unictype/property-other-uppercase-tests: New file.
52967         * modules/unictype/property-paired-punctuation-tests: New file.
52968         * modules/unictype/property-paragraph-separator-tests: New file.
52969         * modules/unictype/property-pattern-syntax-tests: New file.
52970         * modules/unictype/property-pattern-white-space-tests: New file.
52971         * modules/unictype/property-private-use-tests: New file.
52972         * modules/unictype/property-punctuation-tests: New file.
52973         * modules/unictype/property-quotation-mark-tests: New file.
52974         * modules/unictype/property-radical-tests: New file.
52975         * modules/unictype/property-sentence-terminal-tests: New file.
52976         * modules/unictype/property-soft-dotted-tests: New file.
52977         * modules/unictype/property-space-tests: New file.
52978         * modules/unictype/property-terminal-punctuation-tests: New file.
52979         * modules/unictype/property-test-tests: New file.
52980         * modules/unictype/property-titlecase-tests: New file.
52981         * modules/unictype/property-unassigned-code-value-tests: New file.
52982         * modules/unictype/property-unified-ideograph-tests: New file.
52983         * modules/unictype/property-uppercase-tests: New file.
52984         * modules/unictype/property-variation-selector-tests: New file.
52985         * modules/unictype/property-white-space-tests: New file.
52986         * modules/unictype/property-xid-continue-tests: New file.
52987         * modules/unictype/property-xid-start-tests: New file.
52988         * modules/unictype/property-zero-width-tests: New file.
52989         * modules/unictype/scripts-tests: New file.
52990         * modules/unictype/syntax-c-ident-tests: New file.
52991         * modules/unictype/syntax-c-whitespace-tests: New file.
52992         * modules/unictype/syntax-java-ident-tests: New file.
52993         * modules/unictype/syntax-java-whitespace-tests: New file.
52994         * tests/unictype/test-bidi_byname.c: New file.
52995         * tests/unictype/test-bidi_name.c: New file.
52996         * tests/unictype/test-bidi_of.c: New file.
52997         * tests/unictype/test-bidi_test.c: New file.
52998         * tests/unictype/test-block_list.c: New file.
52999         * tests/unictype/test-block_of.c: New file.
53000         * tests/unictype/test-block_test.c: New file.
53001         * tests/unictype/test-categ_and.c: New file.
53002         * tests/unictype/test-categ_and_not.c: New file.
53003         * tests/unictype/test-categ_byname.c: New file.
53004         * tests/unictype/test-categ_name.c: New file.
53005         * tests/unictype/test-categ_none.c: New file.
53006         * tests/unictype/test-categ_of.c: New file.
53007         * tests/unictype/test-categ_or.c: New file.
53008         * tests/unictype/test-categ_test_withtable.c: New file.
53009         * tests/unictype/test-combining.c: New file.
53010         * tests/unictype/test-decdigit.c: New file.
53011         * tests/unictype/test-digit.c: New file.
53012         * tests/unictype/test-mirror.c: New file.
53013         * tests/unictype/test-numeric.c: New file.
53014         * tests/unictype/test-pr_byname.c: New file.
53015         * tests/unictype/test-pr_test.c: New file.
53016         * tests/unictype/test-predicate-part1.h: New file.
53017         * tests/unictype/test-predicate-part2.h: New file.
53018         * tests/unictype/test-scripts.c: New file.
53019         * tests/unictype/test-sy_c_ident.c: New file.
53020         * tests/unictype/test-sy_java_ident.c: New file.
53021
53022         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53023         for Unicode 5.0.0.
53024         * tests/unictype/test-categ_Cc.c: Likewise.
53025         * tests/unictype/test-categ_Cf.c: Likewise.
53026         * tests/unictype/test-categ_Cn.c: Likewise.
53027         * tests/unictype/test-categ_Co.c: Likewise.
53028         * tests/unictype/test-categ_Cs.c: Likewise.
53029         * tests/unictype/test-categ_L.c: Likewise.
53030         * tests/unictype/test-categ_Ll.c: Likewise.
53031         * tests/unictype/test-categ_Lm.c: Likewise.
53032         * tests/unictype/test-categ_Lo.c: Likewise.
53033         * tests/unictype/test-categ_Lt.c: Likewise.
53034         * tests/unictype/test-categ_Lu.c: Likewise.
53035         * tests/unictype/test-categ_M.c: Likewise.
53036         * tests/unictype/test-categ_Mc.c: Likewise.
53037         * tests/unictype/test-categ_Me.c: Likewise.
53038         * tests/unictype/test-categ_Mn.c: Likewise.
53039         * tests/unictype/test-categ_N.c: Likewise.
53040         * tests/unictype/test-categ_Nd.c: Likewise.
53041         * tests/unictype/test-categ_Nl.c: Likewise.
53042         * tests/unictype/test-categ_No.c: Likewise.
53043         * tests/unictype/test-categ_P.c: Likewise.
53044         * tests/unictype/test-categ_Pc.c: Likewise.
53045         * tests/unictype/test-categ_Pd.c: Likewise.
53046         * tests/unictype/test-categ_Pe.c: Likewise.
53047         * tests/unictype/test-categ_Pf.c: Likewise.
53048         * tests/unictype/test-categ_Pi.c: Likewise.
53049         * tests/unictype/test-categ_Po.c: Likewise.
53050         * tests/unictype/test-categ_Ps.c: Likewise.
53051         * tests/unictype/test-categ_S.c: Likewise.
53052         * tests/unictype/test-categ_Sc.c: Likewise.
53053         * tests/unictype/test-categ_Sk.c: Likewise.
53054         * tests/unictype/test-categ_Sm.c: Likewise.
53055         * tests/unictype/test-categ_So.c: Likewise.
53056         * tests/unictype/test-categ_Z.c: Likewise.
53057         * tests/unictype/test-categ_Zl.c: Likewise.
53058         * tests/unictype/test-categ_Zp.c: Likewise.
53059         * tests/unictype/test-categ_Zs.c: Likewise.
53060         * tests/unictype/test-ctype_alnum.c: Likewise.
53061         * tests/unictype/test-ctype_alpha.c: Likewise.
53062         * tests/unictype/test-ctype_blank.c: Likewise.
53063         * tests/unictype/test-ctype_cntrl.c: Likewise.
53064         * tests/unictype/test-ctype_digit.c: Likewise.
53065         * tests/unictype/test-ctype_graph.c: Likewise.
53066         * tests/unictype/test-ctype_lower.c: Likewise.
53067         * tests/unictype/test-ctype_print.c: Likewise.
53068         * tests/unictype/test-ctype_punct.c: Likewise.
53069         * tests/unictype/test-ctype_space.c: Likewise.
53070         * tests/unictype/test-ctype_upper.c: Likewise.
53071         * tests/unictype/test-ctype_xdigit.c: Likewise.
53072         * tests/unictype/test-decdigit.h: Likewise.
53073         * tests/unictype/test-digit.h: Likewise.
53074         * tests/unictype/test-numeric.h: Likewise.
53075         * tests/unictype/test-pr_alphabetic.c: Likewise.
53076         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53077         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53078         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53079         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53080         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53081         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53082         * tests/unictype/test-pr_bidi_control.c: Likewise.
53083         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53084         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53085         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53086         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53087         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53088         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53089         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53090         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53091         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53092         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53093         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53094         * tests/unictype/test-pr_combining.c: Likewise.
53095         * tests/unictype/test-pr_composite.c: Likewise.
53096         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53097         * tests/unictype/test-pr_dash.c: Likewise.
53098         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53099         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53100         * tests/unictype/test-pr_deprecated.c: Likewise.
53101         * tests/unictype/test-pr_diacritic.c: Likewise.
53102         * tests/unictype/test-pr_extender.c: Likewise.
53103         * tests/unictype/test-pr_format_control.c: Likewise.
53104         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53105         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53106         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53107         * tests/unictype/test-pr_hex_digit.c: Likewise.
53108         * tests/unictype/test-pr_hyphen.c: Likewise.
53109         * tests/unictype/test-pr_id_continue.c: Likewise.
53110         * tests/unictype/test-pr_id_start.c: Likewise.
53111         * tests/unictype/test-pr_ideographic.c: Likewise.
53112         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53113         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53114         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53115         * tests/unictype/test-pr_iso_control.c: Likewise.
53116         * tests/unictype/test-pr_join_control.c: Likewise.
53117         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53118         * tests/unictype/test-pr_line_separator.c: Likewise.
53119         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53120         * tests/unictype/test-pr_lowercase.c: Likewise.
53121         * tests/unictype/test-pr_math.c: Likewise.
53122         * tests/unictype/test-pr_non_break.c: Likewise.
53123         * tests/unictype/test-pr_not_a_character.c: Likewise.
53124         * tests/unictype/test-pr_numeric.c: Likewise.
53125         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53126         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53127         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53128         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53129         * tests/unictype/test-pr_other_id_start.c: Likewise.
53130         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53131         * tests/unictype/test-pr_other_math.c: Likewise.
53132         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53133         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53134         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53135         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53136         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53137         * tests/unictype/test-pr_private_use.c: Likewise.
53138         * tests/unictype/test-pr_punctuation.c: Likewise.
53139         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53140         * tests/unictype/test-pr_radical.c: Likewise.
53141         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53142         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53143         * tests/unictype/test-pr_space.c: Likewise.
53144         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53145         * tests/unictype/test-pr_titlecase.c: Likewise.
53146         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53147         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53148         * tests/unictype/test-pr_uppercase.c: Likewise.
53149         * tests/unictype/test-pr_variation_selector.c: Likewise.
53150         * tests/unictype/test-pr_white_space.c: Likewise.
53151         * tests/unictype/test-pr_xid_continue.c: Likewise.
53152         * tests/unictype/test-pr_xid_start.c: Likewise.
53153         * tests/unictype/test-pr_zero_width.c: Likewise.
53154         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53155         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53156
53157 2007-11-12  Bruno Haible  <bruno@clisp.org>
53158
53159         Unicode character classification functions.
53160         * lib/unictype.h: New file.
53161         * modules/unictype/base: New file.
53162         * modules/unictype/category-L: New file.
53163         * modules/unictype/category-Lu: New file.
53164         * modules/unictype/category-Ll: New file.
53165         * modules/unictype/category-Lt: New file.
53166         * modules/unictype/category-Lm: New file.
53167         * modules/unictype/category-Lo: New file.
53168         * modules/unictype/category-M: New file.
53169         * modules/unictype/category-Mn: New file.
53170         * modules/unictype/category-Mc: New file.
53171         * modules/unictype/category-Me: New file.
53172         * modules/unictype/category-N: New file.
53173         * modules/unictype/category-Nd: New file.
53174         * modules/unictype/category-Nl: New file.
53175         * modules/unictype/category-No: New file.
53176         * modules/unictype/category-P: New file.
53177         * modules/unictype/category-Pc: New file.
53178         * modules/unictype/category-Pd: New file.
53179         * modules/unictype/category-Ps: New file.
53180         * modules/unictype/category-Pe: New file.
53181         * modules/unictype/category-Pi: New file.
53182         * modules/unictype/category-Pf: New file.
53183         * modules/unictype/category-Po: New file.
53184         * modules/unictype/category-S: New file.
53185         * modules/unictype/category-Sm: New file.
53186         * modules/unictype/category-Sc: New file.
53187         * modules/unictype/category-Sk: New file.
53188         * modules/unictype/category-So: New file.
53189         * modules/unictype/category-Z: New file.
53190         * modules/unictype/category-Zs: New file.
53191         * modules/unictype/category-Zl: New file.
53192         * modules/unictype/category-Zp: New file.
53193         * modules/unictype/category-C: New file.
53194         * modules/unictype/category-Cc: New file.
53195         * modules/unictype/category-Cf: New file.
53196         * modules/unictype/category-Cs: New file.
53197         * modules/unictype/category-Co: New file.
53198         * modules/unictype/category-Cn: New file.
53199         * modules/unictype/category-or: New file.
53200         * modules/unictype/category-of: New file.
53201         * modules/unictype/category-test: New file.
53202         * modules/unictype/category-test-withtable: New file.
53203         * modules/unictype/category-byname: New file.
53204         * modules/unictype/category-none: New file.
53205         * modules/unictype/category-and: New file.
53206         * modules/unictype/category-and-not: New file.
53207         * modules/unictype/category-name: New file.
53208         * modules/unictype/combining-class: New file.
53209         * modules/unictype/category-all: New file.
53210         * modules/unictype/bidicategory-all: New file.
53211         * modules/unictype/bidicategory-byname: New file.
53212         * modules/unictype/bidicategory-name: New file.
53213         * modules/unictype/bidicategory-of: New file.
53214         * modules/unictype/bidicategory-test: New file.
53215         * modules/unictype/decimal-digit: New file.
53216         * modules/unictype/digit: New file.
53217         * modules/unictype/numeric: New file.
53218         * modules/unictype/mirror: New file.
53219         * modules/unictype/property-white-space: New file.
53220         * modules/unictype/property-alphabetic: New file.
53221         * modules/unictype/property-other-alphabetic: New file.
53222         * modules/unictype/property-not-a-character: New file.
53223         * modules/unictype/property-default-ignorable-code-point: New file.
53224         * modules/unictype/property-other-default-ignorable-code-point: New
53225         file.
53226         * modules/unictype/property-deprecated: New file.
53227         * modules/unictype/property-logical-order-exception: New file.
53228         * modules/unictype/property-variation-selector: New file.
53229         * modules/unictype/property-private-use: New file.
53230         * modules/unictype/property-unassigned-code-value: New file.
53231         * modules/unictype/property-uppercase: New file.
53232         * modules/unictype/property-other-uppercase: New file.
53233         * modules/unictype/property-lowercase: New file.
53234         * modules/unictype/property-other-lowercase: New file.
53235         * modules/unictype/property-titlecase: New file.
53236         * modules/unictype/property-soft-dotted: New file.
53237         * modules/unictype/property-id-start: New file.
53238         * modules/unictype/property-other-id-start: New file.
53239         * modules/unictype/property-id-continue: New file.
53240         * modules/unictype/property-other-id-continue: New file.
53241         * modules/unictype/property-xid-start: New file.
53242         * modules/unictype/property-xid-continue: New file.
53243         * modules/unictype/property-pattern-white-space: New file.
53244         * modules/unictype/property-pattern-syntax: New file.
53245         * modules/unictype/property-join-control: New file.
53246         * modules/unictype/property-grapheme-base: New file.
53247         * modules/unictype/property-grapheme-extend: New file.
53248         * modules/unictype/property-other-grapheme-extend: New file.
53249         * modules/unictype/property-grapheme-link: New file.
53250         * modules/unictype/property-bidi-control: New file.
53251         * modules/unictype/property-bidi-left-to-right: New file.
53252         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53253         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53254         * modules/unictype/property-bidi-european-digit: New file.
53255         * modules/unictype/property-bidi-eur-num-separator: New file.
53256         * modules/unictype/property-bidi-eur-num-terminator: New file.
53257         * modules/unictype/property-bidi-arabic-digit: New file.
53258         * modules/unictype/property-bidi-common-separator: New file.
53259         * modules/unictype/property-bidi-block-separator: New file.
53260         * modules/unictype/property-bidi-segment-separator: New file.
53261         * modules/unictype/property-bidi-whitespace: New file.
53262         * modules/unictype/property-bidi-non-spacing-mark: New file.
53263         * modules/unictype/property-bidi-boundary-neutral: New file.
53264         * modules/unictype/property-bidi-pdf: New file.
53265         * modules/unictype/property-bidi-embedding-or-override: New file.
53266         * modules/unictype/property-bidi-other-neutral: New file.
53267         * modules/unictype/property-hex-digit: New file.
53268         * modules/unictype/property-ascii-hex-digit: New file.
53269         * modules/unictype/property-ideographic: New file.
53270         * modules/unictype/property-unified-ideograph: New file.
53271         * modules/unictype/property-radical: New file.
53272         * modules/unictype/property-ids-binary-operator: New file.
53273         * modules/unictype/property-ids-trinary-operator: New file.
53274         * modules/unictype/property-zero-width: New file.
53275         * modules/unictype/property-space: New file.
53276         * modules/unictype/property-non-break: New file.
53277         * modules/unictype/property-iso-control: New file.
53278         * modules/unictype/property-format-control: New file.
53279         * modules/unictype/property-dash: New file.
53280         * modules/unictype/property-hyphen: New file.
53281         * modules/unictype/property-punctuation: New file.
53282         * modules/unictype/property-line-separator: New file.
53283         * modules/unictype/property-paragraph-separator: New file.
53284         * modules/unictype/property-quotation-mark: New file.
53285         * modules/unictype/property-sentence-terminal: New file.
53286         * modules/unictype/property-terminal-punctuation: New file.
53287         * modules/unictype/property-currency-symbol: New file.
53288         * modules/unictype/property-math: New file.
53289         * modules/unictype/property-other-math: New file.
53290         * modules/unictype/property-paired-punctuation: New file.
53291         * modules/unictype/property-left-of-pair: New file.
53292         * modules/unictype/property-combining: New file.
53293         * modules/unictype/property-composite: New file.
53294         * modules/unictype/property-decimal-digit: New file.
53295         * modules/unictype/property-numeric: New file.
53296         * modules/unictype/property-diacritic: New file.
53297         * modules/unictype/property-extender: New file.
53298         * modules/unictype/property-ignorable-control: New file.
53299         * modules/unictype/property-test: New file.
53300         * modules/unictype/property-byname: New file.
53301         * modules/unictype/property-all: New file.
53302         * modules/unictype/scripts: New file.
53303         * modules/unictype/scripts-all: New file.
53304         * modules/unictype/block-of: New file.
53305         * modules/unictype/block-test: New file.
53306         * modules/unictype/block-list: New file.
53307         * modules/unictype/block-all: New file.
53308         * modules/unictype/syntax-c-whitespace: New file.
53309         * modules/unictype/syntax-java-whitespace: New file.
53310         * modules/unictype/syntax-c-ident: New file.
53311         * modules/unictype/syntax-java-ident: New file.
53312         * modules/unictype/ctype-alnum: New file.
53313         * modules/unictype/ctype-alpha: New file.
53314         * modules/unictype/ctype-cntrl: New file.
53315         * modules/unictype/ctype-digit: New file.
53316         * modules/unictype/ctype-graph: New file.
53317         * modules/unictype/ctype-lower: New file.
53318         * modules/unictype/ctype-print: New file.
53319         * modules/unictype/ctype-punct: New file.
53320         * modules/unictype/ctype-space: New file.
53321         * modules/unictype/ctype-upper: New file.
53322         * modules/unictype/ctype-xdigit: New file.
53323         * modules/unictype/ctype-blank: New file.
53324         * lib/unictype/bidi_byname.c: New file.
53325         * lib/unictype/bidi_name.c: New file.
53326         * lib/unictype/bidi_of.c: New file.
53327         * lib/unictype/bidi_test.c: New file.
53328         * lib/unictype/bitmap.h: New file.
53329         * lib/unictype/block_test.c: New file.
53330         * lib/unictype/blocks.c: New file.
53331         * lib/unictype/categ_C.c: New file.
53332         * lib/unictype/categ_Cc.c: New file.
53333         * lib/unictype/categ_Cf.c: New file.
53334         * lib/unictype/categ_Cn.c: New file.
53335         * lib/unictype/categ_Co.c: New file.
53336         * lib/unictype/categ_Cs.c: New file.
53337         * lib/unictype/categ_L.c: New file.
53338         * lib/unictype/categ_Ll.c: New file.
53339         * lib/unictype/categ_Lm.c: New file.
53340         * lib/unictype/categ_Lo.c: New file.
53341         * lib/unictype/categ_Lt.c: New file.
53342         * lib/unictype/categ_Lu.c: New file.
53343         * lib/unictype/categ_M.c: New file.
53344         * lib/unictype/categ_Mc.c: New file.
53345         * lib/unictype/categ_Me.c: New file.
53346         * lib/unictype/categ_Mn.c: New file.
53347         * lib/unictype/categ_N.c: New file.
53348         * lib/unictype/categ_Nd.c: New file.
53349         * lib/unictype/categ_Nl.c: New file.
53350         * lib/unictype/categ_No.c: New file.
53351         * lib/unictype/categ_P.c: New file.
53352         * lib/unictype/categ_Pc.c: New file.
53353         * lib/unictype/categ_Pd.c: New file.
53354         * lib/unictype/categ_Pe.c: New file.
53355         * lib/unictype/categ_Pf.c: New file.
53356         * lib/unictype/categ_Pi.c: New file.
53357         * lib/unictype/categ_Po.c: New file.
53358         * lib/unictype/categ_Ps.c: New file.
53359         * lib/unictype/categ_S.c: New file.
53360         * lib/unictype/categ_Sc.c: New file.
53361         * lib/unictype/categ_Sk.c: New file.
53362         * lib/unictype/categ_Sm.c: New file.
53363         * lib/unictype/categ_So.c: New file.
53364         * lib/unictype/categ_Z.c: New file.
53365         * lib/unictype/categ_Zl.c: New file.
53366         * lib/unictype/categ_Zp.c: New file.
53367         * lib/unictype/categ_Zs.c: New file.
53368         * lib/unictype/categ_and.c: New file.
53369         * lib/unictype/categ_and_not.c: New file.
53370         * lib/unictype/categ_byname.c: New file.
53371         * lib/unictype/categ_name.c: New file.
53372         * lib/unictype/categ_none.c: New file.
53373         * lib/unictype/categ_of.c: New file.
53374         * lib/unictype/categ_or.c: New file.
53375         * lib/unictype/categ_test.c: New file.
53376         * lib/unictype/combining.c: New file.
53377         * lib/unictype/ctype_alnum.c: New file.
53378         * lib/unictype/ctype_alpha.c: New file.
53379         * lib/unictype/ctype_blank.c: New file.
53380         * lib/unictype/ctype_cntrl.c: New file.
53381         * lib/unictype/ctype_digit.c: New file.
53382         * lib/unictype/ctype_graph.c: New file.
53383         * lib/unictype/ctype_lower.c: New file.
53384         * lib/unictype/ctype_print.c: New file.
53385         * lib/unictype/ctype_punct.c: New file.
53386         * lib/unictype/ctype_space.c: New file.
53387         * lib/unictype/ctype_upper.c: New file.
53388         * lib/unictype/ctype_xdigit.c: New file.
53389         * lib/unictype/decdigit.c: New file.
53390         * lib/unictype/digit.c: New file.
53391         * lib/unictype/identsyntaxmap.h: New file.
53392         * lib/unictype/mirror.c: New file.
53393         * lib/unictype/numeric.c: New file.
53394         * lib/unictype/pr_alphabetic.c: New file.
53395         * lib/unictype/pr_ascii_hex_digit.c: New file.
53396         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53397         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53398         * lib/unictype/pr_bidi_block_separator.c: New file.
53399         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53400         * lib/unictype/pr_bidi_common_separator.c: New file.
53401         * lib/unictype/pr_bidi_control.c: New file.
53402         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53403         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53404         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53405         * lib/unictype/pr_bidi_european_digit.c: New file.
53406         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53407         * lib/unictype/pr_bidi_left_to_right.c: New file.
53408         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53409         * lib/unictype/pr_bidi_other_neutral.c: New file.
53410         * lib/unictype/pr_bidi_pdf.c: New file.
53411         * lib/unictype/pr_bidi_segment_separator.c: New file.
53412         * lib/unictype/pr_bidi_whitespace.c: New file.
53413         * lib/unictype/pr_byname.c: New file.
53414         * lib/unictype/pr_byname.gperf: New file.
53415         * lib/unictype/pr_combining.c: New file.
53416         * lib/unictype/pr_composite.c: New file.
53417         * lib/unictype/pr_currency_symbol.c: New file.
53418         * lib/unictype/pr_dash.c: New file.
53419         * lib/unictype/pr_decimal_digit.c: New file.
53420         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53421         * lib/unictype/pr_deprecated.c: New file.
53422         * lib/unictype/pr_diacritic.c: New file.
53423         * lib/unictype/pr_extender.c: New file.
53424         * lib/unictype/pr_format_control.c: New file.
53425         * lib/unictype/pr_grapheme_base.c: New file.
53426         * lib/unictype/pr_grapheme_extend.c: New file.
53427         * lib/unictype/pr_grapheme_link.c: New file.
53428         * lib/unictype/pr_hex_digit.c: New file.
53429         * lib/unictype/pr_hyphen.c: New file.
53430         * lib/unictype/pr_id_continue.c: New file.
53431         * lib/unictype/pr_id_start.c: New file.
53432         * lib/unictype/pr_ideographic.c: New file.
53433         * lib/unictype/pr_ids_binary_operator.c: New file.
53434         * lib/unictype/pr_ids_trinary_operator.c: New file.
53435         * lib/unictype/pr_ignorable_control.c: New file.
53436         * lib/unictype/pr_iso_control.c: New file.
53437         * lib/unictype/pr_join_control.c: New file.
53438         * lib/unictype/pr_left_of_pair.c: New file.
53439         * lib/unictype/pr_line_separator.c: New file.
53440         * lib/unictype/pr_logical_order_exception.c: New file.
53441         * lib/unictype/pr_lowercase.c: New file.
53442         * lib/unictype/pr_math.c: New file.
53443         * lib/unictype/pr_non_break.c: New file.
53444         * lib/unictype/pr_not_a_character.c: New file.
53445         * lib/unictype/pr_numeric.c: New file.
53446         * lib/unictype/pr_other_alphabetic.c: New file.
53447         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53448         * lib/unictype/pr_other_grapheme_extend.c: New file.
53449         * lib/unictype/pr_other_id_continue.c: New file.
53450         * lib/unictype/pr_other_id_start.c: New file.
53451         * lib/unictype/pr_other_lowercase.c: New file.
53452         * lib/unictype/pr_other_math.c: New file.
53453         * lib/unictype/pr_other_uppercase.c: New file.
53454         * lib/unictype/pr_paired_punctuation.c: New file.
53455         * lib/unictype/pr_paragraph_separator.c: New file.
53456         * lib/unictype/pr_pattern_syntax.c: New file.
53457         * lib/unictype/pr_pattern_white_space.c: New file.
53458         * lib/unictype/pr_private_use.c: New file.
53459         * lib/unictype/pr_punctuation.c: New file.
53460         * lib/unictype/pr_quotation_mark.c: New file.
53461         * lib/unictype/pr_radical.c: New file.
53462         * lib/unictype/pr_sentence_terminal.c: New file.
53463         * lib/unictype/pr_soft_dotted.c: New file.
53464         * lib/unictype/pr_space.c: New file.
53465         * lib/unictype/pr_terminal_punctuation.c: New file.
53466         * lib/unictype/pr_test.c: New file.
53467         * lib/unictype/pr_titlecase.c: New file.
53468         * lib/unictype/pr_unassigned_code_value.c: New file.
53469         * lib/unictype/pr_unified_ideograph.c: New file.
53470         * lib/unictype/pr_uppercase.c: New file.
53471         * lib/unictype/pr_variation_selector.c: New file.
53472         * lib/unictype/pr_white_space.c: New file.
53473         * lib/unictype/pr_xid_continue.c: New file.
53474         * lib/unictype/pr_xid_start.c: New file.
53475         * lib/unictype/pr_zero_width.c: New file.
53476         * lib/unictype/scripts.c: New file.
53477         * lib/unictype/sy_c_ident.c: New file.
53478         * lib/unictype/sy_c_whitespace.c: New file.
53479         * lib/unictype/sy_java_ident.c: New file.
53480         * lib/unictype/sy_java_whitespace.c: New file.
53481
53482         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53483         Unicode 5.0.0.
53484         * lib/unictype/blocks.h: Likewise.
53485         * lib/unictype/categ_C.h: Likewise.
53486         * lib/unictype/categ_Cc.h: Likewise.
53487         * lib/unictype/categ_Cf.h: Likewise.
53488         * lib/unictype/categ_Cn.h: Likewise.
53489         * lib/unictype/categ_Co.h: Likewise.
53490         * lib/unictype/categ_Cs.h: Likewise.
53491         * lib/unictype/categ_L.h: Likewise.
53492         * lib/unictype/categ_Ll.h: Likewise.
53493         * lib/unictype/categ_Lm.h: Likewise.
53494         * lib/unictype/categ_Lo.h: Likewise.
53495         * lib/unictype/categ_Lt.h: Likewise.
53496         * lib/unictype/categ_Lu.h: Likewise.
53497         * lib/unictype/categ_M.h: Likewise.
53498         * lib/unictype/categ_Mc.h: Likewise.
53499         * lib/unictype/categ_Me.h: Likewise.
53500         * lib/unictype/categ_Mn.h: Likewise.
53501         * lib/unictype/categ_N.h: Likewise.
53502         * lib/unictype/categ_Nd.h: Likewise.
53503         * lib/unictype/categ_Nl.h: Likewise.
53504         * lib/unictype/categ_No.h: Likewise.
53505         * lib/unictype/categ_P.h: Likewise.
53506         * lib/unictype/categ_Pc.h: Likewise.
53507         * lib/unictype/categ_Pd.h: Likewise.
53508         * lib/unictype/categ_Pe.h: Likewise.
53509         * lib/unictype/categ_Pf.h: Likewise.
53510         * lib/unictype/categ_Pi.h: Likewise.
53511         * lib/unictype/categ_Po.h: Likewise.
53512         * lib/unictype/categ_Ps.h: Likewise.
53513         * lib/unictype/categ_S.h: Likewise.
53514         * lib/unictype/categ_Sc.h: Likewise.
53515         * lib/unictype/categ_Sk.h: Likewise.
53516         * lib/unictype/categ_Sm.h: Likewise.
53517         * lib/unictype/categ_So.h: Likewise.
53518         * lib/unictype/categ_Z.h: Likewise.
53519         * lib/unictype/categ_Zl.h: Likewise.
53520         * lib/unictype/categ_Zp.h: Likewise.
53521         * lib/unictype/categ_Zs.h: Likewise.
53522         * lib/unictype/categ_of.h: Likewise.
53523         * lib/unictype/combining.h: Likewise.
53524         * lib/unictype/ctype_alnum.h: Likewise.
53525         * lib/unictype/ctype_alpha.h: Likewise.
53526         * lib/unictype/ctype_blank.h: Likewise.
53527         * lib/unictype/ctype_cntrl.h: Likewise.
53528         * lib/unictype/ctype_digit.h: Likewise.
53529         * lib/unictype/ctype_graph.h: Likewise.
53530         * lib/unictype/ctype_lower.h: Likewise.
53531         * lib/unictype/ctype_print.h: Likewise.
53532         * lib/unictype/ctype_punct.h: Likewise.
53533         * lib/unictype/ctype_space.h: Likewise.
53534         * lib/unictype/ctype_upper.h: Likewise.
53535         * lib/unictype/ctype_xdigit.h: Likewise.
53536         * lib/unictype/decdigit.h: Likewise.
53537         * lib/unictype/digit.h: Likewise.
53538         * lib/unictype/mirror.h: Likewise.
53539         * lib/unictype/numeric.h: Likewise.
53540         * lib/unictype/pr_alphabetic.h: Likewise.
53541         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53542         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53543         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53544         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53545         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53546         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53547         * lib/unictype/pr_bidi_control.h: Likewise.
53548         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53549         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53550         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53551         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53552         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53553         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53554         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53555         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53556         * lib/unictype/pr_bidi_pdf.h: Likewise.
53557         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53558         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53559         * lib/unictype/pr_combining.h: Likewise.
53560         * lib/unictype/pr_composite.h: Likewise.
53561         * lib/unictype/pr_currency_symbol.h: Likewise.
53562         * lib/unictype/pr_dash.h: Likewise.
53563         * lib/unictype/pr_decimal_digit.h: Likewise.
53564         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53565         * lib/unictype/pr_deprecated.h: Likewise.
53566         * lib/unictype/pr_diacritic.h: Likewise.
53567         * lib/unictype/pr_extender.h: Likewise.
53568         * lib/unictype/pr_format_control.h: Likewise.
53569         * lib/unictype/pr_grapheme_base.h: Likewise.
53570         * lib/unictype/pr_grapheme_extend.h: Likewise.
53571         * lib/unictype/pr_grapheme_link.h: Likewise.
53572         * lib/unictype/pr_hex_digit.h: Likewise.
53573         * lib/unictype/pr_hyphen.h: Likewise.
53574         * lib/unictype/pr_id_continue.h: Likewise.
53575         * lib/unictype/pr_id_start.h: Likewise.
53576         * lib/unictype/pr_ideographic.h: Likewise.
53577         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53578         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53579         * lib/unictype/pr_ignorable_control.h: Likewise.
53580         * lib/unictype/pr_iso_control.h: Likewise.
53581         * lib/unictype/pr_join_control.h: Likewise.
53582         * lib/unictype/pr_left_of_pair.h: Likewise.
53583         * lib/unictype/pr_line_separator.h: Likewise.
53584         * lib/unictype/pr_logical_order_exception.h: Likewise.
53585         * lib/unictype/pr_lowercase.h: Likewise.
53586         * lib/unictype/pr_math.h: Likewise.
53587         * lib/unictype/pr_non_break.h: Likewise.
53588         * lib/unictype/pr_not_a_character.h: Likewise.
53589         * lib/unictype/pr_numeric.h: Likewise.
53590         * lib/unictype/pr_other_alphabetic.h: Likewise.
53591         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53592         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53593         * lib/unictype/pr_other_id_continue.h: Likewise.
53594         * lib/unictype/pr_other_id_start.h: Likewise.
53595         * lib/unictype/pr_other_lowercase.h: Likewise.
53596         * lib/unictype/pr_other_math.h: Likewise.
53597         * lib/unictype/pr_other_uppercase.h: Likewise.
53598         * lib/unictype/pr_paired_punctuation.h: Likewise.
53599         * lib/unictype/pr_paragraph_separator.h: Likewise.
53600         * lib/unictype/pr_pattern_syntax.h: Likewise.
53601         * lib/unictype/pr_pattern_white_space.h: Likewise.
53602         * lib/unictype/pr_private_use.h: Likewise.
53603         * lib/unictype/pr_punctuation.h: Likewise.
53604         * lib/unictype/pr_quotation_mark.h: Likewise.
53605         * lib/unictype/pr_radical.h: Likewise.
53606         * lib/unictype/pr_sentence_terminal.h: Likewise.
53607         * lib/unictype/pr_soft_dotted.h: Likewise.
53608         * lib/unictype/pr_space.h: Likewise.
53609         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53610         * lib/unictype/pr_titlecase.h: Likewise.
53611         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53612         * lib/unictype/pr_unified_ideograph.h: Likewise.
53613         * lib/unictype/pr_uppercase.h: Likewise.
53614         * lib/unictype/pr_variation_selector.h: Likewise.
53615         * lib/unictype/pr_white_space.h: Likewise.
53616         * lib/unictype/pr_xid_continue.h: Likewise.
53617         * lib/unictype/pr_xid_start.h: Likewise.
53618         * lib/unictype/pr_zero_width.h: Likewise.
53619         * lib/unictype/scripts.h: Likewise.
53620         * lib/unictype/scripts_byname.gperf: Likewise.
53621         * lib/unictype/sy_c_ident.h: Likewise.
53622         * lib/unictype/sy_c_whitespace.h: Likewise.
53623         * lib/unictype/sy_java_ident.h: Likewise.
53624         * lib/unictype/sy_java_whitespace.h: Likewise.
53625
53626         * lib/unictype/Makefile: New file.
53627         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53628         glibc.
53629         * lib/unictype/3level.h: New file, copied from glibc.
53630         * lib/unictype/3levelbit.h: New file.
53631
53632 2007-11-11  Bruno Haible  <bruno@clisp.org>
53633
53634         * modules/gperf: New file.
53635         * modules/iconv_open (Depends-on): Add it.
53636         (Makefile.am): Remove the GPERF definition.
53637
53638 2007-11-11  Bruno Haible  <bruno@clisp.org>
53639
53640         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53641         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53642
53643 2007-11-11  Bruno Haible  <bruno@clisp.org>
53644
53645         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53646         (usage): Remove function.
53647
53648 2007-11-11  Bruno Haible  <bruno@clisp.org>
53649
53650         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53651         gl_FUNC_CEILF_LIBS.
53652         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53653         gl_FUNC_CEIL_LIBS.
53654         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53655         gl_FUNC_CEILL_LIBS.
53656         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53657         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53658         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53659
53660 2007-11-11  Bruno Haible  <bruno@clisp.org>
53661
53662         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53663         roundf were declared but do not exist on functions.
53664         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53665         roundl were declared but do not exist on functions.
53666         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53667         HAVE_FLOORL_AND_CEILL, respectively.
53668         Needed for Sun C on Solaris 10.
53669
53670 2007-11-11  Bruno Haible  <bruno@clisp.org>
53671
53672         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53673         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53674         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53675         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53676         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53677         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53678         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53679         HAVE_DECL_ROUNDF.
53680         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53681         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53683         of HAVE_DECL_ROUND*.
53684         * modules/math (Makefile.am): Update.
53685
53686 2007-11-10  Bruno Haible  <bruno@clisp.org>
53687
53688         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53689         ptrdiff_t as m4/intl.m4.
53690
53691 2007-11-10  Jim Meyering  <meyering@redhat.com>
53692
53693         Avoid link failure for the argmatch test.
53694         * tests/test-argmatch.c (usage): Define function to avoid a link
53695         failure: argmatch_die requires a usage function.
53696
53697 2007-11-09  Bruno Haible  <bruno@clisp.org>
53698
53699         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53700         * doc/functions/vsnprintf.texi: Likewise.
53701         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53702         with a size argument < 2.
53703
53704 2007-11-09  Bruno Haible  <bruno@clisp.org>
53705
53706         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53707         buffer. Fixes an inefficiency introduced on 2007-11-03.
53708
53709 2007-11-09  Bruno Haible  <bruno@clisp.org>
53710
53711         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53712         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53713
53714 2007-11-08  Jim Meyering  <meyering@redhat.com>
53715
53716         Change cache variable name prefix "jm_" to "gl_" everywhere.
53717         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53718         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53719         * m4/uptime.m4: s/gl_/jm_/
53720
53721 2007-11-07  Bruno Haible  <bruno@clisp.org>
53722
53723         Update to GNU gettext 0.17.
53724         * m4/intl.m4: Update to GNU gettext 0.17.
53725         * m4/po.m4: Likewise.
53726         * modules/gettext (Files): Remove m4/ulonglong.m4.
53727         (configure.ac): Require gettext infrastructure from version 0.17.
53728
53729 2007-11-06  Bruno Haible  <bruno@clisp.org>
53730
53731         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53732         symbolic values are not defined in a public header.
53733         * lib/freadable.c (freadable) [QNX]: Likewise.
53734         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53735         * lib/freading.c (freading) [QNX]: Likewise.
53736         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53737         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53738         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53739         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53740         Reported by Alain Magloire.
53741
53742         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53743
53744 2007-11-05  Bruno Haible  <bruno@clisp.org>
53745
53746         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53747         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53748         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53749         Reported by Eric Blake.
53750
53751 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53752             Bruno Haible  <bruno@clisp.org>
53753
53754         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53755         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53756         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53757         (malloc): Undefine also before including <stdlib.h>.
53758         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53759         Needed on OSF/1 4.0.
53760
53761 2007-11-05  Jim Meyering  <meyering@redhat.com>
53762
53763         git-version-gen: sync from coreutils.
53764         * build-aux/git-version-gen: Add comments.
53765         Change the first '-' to '.' in the snapshot version string,
53766         e.g., 6.9-377-08144 -> 6.9.377-08144
53767         Remove first parameter.
53768         Don't declare a version "-dirty" merely because a time
53769         stamp has changed.
53770
53771 2007-11-04  Bruno Haible  <bruno@clisp.org>
53772
53773         * lib/lock.h: Protect all macro definitions containing an 'if'
53774         statement through a "do { ... } while (0)".
53775         * lib/tls.h: Likewise.
53776
53777 2007-11-04  Bruno Haible  <bruno@clisp.org>
53778
53779         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53780
53781 2007-11-04  Bruno Haible  <bruno@clisp.org>
53782
53783         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53784         * modules/fprintf-posix (Depends-on): Add nocrash.
53785         * modules/snprintf-posix (Depends-on): Likewise.
53786         * modules/sprintf-posix (Depends-on): Likewise.
53787         * modules/vasnprintf-posix (Depends-on): Likewise.
53788         * modules/vasprintf-posix (Depends-on): Likewise.
53789         * modules/vfprintf-posix (Depends-on): Likewise.
53790         * modules/vsnprintf-posix (Depends-on): Likewise.
53791         * modules/vsprintf-posix (Depends-on): Likewise.
53792         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53793         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53794         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53795         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53796         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53797         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53798         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53799
53800 2007-11-04  Bruno Haible  <bruno@clisp.org>
53801
53802         * modules/nocrash: New file.
53803         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53804         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53805
53806 2007-11-04  Bruno Haible  <bruno@clisp.org>
53807
53808         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53809         precision handling.
53810         * tests/test-vasprintf-posix.c (test_function): Likewise.
53811         * tests/test-snprintf-posix.h (test_function): Likewise.
53812         * tests/test-sprintf-posix.h (test_function): Likewise.
53813
53814         Fix *printf behaviour for large precisions on mingw and BeOS.
53815         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53816         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53817         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53818         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53819         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53820         gl_PRINTF_PRECISION and test its result. Invoke
53821         gl_PREREQ_VASNPRINTF_PRECISION.
53822         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53823         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53824         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53826         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53829         * doc/functions/fprintf.texi: Update.
53830         * doc/functions/printf.texi: Update.
53831         * doc/functions/snprintf.texi: Update.
53832         * doc/functions/sprintf.texi: Update.
53833         * doc/functions/vfprintf.texi: Update.
53834         * doc/functions/vprintf.texi: Update.
53835         * doc/functions/vsnprintf.texi: Update.
53836         * doc/functions/vsprintf.texi: Update.
53837
53838 2007-11-04  Bruno Haible  <bruno@clisp.org>
53839
53840         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53841
53842 2007-11-04  Bruno Haible  <bruno@clisp.org>
53843
53844         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53845         Reported by Sylvain Beucler <beuc@gnu.org>.
53846
53847 2007-11-03  Bruno Haible  <bruno@clisp.org>
53848
53849         * tests/test-fprintf-posix2.sh: New file.
53850         * tests/test-fprintf-posix2.c: New file.
53851         * modules/fprintf-posix-tests (Files): Add them.
53852         (TESTS): Add test-fprintf-posix2.sh.
53853         (configure.ac): Check for getrlimit and setrlimit.
53854         (check_PROGRAMS): Add test-fprintf-posix2.
53855
53856         * tests/test-printf-posix2.sh: New file.
53857         * tests/test-printf-posix2.c: New file.
53858         * modules/printf-posix-tests (Files): Add them.
53859         (TESTS): Add test-printf-posix2.sh.
53860         (configure.ac): Check for getrlimit and setrlimit.
53861         (check_PROGRAMS): Add test-printf-posix2.
53862
53863         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53864         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53865         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53866         (decode_double): New function, copied from decode_long_double.
53867         (scale10_round_decimal_decoded): New function, extracted from
53868         scale10_round_decimal_long_double.
53869         (scale10_round_decimal_long_double): Use it.
53870         (scale10_round_decimal_double): New function.
53871         (floorlog10): New function.
53872         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53874         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53875         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53876         gl_PRINTF_ENOMEM and test its result. Invoke
53877         gl_PREREQ_VASNPRINTF_ENOMEM.
53878         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53879         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53880         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53881         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53882         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53883         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53884         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53885         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53886         * modules/snprintf-posix (Depends-on): Likewise.
53887         * modules/sprintf-posix (Depends-on): Likewise.
53888         * modules/vasnprintf-posix (Depends-on): Likewise.
53889         * modules/vasprintf-posix (Depends-on): Likewise.
53890         * modules/vfprintf-posix (Depends-on): Likewise.
53891         * modules/vsnprintf-posix (Depends-on): Likewise.
53892         * modules/vsprintf-posix (Depends-on): Likewise.
53893         * doc/functions/fprintf.texi: Update.
53894         * doc/functions/printf.texi: Update.
53895         * doc/functions/snprintf.texi: Update.
53896         * doc/functions/sprintf.texi: Update.
53897         * doc/functions/vfprintf.texi: Update.
53898         * doc/functions/vprintf.texi: Update.
53899         * doc/functions/vsnprintf.texi: Update.
53900         * doc/functions/vsprintf.texi: Update.
53901
53902 2007-11-03  Bruno Haible  <bruno@clisp.org>
53903
53904         * modules/frexp-nolibm-tests: New file.
53905
53906         * modules/frexp-nolibm: New file.
53907         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53908
53909 2007-11-03  Bruno Haible  <bruno@clisp.org>
53910
53911         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53912         value is C99 compliant.
53913         Needed for OSF/1 5.1.
53914
53915 2007-11-03  Bruno Haible  <bruno@clisp.org>
53916
53917         Fix out-of-memory handling of vasnprintf.
53918         * lib/printf-parse.c: Include <errno.h>.
53919         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53920         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53921         is already set.
53922
53923 2007-11-02  Eric Blake  <ebb9@byu.net>
53924
53925         Fix tests on cygwin.
53926         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
53927
53928 2007-11-01  Bruno Haible  <bruno@clisp.org>
53929
53930         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
53931         warning.
53932         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
53933         needed for POSIX compatibility.
53934
53935 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
53936
53937         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
53938         for compatibility with GNU.
53939
53940 2007-11-01  Bruno Haible  <bruno@clisp.org>
53941
53942         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
53943         (putenv): Renamed from rpl_putenv. Change argument type from
53944         'const char *' to 'char *'.
53945         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
53946         of defining putenv in config.h, just set REPLACE_PUTENV.
53947         * modules/putenv (Depends-on): Add stdlib.
53948         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53949         (Include): Use <stdlib.h>.
53950         * lib/stdlib.in.h (putenv): New declaration.
53951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
53952         REPLACE_PUTENV.
53953         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
53954         REPLACE_PUTENV.
53955         Needed for MacOS X 10.5.0.
53956         Reported by Peter O'Gorman <peter@pogma.com>.
53957
53958 2007-11-01  Jim Meyering  <meyering@redhat.com>
53959
53960         Treat an empty date string exactly like "0".
53961         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
53962         if the remaining date string (to be parsed) is empty, use "0".
53963         Reported by Mischa Molhoek and discussed in this thread:
53964         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
53965
53966 2007-10-31  Bruno Haible  <bruno@clisp.org>
53967
53968         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
53969         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
53970         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
53971         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
53972         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
53973         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
53974
53975 2007-10-31  Bruno Haible  <bruno@clisp.org>
53976
53977         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
53978         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
53979         (AC_TYPE_LONG_LONG_INT): Use it.
53980         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
53981         it as well.
53982         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
53983         to m4/longlong.m4.
53984         * modules/stdint (Files): Remove m4/ulonglong.m4.
53985         * modules/strtoull (Files): Use m4/longlong.m4 instead of
53986         m4/ulonglong.m4.
53987         * modules/strtoumax (Files): Likewise.
53988
53989 2007-10-30  Bruno Haible  <bruno@clisp.org>
53990
53991         * modules/xvasprintf-posix: New file.
53992         Suggested by Eric Blake.
53993
53994 2007-10-30  Bruno Haible  <bruno@clisp.org>
53995
53996         * modules/xprintf-posix-tests: New file.
53997         * tests/test-xprintf-posix.sh: New file.
53998         * tests/test-xprintf-posix.c: New file.
53999         * tests/test-xfprintf-posix.c: New file.
54000
54001         * modules/xprintf-posix: New file.
54002
54003 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54004
54005         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54006         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54007         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54008
54009 2007-10-29  Bruno Haible  <bruno@clisp.org>
54010
54011         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54012         contain the special marker '_cv_'.
54013         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54014         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54015         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54016         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54017         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54018         Reported by Ralf Wildenhues.
54019
54020 2007-10-29  Bruno Haible  <bruno@clisp.org>
54021
54022         * gnulib-tool (func_import): When --lgpl is not specified, set
54023         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54024         GPLv3.
54025         Reported by Simon Josefsson.
54026
54027 2007-10-28  Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54030         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54031         HAVE_DECL_ISFINITE.
54032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54033         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54034         HAVE_DECL_ISFINITE.
54035
54036 2007-10-28  Bruno Haible  <bruno@clisp.org>
54037
54038         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54039         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54040
54041 2007-10-28  Bruno Haible  <bruno@clisp.org>
54042
54043         Fix link errors with Sun C 5.0 on Solaris 10.
54044         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54045         function is declared but not present in the compiler's libm.
54046         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54047         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54048         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54049         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54050         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54051         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54052         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54054         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54055         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54056         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54057         HAVE_DECL_FLOORL.
54058
54059 2007-10-28  Bruno Haible  <bruno@clisp.org>
54060
54061         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54062         gl_FUNC_FLOORL. Cache the result.
54063         (gl_FUNC_FLOORL): Use it.
54064         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54065         gl_FUNC_CEILL. Cache the result.
54066         (gl_FUNC_CEILL): Use it.
54067
54068         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54069         gl_FUNC_FLOOR. Cache the result.
54070         (gl_FUNC_FLOOR): Use it.
54071         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54072         gl_FUNC_CEIL. Cache the result.
54073         (gl_FUNC_CEIL): Use it.
54074
54075         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54076         gl_FUNC_FLOORF. Cache the result.
54077         (gl_FUNC_FLOORF): Use it.
54078         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54079         gl_FUNC_CEILF. Cache the result.
54080         (gl_FUNC_CEILF): Use it.
54081
54082 2007-10-28  Bruno Haible  <bruno@clisp.org>
54083
54084         * gnulib-tool: Allow specifying the LGPL version number through
54085         --lgpl=2 or --lgpl=3.
54086         (func_usage): Document --lgpl with argument.
54087         Handle --lgpl=... arguments.
54088         (func_import): Recognize also gl_LGPL calls with an argument. When
54089         --lgpl=2 is used and the module's license is just LGPL, report an
54090         error. Set sed_transform_lib_file according to the lgpl variable. In
54091         the generated files, use --lgpl or gl_LGPL invocations with argument,
54092         if necessary.
54093         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54094         an LGPv2+ license.
54095         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54096         gl_LGPL macro.
54097
54098 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54099             Bruno Haible  <bruno@clisp.org>
54100
54101         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54102         (u16_uctomb_aux): Likewise.
54103         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54104         !HAVE_INLINE.
54105         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54106
54107 2007-10-28  Bruno Haible  <bruno@clisp.org>
54108
54109         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54110         Invoke AM_GETTEXT_OPTION if it exists.
54111         * modules/vasprintf: Likewise.
54112         * modules/verror: Likewise.
54113         * modules/xprintf: Likewise.
54114         * modules/xvasprintf: Likewise.
54115
54116 2007-10-27  Ben Pfaff  <blp@gnu.org>
54117
54118         * lib/math.in.h: Define isfinite macro and prototypes for
54119         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54120         implementations.
54121         * m4/math_h.m4: New substitutions for isfinite module.
54122         * lib/isfinite.c: New file.
54123         * m4/isfinite.m4: New file.
54124         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54125         * modules/isfinite: New file.
54126         * modules/isfinite-tests: New file.
54127         * tests/tests-isfinite.c: New file.
54128         * doc/functions/isfinite.texi: Mention isfinite module.
54129         * MODULES.html.sh: Mention new module.
54130
54131 2007-10-27  Ben Pfaff  <blp@gnu.org>
54132
54133         Ralf Wildenhues reported that Tru64 4.0D declares the round
54134         functions but does not have definitions.
54135         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54136         cannot be found in any library, set the output variable to
54137         "missing" instead of "".
54138         * m4/round.m4: Also use our substitute if we cannot find round in
54139         any library, even if it is declared.
54140         * m4/roundf.m4: Likewise for roundf.
54141         * m4/roundl.m4: Likewise for roundl.
54142         * lib/math.in.h: Undefine roundf, round, roundl before defining
54143         their replacements, to allow for hypothetical systems where these
54144         may be defined as macros but not available in libraries.
54145
54146 2007-10-27  Bruno Haible  <bruno@clisp.org>
54147
54148         * doc/gnulib.texi: Invoke @firstparagraphindent.
54149         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54150         changes in gnulib.
54151         (Source changes): New section.
54152
54153 2007-10-26  Bruno Haible  <bruno@clisp.org>
54154
54155         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54156         borrowed from autoconf.
54157
54158 2007-10-26  Bruno Haible  <bruno@clisp.org>
54159
54160         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54161         strerror returned the empty string. Needed on HP-UX 11.00.
54162
54163 2007-10-24  Micah Cowan  <micah@cowan.name>
54164
54165         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54166         * build-aux/bootstrap: Remove support for now-unnecessary option,
54167         --cvs-user, and envvars CVS_USER, CVS_RSH.
54168
54169 2007-10-24  Jim Meyering  <meyering@redhat.com>
54170
54171         Avoid diagnostics from sha1sum when there is no cached checksum.
54172         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54173         if the po.s1 file hasn't been created yet.
54174
54175         * build-aux/bootstrap: Sync from coreutils:
54176         2007-10-24  Jim Meyering  <meyering@redhat.com>
54177         Get gnulib from the git repository, not from an obsolete cvs one.
54178         * build-aux/bootstrap: Suggestion from Micah Cowan.
54179         2007-10-04  Jim Meyering  <jim@meyering.net>
54180         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54181         (update_po_files): Work also when there are no .po files in po/.
54182
54183 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54184
54185         * README: Append ".git" to git and cg examples.
54186         Problem reported by Benoit Sigoure.
54187
54188 2007-10-23  Micah Cowan  <micah@cowan.name>
54189
54190         * users.txt: Add wget.
54191
54192 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54193
54194         Fix linking of some unistdio tests on FreeBSD.
54195         * modules/unistdio/u16-vsnprintf-tests
54196         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54197         * modules/unistdio/u16-vsprintf-tests
54198         (test_u16_vsnprintf1_LDADD): Likewise.
54199         * modules/unistdio/u32-vsnprintf-tests
54200         (test_u32_vsnprintf1_LDADD): Likewise.
54201         * modules/unistdio/u32-vsprintf-tests
54202         (test_u32_vsprintf1_LDADD): Likewise.
54203         * modules/unistdio/u8-vsnprintf-tests
54204         (test_u8_vsnprintf1_LDADD): Likewise.
54205         * modules/unistdio/u8-vsprintf-tests
54206         (test_u8_vsprintf1_LDADD): Likewise.
54207         * modules/unistdio/ulc-vsnprintf-tests
54208         (test_ulc_vsnprintf1_LDADD): Likewise.
54209         * modules/unistdio/ulc-vsprintf-tests
54210         (test_ulc_vsprintf1_LDADD): Likewise.
54211
54212         Fix linking of some uniconv tests on FreeBSD.
54213         * modules/uniconv/u16-conv-from-enc-tests
54214         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54215         * modules/uniconv/u16-conv-to-enc-tests
54216         (test_u16_conv_to_enc_LDADD): Likewise.
54217         * modules/uniconv/u16-strconv-from-enc-tests
54218         (test_u16_strconv_from_enc_LDADD): Likewise.
54219         * modules/uniconv/u16-strconv-to-enc-tests
54220         (test_u16_strconv_to_enc_LDADD): Likewise.
54221         * modules/uniconv/u32-conv-from-enc-tests
54222         (test_u32_conv_from_enc_LDADD): Likewise.
54223         * modules/uniconv/u32-conv-to-enc-tests
54224         (test_u32_conv_to_enc_LDADD): Likewise.
54225         * modules/uniconv/u32-strconv-from-enc-tests
54226         (test_u32_strconv_from_enc_LDADD): Likewise.
54227         * modules/uniconv/u32-strconv-to-enc-tests
54228         (test_u32_strconv_to_enc_LDADD): Likewise.
54229         * modules/uniconv/u8-conv-from-enc-tests
54230         (test_u8_conv_from_enc_LDADD): Likewise.
54231         * modules/uniconv/u8-conv-to-enc-tests
54232         (test_u8_conv_to_enc_LDADD): Likewise.
54233         * modules/uniconv/u8-strconv-from-enc-tests
54234         (test_u8_strconv_from_enc_LDADD): Likewise.
54235         * modules/uniconv/u8-strconv-to-enc-tests
54236         (test_u8_strconv_to_enc_LDADD): Likewise.
54237
54238 2007-10-22  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54241         size.
54242
54243 2007-10-22  Eric Blake  <ebb9@byu.net>
54244
54245         Tweak x*printf documentation.
54246         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54247         variable name and comments.
54248         Suggested by Bruno Haible.
54249
54250 2007-10-22  Bruno Haible  <bruno@clisp.org>
54251
54252         * lib/acl.c (copy_acl): Fix file name in comment.
54253
54254 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54255
54256         Fix Tru64 problem with stdbool.h.
54257         * lib/stdbool.in.h (false, true):
54258         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54259         Don't declare as an enum in this situation; it runs afoul of Tru64.
54260         Problem reported by Steven M. Schweda in
54261         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54262
54263 2007-10-22  Eric Blake  <ebb9@byu.net>
54264
54265         Also wrap vf?printf.
54266         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54267         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54268         (xvprintf, xvfprintf): New functions.
54269
54270 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54271
54272         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54273         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54274
54275         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54276         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54277
54278 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54279
54280         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54281         by Bruno Haible.
54282
54283 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54284
54285         * lib/getloadavg.c
54286         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54287         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54288
54289         * tests/test-i-ring.c: Work for C89.
54290
54291 2007-10-22  Bruno Haible  <bruno@clisp.org>
54292
54293         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54294         -1u, in preprocessor expression, so that we don't test for the bug
54295         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54296         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54297
54298 2007-10-22  Eric Blake  <ebb9@byu.net>
54299
54300         * tests/test-yesno.sh: Silence stderr during test.
54301
54302 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54303
54304         * modules/crypto/gc-camellia: New file.
54305
54306         * m4/gc-camellia.m4: New file.
54307
54308         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54309
54310         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54311
54312 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54313
54314         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54315         --help to stdout.  Reported by sms@antinode.org (Steven
54316         M. Schweda).
54317
54318 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54319
54320         * users.txt: Fix link to libksba.
54321
54322 2007-10-21  Ben Pfaff  <blp@gnu.org>
54323
54324         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54325         round.c roundf implementation that depends on floorf and ceilf to
54326         be tested unconditionally.
54327
54328 2007-10-21  Ben Pfaff  <blp@gnu.org>
54329
54330         * m4/check-libm-func.m4: Removed.
54331         * m4/check-math-lib.m4: New file.
54332         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54333         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54334         definition and lack of AC_LIBOBJ([roundf]).
54335         * m4/roundl.m4: Ditto, and similarly for roundl.
54336         * modules/round: Reference new m4 file.
54337         * modules/roundf: Ditto.
54338         * modules/roundl: Ditto.
54339         * tests/test-round2.c (main): Use ROUND instead of round.
54340         Bug report from Bruno Haible.
54341
54342 2007-10-21  Bruno Haible  <bruno@clisp.org>
54343
54344         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54345         context.
54346
54347 2007-10-21  Bruno Haible  <bruno@clisp.org>
54348
54349         * tests/test-wcwidth.c (main): Allow negative result for some control
54350         characters.
54351
54352         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54353         Needed on OSF/1 5.1.
54354
54355 2007-10-21  Bruno Haible  <bruno@clisp.org>
54356
54357         * tests/test-floorf1.c: Include isnanf.h.
54358         (main): Use isnanf() instead of isnan().
54359         * tests/test-ceilf1.c: Include isnanf.h.
54360         (main): Use isnanf() instead of isnan().
54361         * tests/test-truncf1.c: Include isnanf.h.
54362         (main): Use isnanf() instead of isnan().
54363         * tests/test-roundf1.c: Include isnanf.h.
54364         (main): Use isnanf() instead of isnan().
54365
54366 2007-10-21  Eric Blake  <ebb9@byu.net>
54367
54368         * users.txt: Update URL for m4.
54369
54370 2007-10-21  Bruno Haible  <bruno@clisp.org>
54371
54372         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54373
54374 2007-10-21  Bruno Haible  <bruno@clisp.org>
54375
54376         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54377         Git's management files if the CVS files are not present.
54378
54379 2007-10-20  Bruno Haible  <bruno@clisp.org>
54380
54381         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54382         gcc-3.4.x.
54383
54384 2007-10-20  Ben Pfaff  <blp@gnu.org>
54385
54386         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54387         implementations.
54388         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54389         * lib/round.c: New file.
54390         * lib/roundf.c: New file.
54391         * lib/roundl.c: New file.
54392         * m4/round.m4: New file.
54393         * m4/roundf.m4: New file.
54394         * m4/roundl.m4: New file.
54395         * m4/check-libm-func-m4: New file.
54396         * modules/math: Replace round, roundf, roundl related @VARS@ in
54397         math.in.h.
54398         * modules/round: New file.
54399         * modules/round-tests: New file.
54400         * modules/roundf: New file.
54401         * modules/roundf-tests: New file.
54402         * modules/roundl: New file.
54403         * modules/roundl-tests: New file.
54404         * tests/test-round1.c: New file.
54405         * tests/test-round2.c: New file.
54406         * tests/test-roundf1.c: New file.
54407         * tests/test-roundf2.c: New file.
54408         * tests/test-roundl.c: New file.
54409         * doc/functions/round.texi: Mention round module.
54410         * doc/functions/roundf.texi: Mention roundf module.
54411         * doc/functions/roundl.texi: Mention roundl module.
54412         * MODULES.html.sh: Mention new modules.
54413         Thanks to Bruno Haible for suggestions.
54414
54415 2007-10-20  Jim Meyering  <meyering@redhat.com>
54416
54417         * lib/xprintf.c: Include <config.h> unconditionally.
54418
54419         Change xprintf's license to GPL.
54420         * modules/xprintf (License): s/LGPL/GPL/, since this module
54421         depends on modules (exit and exitfail) which are GPL.
54422         Suggestion from Bruno Haible.
54423
54424         xprintf fixes.
54425         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54426         Use a clearer diagnostic.
54427         Patch from Bruno Haible.
54428
54429 2007-10-20  Bruno Haible  <bruno@clisp.org>
54430
54431         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54432         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54433         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54434
54435 2007-10-20  Bruno Haible  <bruno@clisp.org>
54436
54437         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54438         precision in the comparison result > x - 1 or similar.
54439         * tests/test-ceilf2.c (correct_result_p): Likewise.
54440         * tests/test-truncf2.c (correct_result_p): Likewise.
54441         * tests/test-trunc2.c (correct_result_p): Likewise.
54442         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54443
54444 2007-10-20  Bruno Haible  <bruno@clisp.org>
54445
54446         * modules/ceil: New file.
54447         * m4/ceil.m4: New file.
54448         * doc/functions/ceil.texi: Mention the 'ceil' module.
54449
54450 2007-10-20  Bruno Haible  <bruno@clisp.org>
54451
54452         * modules/floor: New file.
54453         * m4/floor.m4: New file.
54454         * doc/functions/floor.texi: Mention the 'floor' module.
54455
54456 2007-10-20  Bruno Haible  <bruno@clisp.org>
54457
54458         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54459         of %a.
54460         * modules/floorf-tests (Depends-on): Likewise.
54461         * modules/truncf-tests (Depends-on): Likewise.
54462         * modules/trunc-tests (Depends-on): Likewise.
54463         Reported by Ben Pfaff.
54464
54465 2007-10-19  Jim Meyering  <meyering@redhat.com>
54466
54467         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54468         Don't bother testing specific errno values.  Just test ferror.
54469
54470         New module: xprintf
54471         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54472
54473 2007-10-19  Bruno Haible  <bruno@clisp.org>
54474
54475         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54476         syntax.
54477         * modules/javaexec (Makefile.am): Likewise.
54478         * modules/relocatable-prog (Makefile.am): Likewise.
54479         Suggested by Jim Meyering.
54480
54481 2007-10-18  Bruno Haible  <bruno@clisp.org>
54482
54483         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54484         Reported by Jim Meyering.
54485
54486 2007-10-18  Eric Blake  <ebb9@byu.net>
54487
54488         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54489
54490 2007-10-18  Bruno Haible  <bruno@clisp.org>
54491
54492         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54493         the format string into writable memory. Needed in Fortify conditions.
54494
54495 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54496             Bruno Haible  <bruno@clisp.org>
54497
54498         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54499         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54500         * modules/trim (Depends-on): Add mbchar.
54501         (configure.ac): Add gl_FUNC_MBRTOWC.
54502         (Makefile.am): Augment lib_SOURCES.
54503
54504 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54505
54506         Modify glob.c to use fstatat and dirfd, to simplify it.
54507         Suggested by Eric Blake.
54508         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54509         Don't include <stdbool.h>; not used.
54510         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54511         (link_exists_p): Simplify implementation, since we can now assume
54512         dirfd and fstatat.
54513         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54514
54515 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54516
54517         * gnulib-tool (func_get_dependencies): Fix sed script to
54518         match only tests.
54519
54520 2007-10-17  Bruno Haible  <bruno@clisp.org>
54521
54522         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54523         allow locale names without encoding suffix.
54524         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54525         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54526
54527 2007-10-16  Bruno Haible  <bruno@clisp.org>
54528
54529         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54530         * lib/getgroups.c (getgroups): Likewise.
54531         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54532
54533 2007-10-16  Bruno Haible  <bruno@clisp.org>
54534
54535         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54536         * modules/malloc-posix (License): Likewise.
54537         * modules/realloc-posix (License): Likewise.
54538         * modules/calloc-posix (License): Likewise.
54539         * modules/intprops (License): Change from GPL to LGPL, with
54540         Paul Eggert's approval.
54541
54542 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54543
54544         Merge glibc changes into lib/glob.c.
54545
54546         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54547         2007-10-15 04:59:03 UTC.  Here are the changes:
54548
54549         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54550
54551         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54552
54553         * lib/glob.c: Add some branch prediction throughout.
54554
54555         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54556
54557         [BZ #5103]
54558         * lib/glob.c (glob): Recognize patterns starting \/.
54559
54560         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54561
54562         [BZ #3996]
54563         * lib/glob.c (attribute_hidden): Define if not defined.
54564         (glob): Unescape dirname, filename or username when needed and not
54565         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54566         is NULL.  Handle unescaped [ in pattern without closing ].
54567         Don't pass GLOB_CHECK down to recursive glob for directories.
54568         (__glob_pattern_type): New function.
54569         (__glob_pattern_p): Implement using __glob_pattern_type.
54570         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54571         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54572         Remove unreachable code.
54573
54574         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54575
54576         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54577         explain why there are no leaks.
54578
54579         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54580
54581         [BZ #3253]
54582         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54583         time, rather allocate increasingly bigger arrays of pointers, if
54584         possible with alloca, if too large with malloc.
54585
54586 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54587
54588         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54589         Problem reported by H.Merijn Brand in
54590         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54591         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54592         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54593
54594 2007-10-15  Bruno Haible  <bruno@clisp.org>
54595
54596         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54597         with explicit rpl_ prefix.
54598         * lib/fopen.c (fopen): Likewise.
54599         * lib/freopen.c (freopen): Likewise.
54600         * lib/iconv.c (iconv): Likewise.
54601         * lib/iconv_close.c (iconv_close): Likewise.
54602
54603 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54604
54605         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54606
54607 2007-10-15  Bruno Haible  <bruno@clisp.org>
54608
54609         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54610         <stddef.h> instead of <stdlib.h> since we only need NULL.
54611         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54612
54613 2007-10-15  Bruno Haible  <bruno@clisp.org>
54614
54615         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54616         Replace paragraph talking about LIBOBJS.
54617         Reported by Colin Watson <cjwatson@debian.org>.
54618
54619 2007-10-15  Bruno Haible  <bruno@clisp.org>
54620
54621         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54622         <stdlib.h> before using NULL.
54623
54624 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54625
54626         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54627         Reported by Albert Chin <china@thewrittenword.com>.
54628
54629 2007-10-14  Bruno Haible  <bruno@clisp.org>
54630
54631         * modules/iconv_open-utf-tests: New file.
54632         * tests/test-iconv-utf.c: New file.
54633
54634         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54635         * modules/iconv_open-utf: New file.
54636         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54637         (iconv, iconv_close): New declarations.
54638         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54639         be defined.
54640         (iconv_open): Add special handling of conversion between UTF-8 and
54641         UTF-{16,32}{BE,LE}.
54642         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54643         * lib/iconv_close.c: New file.
54644         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54645         gl_FUNC_ICONV_OPEN.
54646         (gl_FUNC_ICONV_OPEN): Use it.
54647         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54648         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54649         and REPLACE_ICONV_UTF.
54650         * modules/iconv_open (Depends-on): Add c-strcase.
54651         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54652         ICONV_CONST.
54653         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54654
54655 2007-10-13  Albert Chin  <china@thewrittenword.com>
54656             Bruno Haible  <bruno@clisp.org>
54657
54658         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54659         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54660
54661 2007-10-13  Bruno Haible  <bruno@clisp.org>
54662
54663         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54664         defined, use the ISO C99 inline semantics.
54665         * lib/argp.h (ARGP_EI): Likewise.
54666
54667 2007-10-13  Bruno Haible  <bruno@clisp.org>
54668
54669         Handle 'inline' change in gcc 4.3.0.
54670         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54671         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54672         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54673         argp_fmtstream_point): Disable 'extern' declaration if the function
54674         definition is going to be provided inline.
54675         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54676         semantics, not the ISO C99 inline semantics.
54677         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54678         'extern' declaration if the function definition is going to be provided
54679         inline.
54680         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54681         the GNU C inline semantics, not the ISO C99 inline semantics. With
54682         GCC 4.2, avoid a warning.
54683
54684 2007-10-13  Bruno Haible  <bruno@clisp.org>
54685
54686         * lib/freading.h (freading): Enable the use of __freading for
54687         glibc >= 2.7.
54688         * lib/freading.c (freading): Likewise.
54689
54690 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54691
54692         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54693         "warning: C99 inline functions are not supported; using GNU89".
54694
54695 2007-10-12  Bruno Haible  <bruno@clisp.org>
54696
54697         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54698         of 2.
54699         * tests/test-ceilf2.c: New file.
54700         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54701
54702         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54703         * modules/ceilf-tests: Update.
54704
54705 2007-10-12  Bruno Haible  <bruno@clisp.org>
54706
54707         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54708         of 2.
54709         * tests/test-floorf2.c: New file.
54710         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54711
54712         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54713         * modules/floorf-tests: Update.
54714
54715 2007-10-12  Bruno Haible  <bruno@clisp.org>
54716
54717         * tests/test-trunc2.c: New file.
54718         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54719
54720         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54721         * modules/trunc-tests: Update.
54722
54723 2007-10-12  Bruno Haible  <bruno@clisp.org>
54724
54725         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54726         of 2.
54727         * tests/test-truncf2.c: New file.
54728         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54729
54730         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54731         * modules/truncf-tests: Update.
54732
54733 2007-10-11  Eric Blake  <ebb9@byu.net>
54734
54735         Don't claim strerror is broken on Interix.
54736         * doc/functions/strerror.texi (strerror): Known broken systems are
54737         now Solaris 8, and not Interix.
54738         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54739         Interix on cross-compile.
54740         Reported by Martin Koeppe in
54741         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54742
54743 2007-10-11  Bruno Haible  <bruno@clisp.org>
54744
54745         * modules/i-ring-tests: New file.
54746         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54747         instead of assert.
54748
54749 2007-10-11  Bruno Haible  <bruno@clisp.org>
54750
54751         * modules/filenamecat-tests: New file.
54752         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54753         * lib/filenamecat.c: Remove test code.
54754
54755 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54756
54757         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54758
54759         * lib/strerror.c: Include <string.h> always, to test interface,
54760         and to remove the need for the dummy.
54761         Include intprops.h to compute width instead of doing it ourselves
54762         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54763         (strerror): Define it to return NULL if there's no system strerror.
54764         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54765         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54766         ancient pre-strerror Unix systems well any more.  Saying "unknown
54767         system error" is enough.
54768         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54769         simpler strerror.c implementation.
54770         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54771         Simplify the tests to reflect the simpler strerror implementation.
54772         * modules/strerror (Depends-on): Add intprops.
54773
54774 2007-10-09  Eric Blake  <ebb9@byu.net>
54775
54776         Silence test-fpending.
54777         * modules/fpending-tests (Files): Add wrapper script.
54778         * tests/test-fpending.sh: New file.
54779
54780 2007-10-09  Bruno Haible  <bruno@clisp.org>
54781
54782         * MODULES.html.sh (func_module): Don't create a hyperlink for
54783         function names like 'printf_frexp'.
54784         (Misc): Add crc, memxor.
54785         (Characteristics of floating types): New section.
54786         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54787         isnanf-nolibm, signbit, trunc, truncf, truncl.
54788         (Enhancements for ISO C 99 functions): New subsection Input/output.
54789         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54790         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54791         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54792         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54793         (Enhancements for POSIX:2001 functions): Add chdir-long.
54794         (File system functions): Add areadlink, chdir-safer, read-file.
54795         Remove cycle-check.
54796         (File system as inode set): New section.
54797         (Date and time): Add gethrxtime.
54798         (Multithreading): Add openmp.
54799         (Internationalization functions): Add localename.
54800         (Unicode string functions): Add unistr/u*-mbsnlen.
54801         (Support for maintaining and releasing projects): Add git-version-gen.
54802         (Lone files): Remove directories.
54803
54804 2007-10-08  Ben Pfaff  <blp@gnu.org>
54805
54806         * lib/xmalloca.h: Fix typo in comment.
54807
54808 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54809
54810         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54811         when avoiding problems with integer overflow.  Use a portable test
54812         instead.
54813
54814 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54815
54816         * modules/dummy (License): Change to LGPLv2+.
54817         * modules/float (License): Likewise
54818         * modules/realloc (License): Likewise
54819         * modules/stdlib (License): Likewise
54820
54821 2007-10-07  Bruno Haible  <bruno@clisp.org>
54822
54823         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54824         * floor.c (TWO_MANT_DIG): Likewise.
54825         * ceil.c (TWO_MANT_DIG): Likewise.
54826         Reported by Ben Pfaff.
54827
54828 2007-10-07  Bruno Haible  <bruno@clisp.org>
54829
54830         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54831         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54832         * lib/frexp.c (FUNC): Likewise.
54833         * lib/printf-frexp.h (printf_frexp): Likewise.
54834         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54835         * lib/printf-frexp.c (FUNC): Likewise.
54836         Suggested by Jim Meyering.
54837
54838 2007-10-07  Jim Meyering  <meyering@redhat.com>
54839
54840         Make xnanosleep's integer overflow test more robust.
54841         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54842         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54843
54844 2007-10-07  Bruno Haible  <bruno@clisp.org>
54845
54846         * NEWS: Mention the license change.
54847
54848         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54849         abbreviations in the modules files.
54850
54851         Change copyright notice from GPLv2+ to GPLv3+.
54852         * README: Change copyright notice.
54853         * MODULES.html.sh: Likewise.
54854         * build-aux/bootstrap.conf: Likewise.
54855         * build-aux/config.libpath: Likewise.
54856         * build-aux/csharpcomp.sh.in: Likewise.
54857         * build-aux/csharpexec.sh.in: Likewise.
54858         * build-aux/install-reloc: Likewise.
54859         * build-aux/javacomp.sh.in: Likewise.
54860         * build-aux/javaexec.sh.in: Likewise.
54861         * build-aux/ldd.sh.in: Likewise.
54862         * build-aux/reloc-ldflags: Likewise.
54863         * build-aux/relocatable.sh.in: Likewise.
54864         * build-aux/x-to-1.in: Likewise.
54865         * check-module: Likewise.
54866         * config/srclistvars.sh: Likewise.
54867         * gnulib-tool: Likewise.
54868         * lib/acl-internal.h: Likewise.
54869         * lib/acl.c: Likewise.
54870         * lib/acl.h: Likewise.
54871         * lib/acl_entries.c: Likewise.
54872         * lib/areadlink-with-size.c: Likewise.
54873         * lib/areadlink.c: Likewise.
54874         * lib/areadlink.h: Likewise.
54875         * lib/argmatch.c: Likewise.
54876         * lib/argmatch.h: Likewise.
54877         * lib/argp-ba.c: Likewise.
54878         * lib/argp-eexst.c: Likewise.
54879         * lib/argp-fmtstream.c: Likewise.
54880         * lib/argp-fmtstream.h: Likewise.
54881         * lib/argp-fs-xinl.c: Likewise.
54882         * lib/argp-help.c: Likewise.
54883         * lib/argp-namefrob.h: Likewise.
54884         * lib/argp-parse.c: Likewise.
54885         * lib/argp-pin.c: Likewise.
54886         * lib/argp-pv.c: Likewise.
54887         * lib/argp-pvh.c: Likewise.
54888         * lib/argp-xinl.c: Likewise.
54889         * lib/argp.h: Likewise.
54890         * lib/at-func.c: Likewise.
54891         * lib/atanl.c: Likewise.
54892         * lib/backupfile.c: Likewise.
54893         * lib/backupfile.h: Likewise.
54894         * lib/basename.c: Likewise.
54895         * lib/binary-io.h: Likewise.
54896         * lib/byteswap.in.h: Likewise.
54897         * lib/c-stack.c: Likewise.
54898         * lib/c-stack.h: Likewise.
54899         * lib/c-strcasestr.c: Likewise.
54900         * lib/c-strcasestr.h: Likewise.
54901         * lib/c-strstr.c: Likewise.
54902         * lib/c-strstr.h: Likewise.
54903         * lib/c-strtod.c: Likewise.
54904         * lib/calloc.c: Likewise.
54905         * lib/canon-host.c: Likewise.
54906         * lib/canon-host.h: Likewise.
54907         * lib/canonicalize-lgpl.c: Likewise.
54908         * lib/canonicalize.c: Likewise.
54909         * lib/canonicalize.h: Likewise.
54910         * lib/ceil.c: Likewise.
54911         * lib/ceilf.c: Likewise.
54912         * lib/ceill.c: Likewise.
54913         * lib/chdir-long.c: Likewise.
54914         * lib/chdir-long.h: Likewise.
54915         * lib/chdir-safer.c: Likewise.
54916         * lib/chdir-safer.h: Likewise.
54917         * lib/chown.c: Likewise.
54918         * lib/classpath.c: Likewise.
54919         * lib/classpath.h: Likewise.
54920         * lib/clean-temp.c: Likewise.
54921         * lib/clean-temp.h: Likewise.
54922         * lib/cloexec.c: Likewise.
54923         * lib/close-stream.c: Likewise.
54924         * lib/closein.c: Likewise.
54925         * lib/closein.h: Likewise.
54926         * lib/closeout.c: Likewise.
54927         * lib/closeout.h: Likewise.
54928         * lib/concat-filename.c: Likewise.
54929         * lib/copy-file.c: Likewise.
54930         * lib/copy-file.h: Likewise.
54931         * lib/count-one-bits.h: Likewise.
54932         * lib/crc.c: Likewise.
54933         * lib/crc.h: Likewise.
54934         * lib/creat-safer.c: Likewise.
54935         * lib/csharpcomp.c: Likewise.
54936         * lib/csharpcomp.h: Likewise.
54937         * lib/csharpexec.c: Likewise.
54938         * lib/csharpexec.h: Likewise.
54939         * lib/cycle-check.c: Likewise.
54940         * lib/cycle-check.h: Likewise.
54941         * lib/diacrit.c: Likewise.
54942         * lib/diacrit.h: Likewise.
54943         * lib/diffseq.h: Likewise.
54944         * lib/dirchownmod.c: Likewise.
54945         * lib/dirent.in.h: Likewise.
54946         * lib/dirfd.c: Likewise.
54947         * lib/dirfd.h: Likewise.
54948         * lib/dirname.c: Likewise.
54949         * lib/dirname.h: Likewise.
54950         * lib/dummy.c: Likewise.
54951         * lib/dup-safer.c: Likewise.
54952         * lib/dup2.c: Likewise.
54953         * lib/eealloc.h: Likewise.
54954         * lib/error.c: Likewise.
54955         * lib/error.h: Likewise.
54956         * lib/euidaccess.c: Likewise.
54957         * lib/exclude.c: Likewise.
54958         * lib/exclude.h: Likewise.
54959         * lib/execute.c: Likewise.
54960         * lib/execute.h: Likewise.
54961         * lib/exitfail.c: Likewise.
54962         * lib/exitfail.h: Likewise.
54963         * lib/expl.c: Likewise.
54964         * lib/fatal-signal.c: Likewise.
54965         * lib/fatal-signal.h: Likewise.
54966         * lib/fbufmode.c: Likewise.
54967         * lib/fbufmode.h: Likewise.
54968         * lib/fchdir.c: Likewise.
54969         * lib/fchmodat.c: Likewise.
54970         * lib/fchownat.c: Likewise.
54971         * lib/fcntl--.h: Likewise.
54972         * lib/fcntl-safer.h: Likewise.
54973         * lib/fcntl.in.h: Likewise.
54974         * lib/fd-safer.c: Likewise.
54975         * lib/fflush.c: Likewise.
54976         * lib/file-has-acl.c: Likewise.
54977         * lib/file-set.c: Likewise.
54978         * lib/file-type.c: Likewise.
54979         * lib/file-type.h: Likewise.
54980         * lib/fileblocks.c: Likewise.
54981         * lib/filemode.c: Likewise.
54982         * lib/filemode.h: Likewise.
54983         * lib/filename.h: Likewise.
54984         * lib/filenamecat.c: Likewise.
54985         * lib/filenamecat.h: Likewise.
54986         * lib/findprog.c: Likewise.
54987         * lib/findprog.h: Likewise.
54988         * lib/float.in.h: Likewise.
54989         * lib/floor.c: Likewise.
54990         * lib/floorf.c: Likewise.
54991         * lib/floorl.c: Likewise.
54992         * lib/fopen-safer.c: Likewise.
54993         * lib/fopen.c: Likewise.
54994         * lib/fpending.c: Likewise.
54995         * lib/fpending.h: Likewise.
54996         * lib/fprintf.c: Likewise.
54997         * lib/fprintftime.h: Likewise.
54998         * lib/fpucw.h: Likewise.
54999         * lib/fpurge.c: Likewise.
55000         * lib/fpurge.h: Likewise.
55001         * lib/freadable.c: Likewise.
55002         * lib/freadable.h: Likewise.
55003         * lib/freadahead.c: Likewise.
55004         * lib/freadahead.h: Likewise.
55005         * lib/freading.c: Likewise.
55006         * lib/freading.h: Likewise.
55007         * lib/free.c: Likewise.
55008         * lib/freopen.c: Likewise.
55009         * lib/frexp.c: Likewise.
55010         * lib/frexpl.c: Likewise.
55011         * lib/fseek.c: Likewise.
55012         * lib/fseterr.c: Likewise.
55013         * lib/fseterr.h: Likewise.
55014         * lib/fstatat.c: Likewise.
55015         * lib/fstrcmp.c: Likewise.
55016         * lib/fstrcmp.h: Likewise.
55017         * lib/fsusage.c: Likewise.
55018         * lib/fsusage.h: Likewise.
55019         * lib/ftell.c: Likewise.
55020         * lib/ftello.c: Likewise.
55021         * lib/fts-cycle.c: Likewise.
55022         * lib/fts.c: Likewise.
55023         * lib/fts_.h: Likewise.
55024         * lib/full-read.c: Likewise.
55025         * lib/full-read.h: Likewise.
55026         * lib/full-write.c: Likewise.
55027         * lib/full-write.h: Likewise.
55028         * lib/fwritable.c: Likewise.
55029         * lib/fwritable.h: Likewise.
55030         * lib/fwriteerror.c: Likewise.
55031         * lib/fwriteerror.h: Likewise.
55032         * lib/fwriting.c: Likewise.
55033         * lib/fwriting.h: Likewise.
55034         * lib/gcd.c: Likewise.
55035         * lib/gcd.h: Likewise.
55036         * lib/getcwd.c: Likewise.
55037         * lib/getdate.h: Likewise.
55038         * lib/getdate.y: Likewise.
55039         * lib/getdomainname.c: Likewise.
55040         * lib/getdomainname.h: Likewise.
55041         * lib/getgroups.c: Likewise.
55042         * lib/gethostname.c: Likewise.
55043         * lib/gethrxtime.c: Likewise.
55044         * lib/gethrxtime.h: Likewise.
55045         * lib/getloadavg.c: Likewise.
55046         * lib/getndelim2.c: Likewise.
55047         * lib/getndelim2.h: Likewise.
55048         * lib/getnline.c: Likewise.
55049         * lib/getnline.h: Likewise.
55050         * lib/getopt.c: Likewise.
55051         * lib/getopt.in.h: Likewise.
55052         * lib/getopt1.c: Likewise.
55053         * lib/getopt_int.h: Likewise.
55054         * lib/getpagesize.h: Likewise.
55055         * lib/getsubopt.c: Likewise.
55056         * lib/gettime.c: Likewise.
55057         * lib/getugroups.c: Likewise.
55058         * lib/getugroups.h: Likewise.
55059         * lib/getusershell.c: Likewise.
55060         * lib/gl_anyavltree_list1.h: Likewise.
55061         * lib/gl_anyavltree_list2.h: Likewise.
55062         * lib/gl_anyhash_list1.h: Likewise.
55063         * lib/gl_anyhash_list2.h: Likewise.
55064         * lib/gl_anylinked_list1.h: Likewise.
55065         * lib/gl_anylinked_list2.h: Likewise.
55066         * lib/gl_anyrbtree_list1.h: Likewise.
55067         * lib/gl_anyrbtree_list2.h: Likewise.
55068         * lib/gl_anytree_list1.h: Likewise.
55069         * lib/gl_anytree_list2.h: Likewise.
55070         * lib/gl_anytree_oset.h: Likewise.
55071         * lib/gl_anytreehash_list1.h: Likewise.
55072         * lib/gl_anytreehash_list2.h: Likewise.
55073         * lib/gl_array_list.c: Likewise.
55074         * lib/gl_array_list.h: Likewise.
55075         * lib/gl_array_oset.c: Likewise.
55076         * lib/gl_array_oset.h: Likewise.
55077         * lib/gl_avltree_list.c: Likewise.
55078         * lib/gl_avltree_list.h: Likewise.
55079         * lib/gl_avltree_oset.c: Likewise.
55080         * lib/gl_avltree_oset.h: Likewise.
55081         * lib/gl_avltreehash_list.c: Likewise.
55082         * lib/gl_avltreehash_list.h: Likewise.
55083         * lib/gl_carray_list.c: Likewise.
55084         * lib/gl_carray_list.h: Likewise.
55085         * lib/gl_linked_list.c: Likewise.
55086         * lib/gl_linked_list.h: Likewise.
55087         * lib/gl_linkedhash_list.c: Likewise.
55088         * lib/gl_linkedhash_list.h: Likewise.
55089         * lib/gl_list.c: Likewise.
55090         * lib/gl_list.h: Likewise.
55091         * lib/gl_oset.c: Likewise.
55092         * lib/gl_oset.h: Likewise.
55093         * lib/gl_rbtree_list.c: Likewise.
55094         * lib/gl_rbtree_list.h: Likewise.
55095         * lib/gl_rbtree_oset.c: Likewise.
55096         * lib/gl_rbtree_oset.h: Likewise.
55097         * lib/gl_rbtreehash_list.c: Likewise.
55098         * lib/gl_rbtreehash_list.h: Likewise.
55099         * lib/gl_sublist.c: Likewise.
55100         * lib/gl_sublist.h: Likewise.
55101         * lib/group-member.c: Likewise.
55102         * lib/group-member.h: Likewise.
55103         * lib/hard-locale.c: Likewise.
55104         * lib/hard-locale.h: Likewise.
55105         * lib/hash-pjw.c: Likewise.
55106         * lib/hash-pjw.h: Likewise.
55107         * lib/hash-triple.c: Likewise.
55108         * lib/hash.c: Likewise.
55109         * lib/hash.h: Likewise.
55110         * lib/human.c: Likewise.
55111         * lib/human.h: Likewise.
55112         * lib/i-ring.c: Likewise.
55113         * lib/i-ring.h: Likewise.
55114         * lib/idcache.c: Likewise.
55115         * lib/imaxabs.c: Likewise.
55116         * lib/imaxdiv.c: Likewise.
55117         * lib/inet_pton.c: Likewise.
55118         * lib/inet_pton.h: Likewise.
55119         * lib/intprops.h: Likewise.
55120         * lib/inttostr.c: Likewise.
55121         * lib/inttostr.h: Likewise.
55122         * lib/inttypes.in.h: Likewise.
55123         * lib/isapipe.c: Likewise.
55124         * lib/isdir.c: Likewise.
55125         * lib/isnan.c: Likewise.
55126         * lib/isnan.h: Likewise.
55127         * lib/isnanf.c: Likewise.
55128         * lib/isnanf.h: Likewise.
55129         * lib/isnanl-nolibm.h: Likewise.
55130         * lib/isnanl.c: Likewise.
55131         * lib/isnanl.h: Likewise.
55132         * lib/javacomp.c: Likewise.
55133         * lib/javacomp.h: Likewise.
55134         * lib/javaexec.c: Likewise.
55135         * lib/javaexec.h: Likewise.
55136         * lib/javaversion.c: Likewise.
55137         * lib/javaversion.h: Likewise.
55138         * lib/javaversion.java: Likewise.
55139         * lib/lbrkprop.h: Likewise.
55140         * lib/lchmod.h: Likewise.
55141         * lib/lchown.c: Likewise.
55142         * lib/ldexpl.c: Likewise.
55143         * lib/linebreak.c: Likewise.
55144         * lib/linebreak.h: Likewise.
55145         * lib/linebuffer.c: Likewise.
55146         * lib/linebuffer.h: Likewise.
55147         * lib/locale.in.h: Likewise.
55148         * lib/logl.c: Likewise.
55149         * lib/long-options.c: Likewise.
55150         * lib/long-options.h: Likewise.
55151         * lib/lstat.c: Likewise.
55152         * lib/lstat.h: Likewise.
55153         * lib/math.in.h: Likewise.
55154         * lib/mbchar.c: Likewise.
55155         * lib/mbchar.h: Likewise.
55156         * lib/mbfile.h: Likewise.
55157         * lib/mbiter.h: Likewise.
55158         * lib/mbscasecmp.c: Likewise.
55159         * lib/mbscasestr.c: Likewise.
55160         * lib/mbschr.c: Likewise.
55161         * lib/mbscspn.c: Likewise.
55162         * lib/mbslen.c: Likewise.
55163         * lib/mbsncasecmp.c: Likewise.
55164         * lib/mbsnlen.c: Likewise.
55165         * lib/mbspbrk.c: Likewise.
55166         * lib/mbspcasecmp.c: Likewise.
55167         * lib/mbsrchr.c: Likewise.
55168         * lib/mbssep.c: Likewise.
55169         * lib/mbsspn.c: Likewise.
55170         * lib/mbsstr.c: Likewise.
55171         * lib/mbstok_r.c: Likewise.
55172         * lib/mbswidth.c: Likewise.
55173         * lib/mbswidth.h: Likewise.
55174         * lib/mbuiter.h: Likewise.
55175         * lib/memcasecmp.c: Likewise.
55176         * lib/memcasecmp.h: Likewise.
55177         * lib/memchr.c: Likewise.
55178         * lib/memcmp.c: Likewise.
55179         * lib/memcoll.c: Likewise.
55180         * lib/memcoll.h: Likewise.
55181         * lib/memcpy.c: Likewise.
55182         * lib/memrchr.c: Likewise.
55183         * lib/mkancesdirs.c: Likewise.
55184         * lib/mkdir-p.c: Likewise.
55185         * lib/mkdir-p.h: Likewise.
55186         * lib/mkdir.c: Likewise.
55187         * lib/mkdirat.c: Likewise.
55188         * lib/mkdtemp.c: Likewise.
55189         * lib/mkstemp-safer.c: Likewise.
55190         * lib/mkstemp.c: Likewise.
55191         * lib/modechange.c: Likewise.
55192         * lib/modechange.h: Likewise.
55193         * lib/mountlist.c: Likewise.
55194         * lib/mountlist.h: Likewise.
55195         * lib/mpsort.c: Likewise.
55196         * lib/nanosleep.c: Likewise.
55197         * lib/obstack.c: Likewise.
55198         * lib/obstack.h: Likewise.
55199         * lib/open-safer.c: Likewise.
55200         * lib/open.c: Likewise.
55201         * lib/openat-die.c: Likewise.
55202         * lib/openat-priv.h: Likewise.
55203         * lib/openat-proc.c: Likewise.
55204         * lib/openat.c: Likewise.
55205         * lib/openat.h: Likewise.
55206         * lib/pagealign_alloc.c: Likewise.
55207         * lib/pagealign_alloc.h: Likewise.
55208         * lib/physmem.c: Likewise.
55209         * lib/physmem.h: Likewise.
55210         * lib/pipe-safer.c: Likewise.
55211         * lib/pipe.c: Likewise.
55212         * lib/pipe.h: Likewise.
55213         * lib/posixtm.c: Likewise.
55214         * lib/posixtm.h: Likewise.
55215         * lib/posixver.c: Likewise.
55216         * lib/printf-frexp.c: Likewise.
55217         * lib/printf-frexp.h: Likewise.
55218         * lib/printf-frexpl.c: Likewise.
55219         * lib/printf-frexpl.h: Likewise.
55220         * lib/printf.c: Likewise.
55221         * lib/progname.c: Likewise.
55222         * lib/progname.h: Likewise.
55223         * lib/progreloc.c: Likewise.
55224         * lib/putenv.c: Likewise.
55225         * lib/quote.c: Likewise.
55226         * lib/quote.h: Likewise.
55227         * lib/quotearg.c: Likewise.
55228         * lib/quotearg.h: Likewise.
55229         * lib/raise.c: Likewise.
55230         * lib/readline.c: Likewise.
55231         * lib/readline.h: Likewise.
55232         * lib/readlink.c: Likewise.
55233         * lib/readtokens.c: Likewise.
55234         * lib/readtokens.h: Likewise.
55235         * lib/readtokens0.c: Likewise.
55236         * lib/readtokens0.h: Likewise.
55237         * lib/readutmp.c: Likewise.
55238         * lib/readutmp.h: Likewise.
55239         * lib/realloc.c: Likewise.
55240         * lib/relocwrapper.c: Likewise.
55241         * lib/rename-dest-slash.c: Likewise.
55242         * lib/rename.c: Likewise.
55243         * lib/rmdir.c: Likewise.
55244         * lib/rpmatch.c: Likewise.
55245         * lib/safe-read.c: Likewise.
55246         * lib/safe-read.h: Likewise.
55247         * lib/safe-write.c: Likewise.
55248         * lib/safe-write.h: Likewise.
55249         * lib/same-inode.h: Likewise.
55250         * lib/same.c: Likewise.
55251         * lib/same.h: Likewise.
55252         * lib/save-cwd.c: Likewise.
55253         * lib/save-cwd.h: Likewise.
55254         * lib/savedir.c: Likewise.
55255         * lib/savedir.h: Likewise.
55256         * lib/savewd.c: Likewise.
55257         * lib/savewd.h: Likewise.
55258         * lib/search.in.h: Likewise.
55259         * lib/setenv.c: Likewise.
55260         * lib/setenv.h: Likewise.
55261         * lib/settime.c: Likewise.
55262         * lib/sh-quote.c: Likewise.
55263         * lib/sh-quote.h: Likewise.
55264         * lib/sig2str.c: Likewise.
55265         * lib/sig2str.h: Likewise.
55266         * lib/signal.in.h: Likewise.
55267         * lib/signbitd.c: Likewise.
55268         * lib/signbitf.c: Likewise.
55269         * lib/signbitl.c: Likewise.
55270         * lib/sigprocmask.c: Likewise.
55271         * lib/sincosl.c: Likewise.
55272         * lib/sleep.c: Likewise.
55273         * lib/sprintf.c: Likewise.
55274         * lib/sqrtl.c: Likewise.
55275         * lib/stat-time.h: Likewise.
55276         * lib/stdio--.h: Likewise.
55277         * lib/stdio-safer.h: Likewise.
55278         * lib/stdlib--.h: Likewise.
55279         * lib/stdlib-safer.h: Likewise.
55280         * lib/stdlib.in.h: Likewise.
55281         * lib/stpcpy.c: Likewise.
55282         * lib/stpncpy.c: Likewise.
55283         * lib/strchrnul.c: Likewise.
55284         * lib/strcspn.c: Likewise.
55285         * lib/strerror.c: Likewise.
55286         * lib/strftime.c: Likewise.
55287         * lib/strftime.h: Likewise.
55288         * lib/striconveh.c: Likewise.
55289         * lib/striconveh.h: Likewise.
55290         * lib/striconveha.c: Likewise.
55291         * lib/striconveha.h: Likewise.
55292         * lib/stripslash.c: Likewise.
55293         * lib/strnlen1.c: Likewise.
55294         * lib/strnlen1.h: Likewise.
55295         * lib/strtod.c: Likewise.
55296         * lib/strtoimax.c: Likewise.
55297         * lib/strtok_r.c: Likewise.
55298         * lib/strtol.c: Likewise.
55299         * lib/strtoll.c: Likewise.
55300         * lib/strtoul.c: Likewise.
55301         * lib/strtoull.c: Likewise.
55302         * lib/sysexits.in.h: Likewise.
55303         * lib/tempname.c: Likewise.
55304         * lib/tempname.h: Likewise.
55305         * lib/timespec.h: Likewise.
55306         * lib/tls.c: Likewise.
55307         * lib/tls.h: Likewise.
55308         * lib/tmpdir.c: Likewise.
55309         * lib/tmpdir.h: Likewise.
55310         * lib/tmpfile-safer.c: Likewise.
55311         * lib/tmpfile.c: Likewise.
55312         * lib/trigl.c: Likewise.
55313         * lib/trigl.h: Likewise.
55314         * lib/trim.c: Likewise.
55315         * lib/trim.h: Likewise.
55316         * lib/trunc.c: Likewise.
55317         * lib/truncf.c: Likewise.
55318         * lib/truncl.c: Likewise.
55319         * lib/tsearch.c: Likewise.
55320         * lib/unicodeio.c: Likewise.
55321         * lib/unicodeio.h: Likewise.
55322         * lib/unistd--.h: Likewise.
55323         * lib/unistd-safer.h: Likewise.
55324         * lib/unistdio/ulc-fprintf.c: Likewise.
55325         * lib/unistdio/ulc-vfprintf.c: Likewise.
55326         * lib/unlinkdir.c: Likewise.
55327         * lib/unlinkdir.h: Likewise.
55328         * lib/unlocked-io.h: Likewise.
55329         * lib/unsetenv.c: Likewise.
55330         * lib/userspec.c: Likewise.
55331         * lib/utime.c: Likewise.
55332         * lib/utimecmp.c: Likewise.
55333         * lib/utimecmp.h: Likewise.
55334         * lib/utimens.c: Likewise.
55335         * lib/verify.h: Likewise.
55336         * lib/verror.c: Likewise.
55337         * lib/verror.h: Likewise.
55338         * lib/version-etc-fsf.c: Likewise.
55339         * lib/version-etc.c: Likewise.
55340         * lib/version-etc.h: Likewise.
55341         * lib/vfprintf.c: Likewise.
55342         * lib/vprintf.c: Likewise.
55343         * lib/vsprintf.c: Likewise.
55344         * lib/w32spawn.h: Likewise.
55345         * lib/wait-process.c: Likewise.
55346         * lib/wait-process.h: Likewise.
55347         * lib/wcwidth.c: Likewise.
55348         * lib/write-any-file.c: Likewise.
55349         * lib/xalloc-die.c: Likewise.
55350         * lib/xalloc.h: Likewise.
55351         * lib/xasprintf.c: Likewise.
55352         * lib/xgetcwd.c: Likewise.
55353         * lib/xgetcwd.h: Likewise.
55354         * lib/xgetdomainname.c: Likewise.
55355         * lib/xgetdomainname.h: Likewise.
55356         * lib/xgethostname.c: Likewise.
55357         * lib/xmalloc.c: Likewise.
55358         * lib/xmalloca.c: Likewise.
55359         * lib/xmalloca.h: Likewise.
55360         * lib/xmemcoll.c: Likewise.
55361         * lib/xnanosleep.c: Likewise.
55362         * lib/xreadlink.c: Likewise.
55363         * lib/xreadlink.h: Likewise.
55364         * lib/xsetenv.c: Likewise.
55365         * lib/xsetenv.h: Likewise.
55366         * lib/xstriconv.c: Likewise.
55367         * lib/xstriconv.h: Likewise.
55368         * lib/xstrndup.c: Likewise.
55369         * lib/xstrndup.h: Likewise.
55370         * lib/xstrtod.c: Likewise.
55371         * lib/xstrtod.h: Likewise.
55372         * lib/xstrtol-error.c: Likewise.
55373         * lib/xstrtol.c: Likewise.
55374         * lib/xstrtol.h: Likewise.
55375         * lib/xtime.h: Likewise.
55376         * lib/xvasprintf.c: Likewise.
55377         * lib/xvasprintf.h: Likewise.
55378         * lib/yesno.c: Likewise.
55379         * lib/yesno.h: Likewise.
55380         * posix-modules: Likewise.
55381         * tests/test-alloca-opt.c: Likewise.
55382         * tests/test-arcfour.c: Likewise.
55383         * tests/test-arctwo.c: Likewise.
55384         * tests/test-argmatch.c: Likewise.
55385         * tests/test-argp-2.sh: Likewise.
55386         * tests/test-argp.c: Likewise.
55387         * tests/test-arpa_inet.c: Likewise.
55388         * tests/test-array_list.c: Likewise.
55389         * tests/test-array_oset.c: Likewise.
55390         * tests/test-atexit.c: Likewise.
55391         * tests/test-avltree_list.c: Likewise.
55392         * tests/test-avltree_oset.c: Likewise.
55393         * tests/test-avltreehash_list.c: Likewise.
55394         * tests/test-base64.c: Likewise.
55395         * tests/test-binary-io.c: Likewise.
55396         * tests/test-byteswap.c: Likewise.
55397         * tests/test-c-ctype.c: Likewise.
55398         * tests/test-c-strcasecmp.c: Likewise.
55399         * tests/test-c-strcasestr.c: Likewise.
55400         * tests/test-c-strncasecmp.c: Likewise.
55401         * tests/test-c-strstr.c: Likewise.
55402         * tests/test-canonicalize-lgpl.c: Likewise.
55403         * tests/test-canonicalize.c: Likewise.
55404         * tests/test-carray_list.c: Likewise.
55405         * tests/test-ceilf.c: Likewise.
55406         * tests/test-ceill.c: Likewise.
55407         * tests/test-count-one-bits.c: Likewise.
55408         * tests/test-crc.c: Likewise.
55409         * tests/test-dirname.c: Likewise.
55410         * tests/test-fbufmode.c: Likewise.
55411         * tests/test-fcntl.c: Likewise.
55412         * tests/test-fflush.c: Likewise.
55413         * tests/test-floorf.c: Likewise.
55414         * tests/test-floorl.c: Likewise.
55415         * tests/test-fopen.c: Likewise.
55416         * tests/test-fprintf-posix.c: Likewise.
55417         * tests/test-fprintf-posix.h: Likewise.
55418         * tests/test-fpurge.c: Likewise.
55419         * tests/test-freadable.c: Likewise.
55420         * tests/test-freadahead.c: Likewise.
55421         * tests/test-freading.c: Likewise.
55422         * tests/test-freopen.c: Likewise.
55423         * tests/test-frexp.c: Likewise.
55424         * tests/test-frexpl.c: Likewise.
55425         * tests/test-fseek.c: Likewise.
55426         * tests/test-fseeko.c: Likewise.
55427         * tests/test-fseterr.c: Likewise.
55428         * tests/test-fstrcmp.c: Likewise.
55429         * tests/test-ftell.c: Likewise.
55430         * tests/test-ftello.c: Likewise.
55431         * tests/test-fwritable.c: Likewise.
55432         * tests/test-fwriting.c: Likewise.
55433         * tests/test-getaddrinfo.c: Likewise.
55434         * tests/test-getpass.c: Likewise.
55435         * tests/test-gettimeofday.c: Likewise.
55436         * tests/test-hmac-md5.c: Likewise.
55437         * tests/test-hmac-sha1.c: Likewise.
55438         * tests/test-iconv.c: Likewise.
55439         * tests/test-iconvme.c: Likewise.
55440         * tests/test-inttypes.c: Likewise.
55441         * tests/test-isnan.c: Likewise.
55442         * tests/test-isnanf.c: Likewise.
55443         * tests/test-isnanl-nolibm.c: Likewise.
55444         * tests/test-isnanl.c: Likewise.
55445         * tests/test-isnanl.h: Likewise.
55446         * tests/test-ldexpl.c: Likewise.
55447         * tests/test-linked_list.c: Likewise.
55448         * tests/test-linkedhash_list.c: Likewise.
55449         * tests/test-locale.c: Likewise.
55450         * tests/test-localename.c: Likewise.
55451         * tests/test-lock.c: Likewise.
55452         * tests/test-lseek.c: Likewise.
55453         * tests/test-malloca.c: Likewise.
55454         * tests/test-math.c: Likewise.
55455         * tests/test-mbscasecmp.c: Likewise.
55456         * tests/test-mbscasestr1.c: Likewise.
55457         * tests/test-mbscasestr2.c: Likewise.
55458         * tests/test-mbscasestr3.c: Likewise.
55459         * tests/test-mbscasestr4.c: Likewise.
55460         * tests/test-mbschr.c: Likewise.
55461         * tests/test-mbscspn.c: Likewise.
55462         * tests/test-mbsncasecmp.c: Likewise.
55463         * tests/test-mbspbrk.c: Likewise.
55464         * tests/test-mbspcasecmp.c: Likewise.
55465         * tests/test-mbsrchr.c: Likewise.
55466         * tests/test-mbsspn.c: Likewise.
55467         * tests/test-mbsstr1.c: Likewise.
55468         * tests/test-mbsstr2.c: Likewise.
55469         * tests/test-mbsstr3.c: Likewise.
55470         * tests/test-md5.c: Likewise.
55471         * tests/test-memmem.c: Likewise.
55472         * tests/test-netinet_in.c: Likewise.
55473         * tests/test-open.c: Likewise.
55474         * tests/test-printf-frexp.c: Likewise.
55475         * tests/test-printf-frexpl.c: Likewise.
55476         * tests/test-printf-posix.c: Likewise.
55477         * tests/test-printf-posix.h: Likewise.
55478         * tests/test-rbtree_list.c: Likewise.
55479         * tests/test-rbtree_oset.c: Likewise.
55480         * tests/test-rbtreehash_list.c: Likewise.
55481         * tests/test-read-file.c: Likewise.
55482         * tests/test-rijndael.c: Likewise.
55483         * tests/test-search.c: Likewise.
55484         * tests/test-signbit.c: Likewise.
55485         * tests/test-sleep.c: Likewise.
55486         * tests/test-snprintf-posix.c: Likewise.
55487         * tests/test-snprintf-posix.h: Likewise.
55488         * tests/test-snprintf.c: Likewise.
55489         * tests/test-sprintf-posix.c: Likewise.
55490         * tests/test-sprintf-posix.h: Likewise.
55491         * tests/test-stat-time.c: Likewise.
55492         * tests/test-stdbool.c: Likewise.
55493         * tests/test-stdint.c: Likewise.
55494         * tests/test-stdio.c: Likewise.
55495         * tests/test-stdlib.c: Likewise.
55496         * tests/test-stpncpy.c: Likewise.
55497         * tests/test-strcasestr.c: Likewise.
55498         * tests/test-striconv.c: Likewise.
55499         * tests/test-striconveh.c: Likewise.
55500         * tests/test-striconveha.c: Likewise.
55501         * tests/test-string.c: Likewise.
55502         * tests/test-sys_select.c: Likewise.
55503         * tests/test-sys_socket.c: Likewise.
55504         * tests/test-sys_stat.c: Likewise.
55505         * tests/test-sys_time.c: Likewise.
55506         * tests/test-sysexits.c: Likewise.
55507         * tests/test-time.c: Likewise.
55508         * tests/test-tls.c: Likewise.
55509         * tests/test-trunc.c: Likewise.
55510         * tests/test-truncf.c: Likewise.
55511         * tests/test-truncl.c: Likewise.
55512         * tests/test-unistd.c: Likewise.
55513         * tests/test-vasnprintf-posix.c: Likewise.
55514         * tests/test-vasnprintf-posix2.c: Likewise.
55515         * tests/test-vasnprintf.c: Likewise.
55516         * tests/test-vasprintf-posix.c: Likewise.
55517         * tests/test-vasprintf.c: Likewise.
55518         * tests/test-verify.c: Likewise.
55519         * tests/test-vfprintf-posix.c: Likewise.
55520         * tests/test-vprintf-posix.c: Likewise.
55521         * tests/test-vsnprintf-posix.c: Likewise.
55522         * tests/test-vsnprintf.c: Likewise.
55523         * tests/test-vsprintf-posix.c: Likewise.
55524         * tests/test-wchar.c: Likewise.
55525         * tests/test-wctype.c: Likewise.
55526         * tests/test-wcwidth.c: Likewise.
55527         * tests/test-xstrtol.c: Likewise.
55528         * tests/test-xvasprintf.c: Likewise.
55529         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55530         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55531         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55532         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55533         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55534         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55535         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55536         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55537         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55538         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55539         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55540         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55541         * tests/uniname/test-uninames.c: Likewise.
55542         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55543         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55544         * tests/unistdio/test-u16-printf1.h: Likewise.
55545         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55546         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55547         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55548         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55549         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55550         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55551         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55552         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55553         * tests/unistdio/test-u32-printf1.h: Likewise.
55554         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55555         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55556         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55557         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55558         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55559         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55560         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55561         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55562         * tests/unistdio/test-u8-printf1.h: Likewise.
55563         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55564         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55565         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55566         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55567         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55568         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55569         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55570         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55571         * tests/unistdio/test-ulc-printf1.h: Likewise.
55572         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55573         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55574         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55575         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55576         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55577         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55578         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55579         * tests/uniwidth/test-u16-width.c: Likewise.
55580         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55581         * tests/uniwidth/test-u32-width.c: Likewise.
55582         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55583         * tests/uniwidth/test-u8-width.c: Likewise.
55584         * tests/uniwidth/test-uc_width.c: Likewise.
55585         * config/srclist-update: Likewise.
55586         (fixlicense): Update to GPLv3+.
55587
55588         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55589         * tests/test-tsearch.c: Change copyright notice.
55590
55591         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55592         * lib/c-strcaseeq.h: Change copyright notice.
55593         * lib/streq.h: Likewise.
55594         * lib/uniconv.h: Likewise.
55595         * lib/uniconv/u-conv-from-enc.h: Likewise.
55596         * lib/uniconv/u-conv-to-enc.h: Likewise.
55597         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55598         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55599         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55600         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55601         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55602         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55603         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55604         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55605         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55606         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55607         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55608         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55609         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55610         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55611         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55612         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55613         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55614         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55615         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55616         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55617         * lib/uniname.h: Likewise.
55618         * lib/uniname/uniname.c: Likewise.
55619         * lib/unistdio.h: Likewise.
55620         * lib/unistdio/u-asnprintf.h: Likewise.
55621         * lib/unistdio/u-asprintf.h: Likewise.
55622         * lib/unistdio/u-printf-args.c: Likewise.
55623         * lib/unistdio/u-printf-args.h: Likewise.
55624         * lib/unistdio/u-printf-parse.h: Likewise.
55625         * lib/unistdio/u-snprintf.h: Likewise.
55626         * lib/unistdio/u-sprintf.h: Likewise.
55627         * lib/unistdio/u-vasprintf.h: Likewise.
55628         * lib/unistdio/u-vsnprintf.h: Likewise.
55629         * lib/unistdio/u-vsprintf.h: Likewise.
55630         * lib/unistdio/u16-asnprintf.c: Likewise.
55631         * lib/unistdio/u16-asprintf.c: Likewise.
55632         * lib/unistdio/u16-printf-parse.c: Likewise.
55633         * lib/unistdio/u16-snprintf.c: Likewise.
55634         * lib/unistdio/u16-sprintf.c: Likewise.
55635         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55636         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55637         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55638         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55639         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55640         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55641         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55642         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55643         * lib/unistdio/u16-vasnprintf.c: Likewise.
55644         * lib/unistdio/u16-vasprintf.c: Likewise.
55645         * lib/unistdio/u16-vsnprintf.c: Likewise.
55646         * lib/unistdio/u16-vsprintf.c: Likewise.
55647         * lib/unistdio/u32-asnprintf.c: Likewise.
55648         * lib/unistdio/u32-asprintf.c: Likewise.
55649         * lib/unistdio/u32-printf-parse.c: Likewise.
55650         * lib/unistdio/u32-snprintf.c: Likewise.
55651         * lib/unistdio/u32-sprintf.c: Likewise.
55652         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55653         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55654         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55655         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55656         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55657         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55658         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55659         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55660         * lib/unistdio/u32-vasnprintf.c: Likewise.
55661         * lib/unistdio/u32-vasprintf.c: Likewise.
55662         * lib/unistdio/u32-vsnprintf.c: Likewise.
55663         * lib/unistdio/u32-vsprintf.c: Likewise.
55664         * lib/unistdio/u8-asnprintf.c: Likewise.
55665         * lib/unistdio/u8-asprintf.c: Likewise.
55666         * lib/unistdio/u8-printf-parse.c: Likewise.
55667         * lib/unistdio/u8-snprintf.c: Likewise.
55668         * lib/unistdio/u8-sprintf.c: Likewise.
55669         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55670         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55671         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55672         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55673         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55674         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55675         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55676         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55677         * lib/unistdio/u8-vasnprintf.c: Likewise.
55678         * lib/unistdio/u8-vasprintf.c: Likewise.
55679         * lib/unistdio/u8-vsnprintf.c: Likewise.
55680         * lib/unistdio/u8-vsprintf.c: Likewise.
55681         * lib/unistdio/ulc-asnprintf.c: Likewise.
55682         * lib/unistdio/ulc-asprintf.c: Likewise.
55683         * lib/unistdio/ulc-printf-parse.c: Likewise.
55684         * lib/unistdio/ulc-snprintf.c: Likewise.
55685         * lib/unistdio/ulc-sprintf.c: Likewise.
55686         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55687         * lib/unistdio/ulc-vasprintf.c: Likewise.
55688         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55689         * lib/unistdio/ulc-vsprintf.c: Likewise.
55690         * lib/unistr.h: Likewise.
55691         * lib/unistr/u-cpy-alloc.h: Likewise.
55692         * lib/unistr/u-cpy.h: Likewise.
55693         * lib/unistr/u-endswith.h: Likewise.
55694         * lib/unistr/u-move.h: Likewise.
55695         * lib/unistr/u-set.h: Likewise.
55696         * lib/unistr/u-startswith.h: Likewise.
55697         * lib/unistr/u-stpcpy.h: Likewise.
55698         * lib/unistr/u-stpncpy.h: Likewise.
55699         * lib/unistr/u-strcat.h: Likewise.
55700         * lib/unistr/u-strcpy.h: Likewise.
55701         * lib/unistr/u-strcspn.h: Likewise.
55702         * lib/unistr/u-strdup.h: Likewise.
55703         * lib/unistr/u-strlen.h: Likewise.
55704         * lib/unistr/u-strncat.h: Likewise.
55705         * lib/unistr/u-strncpy.h: Likewise.
55706         * lib/unistr/u-strnlen.h: Likewise.
55707         * lib/unistr/u-strpbrk.h: Likewise.
55708         * lib/unistr/u-strspn.h: Likewise.
55709         * lib/unistr/u-strstr.h: Likewise.
55710         * lib/unistr/u-strtok.h: Likewise.
55711         * lib/unistr/u16-check.c: Likewise.
55712         * lib/unistr/u16-chr.c: Likewise.
55713         * lib/unistr/u16-cmp.c: Likewise.
55714         * lib/unistr/u16-cpy-alloc.c: Likewise.
55715         * lib/unistr/u16-cpy.c: Likewise.
55716         * lib/unistr/u16-endswith.c: Likewise.
55717         * lib/unistr/u16-mblen.c: Likewise.
55718         * lib/unistr/u16-mbsnlen.c: Likewise.
55719         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55720         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55721         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55722         * lib/unistr/u16-mbtouc.c: Likewise.
55723         * lib/unistr/u16-mbtoucr.c: Likewise.
55724         * lib/unistr/u16-move.c: Likewise.
55725         * lib/unistr/u16-next.c: Likewise.
55726         * lib/unistr/u16-prev.c: Likewise.
55727         * lib/unistr/u16-set.c: Likewise.
55728         * lib/unistr/u16-startswith.c: Likewise.
55729         * lib/unistr/u16-stpcpy.c: Likewise.
55730         * lib/unistr/u16-stpncpy.c: Likewise.
55731         * lib/unistr/u16-strcat.c: Likewise.
55732         * lib/unistr/u16-strchr.c: Likewise.
55733         * lib/unistr/u16-strcmp.c: Likewise.
55734         * lib/unistr/u16-strcpy.c: Likewise.
55735         * lib/unistr/u16-strcspn.c: Likewise.
55736         * lib/unistr/u16-strdup.c: Likewise.
55737         * lib/unistr/u16-strlen.c: Likewise.
55738         * lib/unistr/u16-strmblen.c: Likewise.
55739         * lib/unistr/u16-strmbtouc.c: Likewise.
55740         * lib/unistr/u16-strncat.c: Likewise.
55741         * lib/unistr/u16-strncmp.c: Likewise.
55742         * lib/unistr/u16-strncpy.c: Likewise.
55743         * lib/unistr/u16-strnlen.c: Likewise.
55744         * lib/unistr/u16-strpbrk.c: Likewise.
55745         * lib/unistr/u16-strrchr.c: Likewise.
55746         * lib/unistr/u16-strspn.c: Likewise.
55747         * lib/unistr/u16-strstr.c: Likewise.
55748         * lib/unistr/u16-strtok.c: Likewise.
55749         * lib/unistr/u16-to-u32.c: Likewise.
55750         * lib/unistr/u16-to-u8.c: Likewise.
55751         * lib/unistr/u16-uctomb-aux.c: Likewise.
55752         * lib/unistr/u16-uctomb.c: Likewise.
55753         * lib/unistr/u32-check.c: Likewise.
55754         * lib/unistr/u32-chr.c: Likewise.
55755         * lib/unistr/u32-cmp.c: Likewise.
55756         * lib/unistr/u32-cpy-alloc.c: Likewise.
55757         * lib/unistr/u32-cpy.c: Likewise.
55758         * lib/unistr/u32-endswith.c: Likewise.
55759         * lib/unistr/u32-mblen.c: Likewise.
55760         * lib/unistr/u32-mbsnlen.c: Likewise.
55761         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55762         * lib/unistr/u32-mbtouc.c: Likewise.
55763         * lib/unistr/u32-mbtoucr.c: Likewise.
55764         * lib/unistr/u32-move.c: Likewise.
55765         * lib/unistr/u32-next.c: Likewise.
55766         * lib/unistr/u32-prev.c: Likewise.
55767         * lib/unistr/u32-set.c: Likewise.
55768         * lib/unistr/u32-startswith.c: Likewise.
55769         * lib/unistr/u32-stpcpy.c: Likewise.
55770         * lib/unistr/u32-stpncpy.c: Likewise.
55771         * lib/unistr/u32-strcat.c: Likewise.
55772         * lib/unistr/u32-strchr.c: Likewise.
55773         * lib/unistr/u32-strcmp.c: Likewise.
55774         * lib/unistr/u32-strcpy.c: Likewise.
55775         * lib/unistr/u32-strcspn.c: Likewise.
55776         * lib/unistr/u32-strdup.c: Likewise.
55777         * lib/unistr/u32-strlen.c: Likewise.
55778         * lib/unistr/u32-strmblen.c: Likewise.
55779         * lib/unistr/u32-strmbtouc.c: Likewise.
55780         * lib/unistr/u32-strncat.c: Likewise.
55781         * lib/unistr/u32-strncmp.c: Likewise.
55782         * lib/unistr/u32-strncpy.c: Likewise.
55783         * lib/unistr/u32-strnlen.c: Likewise.
55784         * lib/unistr/u32-strpbrk.c: Likewise.
55785         * lib/unistr/u32-strrchr.c: Likewise.
55786         * lib/unistr/u32-strspn.c: Likewise.
55787         * lib/unistr/u32-strstr.c: Likewise.
55788         * lib/unistr/u32-strtok.c: Likewise.
55789         * lib/unistr/u32-to-u16.c: Likewise.
55790         * lib/unistr/u32-to-u8.c: Likewise.
55791         * lib/unistr/u32-uctomb.c: Likewise.
55792         * lib/unistr/u8-check.c: Likewise.
55793         * lib/unistr/u8-chr.c: Likewise.
55794         * lib/unistr/u8-cmp.c: Likewise.
55795         * lib/unistr/u8-cpy-alloc.c: Likewise.
55796         * lib/unistr/u8-cpy.c: Likewise.
55797         * lib/unistr/u8-endswith.c: Likewise.
55798         * lib/unistr/u8-mblen.c: Likewise.
55799         * lib/unistr/u8-mbsnlen.c: Likewise.
55800         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55801         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55802         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55803         * lib/unistr/u8-mbtouc.c: Likewise.
55804         * lib/unistr/u8-mbtoucr.c: Likewise.
55805         * lib/unistr/u8-move.c: Likewise.
55806         * lib/unistr/u8-next.c: Likewise.
55807         * lib/unistr/u8-prev.c: Likewise.
55808         * lib/unistr/u8-set.c: Likewise.
55809         * lib/unistr/u8-startswith.c: Likewise.
55810         * lib/unistr/u8-stpcpy.c: Likewise.
55811         * lib/unistr/u8-stpncpy.c: Likewise.
55812         * lib/unistr/u8-strcat.c: Likewise.
55813         * lib/unistr/u8-strchr.c: Likewise.
55814         * lib/unistr/u8-strcmp.c: Likewise.
55815         * lib/unistr/u8-strcpy.c: Likewise.
55816         * lib/unistr/u8-strcspn.c: Likewise.
55817         * lib/unistr/u8-strdup.c: Likewise.
55818         * lib/unistr/u8-strlen.c: Likewise.
55819         * lib/unistr/u8-strmblen.c: Likewise.
55820         * lib/unistr/u8-strmbtouc.c: Likewise.
55821         * lib/unistr/u8-strncat.c: Likewise.
55822         * lib/unistr/u8-strncmp.c: Likewise.
55823         * lib/unistr/u8-strncpy.c: Likewise.
55824         * lib/unistr/u8-strnlen.c: Likewise.
55825         * lib/unistr/u8-strpbrk.c: Likewise.
55826         * lib/unistr/u8-strrchr.c: Likewise.
55827         * lib/unistr/u8-strspn.c: Likewise.
55828         * lib/unistr/u8-strstr.c: Likewise.
55829         * lib/unistr/u8-strtok.c: Likewise.
55830         * lib/unistr/u8-to-u16.c: Likewise.
55831         * lib/unistr/u8-to-u32.c: Likewise.
55832         * lib/unistr/u8-uctomb-aux.c: Likewise.
55833         * lib/unistr/u8-uctomb.c: Likewise.
55834         * lib/unitypes.h: Likewise.
55835         * lib/uniwidth.h: Likewise.
55836         * lib/uniwidth/cjk.h: Likewise.
55837         * lib/uniwidth/u16-strwidth.c: Likewise.
55838         * lib/uniwidth/u16-width.c: Likewise.
55839         * lib/uniwidth/u32-strwidth.c: Likewise.
55840         * lib/uniwidth/u32-width.c: Likewise.
55841         * lib/uniwidth/u8-strwidth.c: Likewise.
55842         * lib/uniwidth/u8-width.c: Likewise.
55843         * lib/uniwidth/width.c: Likewise.
55844
55845 2007-10-07  Bruno Haible  <bruno@clisp.org>
55846
55847         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55848         The file is still under LGPL (see modules/inttypes).
55849
55850 2007-10-06  Bruno Haible  <bruno@clisp.org>
55851
55852         * modules/trunc (Dependencies): Add 'extensions'.
55853         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55854         Reported by Ben Pfaff <blp@gnu.org>.
55855
55856 2007-10-06  Bruno Haible  <bruno@clisp.org>
55857
55858         * modules/freopen-tests: New file.
55859         * tests/test-freopen.c: New file.
55860
55861         * modules/fopen-tests: New file.
55862         * tests/test-fopen.c: New file.
55863
55864         * modules/fopen: New file.
55865         * lib/fopen.c: New file.
55866         * m4/fopen.m4: New file.
55867         * modules/freopen: New file.
55868         * lib/freopen.c: New file.
55869         * m4/freopen.m4: New file.
55870         * lib/stdio.in.h (fopen, freopen): New declarations.
55871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55872         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55873         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55874         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55875         * doc/functions/fopen.texi: Mention the 'fopen' module.
55876         * doc/functions/freopen.texi: Mention the 'freopen' module.
55877
55878 2007-10-06  Bruno Haible  <bruno@clisp.org>
55879
55880         * modules/open-tests: New file.
55881         * tests/test-open.c: New file.
55882
55883         * modules/open: New file.
55884         * lib/open.c: New file.
55885         * m4/open.m4: New file.
55886         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55887         lib/open.c does.
55888         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55889         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55890         macros.
55891         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55892         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55893         REPLACE_OPEN.
55894         * doc/functions/open.texi: Mention the 'open' module.
55895
55896 2007-10-04  Bruno Haible  <bruno@clisp.org>
55897
55898         * modules/ceill-tests: New file.
55899         * tests/test-ceill.c: New file.
55900
55901         * modules/ceill: New file.
55902         * lib/ceill.c: Replace entire file.
55903         * m4/ceill.m4: New file.
55904         * lib/math.in.h (ceill): Replace declaration.
55905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55906         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55907         * doc/functions/ceill.texi: Mention the 'ceill' module.
55908         * modules/mathl (Files): Remove lib/ceill.c.
55909         (Depends-on): Add ceill.
55910
55911 2007-10-04  Bruno Haible  <bruno@clisp.org>
55912
55913         * modules/ceilf-tests: New file.
55914         * tests/test-ceilf.c: New file.
55915
55916         * modules/ceilf: New file.
55917         * lib/ceil.c: New file.
55918         * lib/ceilf.c: New file.
55919         * m4/ceilf.m4: New file.
55920         * lib/math.in.h (ceilf): New declaration.
55921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55922         HAVE_DECL_CEILF.
55923         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55924         HAVE_DECL_CEILF.
55925         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55926
55927 2007-10-04  Bruno Haible  <bruno@clisp.org>
55928
55929         * modules/floorl-tests: New file.
55930         * tests/test-floorl.c: New file.
55931
55932         * modules/floorl: New file.
55933         * lib/floorl.c: Replace entire file.
55934         * m4/floorl.m4: New file.
55935         * lib/math.in.h (floorl): Replace declaration.
55936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
55937         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
55938         * doc/functions/floorl.texi: Mention the 'floorl' module.
55939         * modules/mathl (Files): Remove lib/floorl.c.
55940         (Depends-on): Add floorl.
55941
55942 2007-10-04  Bruno Haible  <bruno@clisp.org>
55943
55944         * modules/floorf-tests: New file.
55945         * tests/test-floorf.c: New file.
55946
55947         * modules/floorf: New file.
55948         * lib/floor.c: New file.
55949         * lib/floorf.c: New file.
55950         * m4/floorf.m4: New file.
55951         * lib/math.in.h (floorf): New declaration.
55952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
55953         HAVE_DECL_FLOORF.
55954         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
55955         HAVE_DECL_FLOORF.
55956         * doc/functions/floorf.texi: Mention the 'floorf' module.
55957
55958 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
55959             Bruno Haible  <bruno@clisp.org>
55960
55961         Advertise for the Git server instead of the CVS server.
55962         * doc/gnulib-intro.texi (Steady Development): Mention the Git
55963         repository instead of the CVS one.
55964         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
55965         about all VCS systems generically.
55966         * doc/gnulib.texi (Introduction): Capitalize `Git'.
55967
55968 2007-10-04  Bruno Haible  <bruno@clisp.org>
55969
55970         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
55971         means.
55972         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
55973
55974 2007-10-04  Bruno Haible  <bruno@clisp.org>
55975
55976         * modules/truncl-tests: New file.
55977         * tests/test-truncl.c: New file.
55978
55979         * modules/truncl: New file.
55980         * lib/truncl.c: New file.
55981         * m4/truncl.m4: New file.
55982         * lib/math.in.h (truncl): New declaration.
55983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
55984         HAVE_DECL_TRUNCL.
55985         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
55986         HAVE_DECL_TRUNCL.
55987         * doc/functions/truncl.texi: Mention the 'truncl' module.
55988
55989 2007-10-04  Bruno Haible  <bruno@clisp.org>
55990
55991         * modules/truncf-tests: New file.
55992         * tests/test-truncf.c: New file.
55993
55994         * modules/truncf: New file.
55995         * lib/trunc.c: Make paramerizable through USE_* macros.
55996         * lib/truncf.c: New file.
55997         * m4/truncf.m4: New file.
55998         * lib/math.in.h (truncf): New declaration.
55999         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56000         HAVE_DECL_TRUNCF.
56001         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56002         HAVE_DECL_TRUNCF.
56003         * doc/functions/truncf.texi: Mention the 'truncf' module.
56004
56005 2007-10-03  Bruno Haible  <bruno@clisp.org>
56006
56007         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56008         augmentation also for tests modules.
56009         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56010         * modules/atexit-tests (Makefile.am): Likewise.
56011         * modules/binary-io-tests (Makefile.am): Likewise.
56012         * modules/c-strcase-tests (Makefile.am): Likewise.
56013         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56014         * modules/canonicalize-tests (Makefile.am): Likewise.
56015         * modules/closein-tests (Makefile.am): Likewise.
56016         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56017         * modules/freadahead-tests (Makefile.am): Likewise.
56018         * modules/fseek-tests (Makefile.am): Likewise.
56019         * modules/fseeko-tests (Makefile.am): Likewise.
56020         * modules/ftell-tests (Makefile.am): Likewise.
56021         * modules/ftello-tests (Makefile.am): Likewise.
56022         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56023         * modules/isnanl-tests (Makefile.am): Likewise.
56024         * modules/lseek-tests (Makefile.am): Likewise.
56025         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56026         * modules/mbscasestr-tests (Makefile.am): Likewise.
56027         * modules/mbschr-tests (Makefile.am): Likewise.
56028         * modules/mbscspn-tests (Makefile.am): Likewise.
56029         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56030         * modules/mbspbrk-tests (Makefile.am): Likewise.
56031         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56032         * modules/mbsrchr-tests (Makefile.am): Likewise.
56033         * modules/mbsspn-tests (Makefile.am): Likewise.
56034         * modules/mbsstr-tests (Makefile.am): Likewise.
56035         * modules/printf-posix-tests (Makefile.am): Likewise.
56036         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56037         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56038         * modules/tsearch-tests (Makefile.am): Likewise.
56039         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56040         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56041         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56042         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56043         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56044         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56045         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56046         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56047         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56048         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56049         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56050         * modules/xstrtol-tests (Makefile.am): Likewise.
56051         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56052         * modules/yesno-tests (Makefile.am): Likewise.
56053
56054 2007-10-03  Bruno Haible  <bruno@clisp.org>
56055
56056         * modules/trunc-tests: New file.
56057         * tests/test-trunc.c: New file.
56058
56059         * modules/trunc: New file.
56060         * lib/trunc.c: New file.
56061         * m4/trunc.m4: New file.
56062         * lib/math.in.h (trunc): New declaration.
56063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56064         HAVE_DECL_TRUNC.
56065         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56066         HAVE_DECL_TRUNC.
56067         * doc/functions/trunc.texi: Mention the 'trunc' module.
56068
56069 2007-10-03  Bruno Haible  <bruno@clisp.org>
56070
56071         * tests/test-fpending.c: New file, mostly copied
56072         from coreutils/lib/t-fpending.c.
56073         * modules/fpending-tests: New file.
56074
56075 2007-10-03  Bruno Haible  <bruno@clisp.org>
56076
56077         Port the stdio extensions to QNX (untested).
56078         * lib/fseterr.c (fseterr): Add support for QNX.
56079         * lib/fbufmode.c (fbufmode): Likewise.
56080         * lib/freadable.c (freadable): Likewise.
56081         * lib/fwritable.c (fwritable): Likewise.
56082         * lib/freading.c (freading): Likewise.
56083         * lib/fwriting.c (fwriting): Likewise.
56084         * lib/freadahead.c (freadahed): Likewise.
56085         * lib/fpurge.c (fpurge): Likewise.
56086         * lib/fseeko.c (rpl_fseeko): Likewise.
56087
56088 2007-10-03  Bruno Haible  <bruno@clisp.org>
56089             Jim Meyering  <jim@meyering.net>
56090             Eric Blake  <ebb9@byu.net>
56091
56092         * doc/relocatable.texi: Use @command instead of @program.
56093
56094 2007-10-02  Jim Meyering  <jim@meyering.net>
56095
56096         Perform one more "_.h" -> ".in.h" substitution.
56097         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56098         instead of unistd_.h here, too.
56099
56100 2007-10-01  Bruno Haible  <bruno@clisp.org>
56101
56102         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56103         Needed for the alloca-opt module.
56104
56105 2007-09-30  Bruno Haible  <bruno@clisp.org>
56106
56107         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56108         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56109         alloca_.h.
56110         * lib/argz.in.h: Renamed from lib/argz_.h.
56111         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56112         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56113         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56114         byteswap_.h.
56115         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56116         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56117         dirent_.h.
56118         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56119         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56120         fcntl_.h.
56121         * lib/float.in.h: Renamed from lib/float_.h.
56122         * modules/float (Files, Makefile.am): Use float.in.h instead of
56123         float_.h.
56124         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56125         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56126         fnmatch_.h.
56127         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56128         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56129         getopt_.h.
56130         * lib/glob.in.h: Renamed from lib/glob_.h.
56131         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56132         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56133         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56134         iconv_.h.
56135         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56136         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56137         inttypes_.h.
56138         * lib/locale.in.h: Renamed from lib/locale_.h.
56139         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56140         locale_.h.
56141         * lib/math.in.h: Renamed from lib/math_.h.
56142         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56143         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56144         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56145         of netinet_in_.h. Add dependency.
56146         * lib/poll.in.h: Renamed from lib/poll_.h.
56147         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56148         * lib/search.in.h: Renamed from lib/search_.h.
56149         * modules/search (Files, Makefile.am): Use search.in.h instead of
56150         search_.h.
56151         * lib/signal.in.h: Renamed from lib/signal_.h.
56152         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56153         _signal.h.
56154         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56155         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56156         stdbool_.h.
56157         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56158         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56159         stdint_.h.
56160         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56161         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56162         stdio_.h.
56163         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56164         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56165         stdlib_.h.
56166         * lib/string.in.h: Renamed from lib/string_.h.
56167         * modules/string (Files, Makefile.am): Use string.in.h instead of
56168         string_.h.
56169         * doc/gnulib-tool.texi (Initial import): Update.
56170         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56171         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56172         of sys_select_.h. Add dependency.
56173         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56174         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56175         of sys_socket_.h.
56176         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56177         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56178         sys_stat_.h.
56179         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56180         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56181         sys_time_.h.
56182         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56183         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56184         sysexits_.h.
56185         * lib/time.in.h: Renamed from lib/time_.h.
56186         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56187         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56188         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56189         unistd_.h.
56190         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56191         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56192         wchar_.h.
56193         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56194         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56195         wctype_.h.
56196         * build-aux/bootstrap (slurp): Update.
56197         * lib/.cppi-disable: Update.
56198
56199 2007-09-30  Bruno Haible  <bruno@clisp.org>
56200
56201         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56202         Needed on BeOS.
56203
56204 2007-09-30  Bruno Haible  <bruno@clisp.org>
56205
56206         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56207
56208 2007-09-29  Bruno Haible  <bruno@clisp.org>
56209
56210         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56211
56212 2007-09-29  Bruno Haible  <bruno@clisp.org>
56213
56214         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56215         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56216         * build-aux/install-reloc: Compile also areadlink.c.
56217         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56218
56219 2007-09-29  Bruno Haible  <bruno@clisp.org>
56220
56221         * gnulib-tool (func_emit_initmacro_done): Indentation.
56222
56223 2007-09-29  Bruno Haible  <bruno@clisp.org>
56224
56225         * README: Add CVS checkout update instructions.
56226         Info from Bob Proulx <bob@proulx.com>.
56227
56228 2007-09-28  Eric Blake  <ebb9@byu.net>
56229
56230         Provide move-if-change.
56231         * build-aux/move-if-change: New file, based on best practice
56232         rather than any canonical upstream location.
56233
56234 2007-09-28  Jim Meyering  <jim@meyering.net>
56235
56236         Fix canonicalize loop-detection corner case.
56237         Do not attempt to stat the symlink values stored via seen_triple.
56238         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56239         on linux-2.6.18, (but not 2.6.22).
56240         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56241         triple_compare.  The former compares dev,ino,filename, while the latter
56242         would actually stat dirname(filename) when dev and ino were equal.
56243         * lib/hash-triple.c: Install <string.h>.
56244         (STREQ): Define.
56245         (triple_compare_ino_str): New function.
56246         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56247
56248 2007-09-28  Eric Blake  <ebb9@byu.net>
56249
56250         Enforce that AC_REPLACE_FUNCS files exist.
56251         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56252         override check for typos.
56253
56254         Fix test-closein on Solaris 10.
56255         * tests/test-closein.c (main): Don't assume stdin can be inherited
56256         closed on all systems.
56257         * tests/test-closein.sh: Likewise.
56258         Reported by Piotr Tarnowski.
56259
56260 2007-09-28  Jim Meyering  <jim@meyering.net>
56261
56262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56263
56264 2007-09-27  Jim Meyering  <jim@meyering.net>
56265
56266         canonicalize: Avoid a false-positive cycle failure.
56267         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56268         Sort.  Remove cycle-check.
56269         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56270         not cycle-check.h.
56271         (seen_triple): New function.
56272         (canonicalize_filename_mode): Use it instead of cycle-check.
56273         * tests/test-canonicalize.c: Add a test for this bug.
56274         * tests/test-canonicalize.sh: Set up and run the test.
56275
56276         New module, file-set, from coreutils.
56277         * modules/file-set: Define it.
56278         * lib/file-set.c, lib/file-set.h: Implement.
56279
56280         New module, hash-triple, from coreutils.
56281         * modules/hash-triple: Define it.
56282         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56283
56284 2007-09-25  Eric Blake  <ebb9@byu.net>
56285
56286         Fix strerror on Interix.
56287         * lib/string_.h (strerror): Declare replacement.
56288         * doc/functions/strerror.texi (strerror): Document the Interix
56289         shortcoming.
56290         * modules/string (Makefile.am): Support new hooks.
56291         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56292         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56293         gl_FUNC_STRERROR_SEPARATE.
56294         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56295         * lib/strerror.c (rpl_strerror): Provide replacement.
56296         * modules/strerror (Depends-on): Add string.
56297         (configure.ac): Detect use of module.
56298         * tests/test-strerror.c: New file.
56299         * modules/strerror-tests: New test module.
56300         * modules/argp (Depends-on): Add strerror.
56301         * modules/error (Depends-on): Likewise.
56302         Reported by Martin Koeppe.
56303
56304 2007-09-24  Bruno Haible  <bruno@clisp.org>
56305
56306         * README: Update git instructions.
56307
56308 2007-09-24  Eric Blake  <ebb9@byu.net>
56309
56310         Revert fpending breakage from 2007-09-08.
56311         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56312         __fpending.c.
56313
56314 2007-09-24  Jim Meyering  <jim@meyering.net>
56315
56316         filenamecat.c: Add a test.
56317         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56318         showing how the function works when DIR is the empty string.
56319
56320 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56321
56322         * tests/test-canonicalize.sh: Turn on executable bit.
56323
56324 2007-09-19  Eric Blake  <ebb9@byu.net>
56325
56326         * README: Update CVS instructions.
56327
56328 2007-09-18  Bruno Haible  <bruno@clisp.org>
56329
56330         * modules/areadlink: New file.
56331         * lib/areadlink.h (areadlink): New declaration.
56332         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56333
56334 2007-09-17  Jim Meyering  <jim@meyering.net>
56335
56336         * lib/savewd.c (ESTALE) [!defined]: Define.
56337         Reported to be required on Interix by Martin Koeppe.
56338
56339 2007-09-17  Bruno Haible  <bruno@clisp.org>
56340
56341         * gnulib-tool (func_version): Use $version.
56342
56343 2007-09-16  Bruno Haible  <bruno@clisp.org>
56344
56345         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56346         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56347         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56348         Reported by Greg Schafer <gschafer@zip.com.au>.
56349
56350 2007-09-15  Bruno Haible  <bruno@clisp.org>
56351
56352         * gnulib-tool (sed): Try a little harder to make bash understand the
56353         alias.
56354         Reported by Bruce Korb <bruce.korb@gmail.com>.
56355
56356 2007-09-13  Eric Blake  <ebb9@byu.net>
56357
56358         * ChangeLog: Remove conflict markers.
56359
56360 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56361
56362         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56363         Reported by Bruno Haible <bruno@clisp.org>.
56364
56365 2007-09-12  Bruno Haible  <bruno@clisp.org>
56366
56367         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56368         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56369         is not defined.
56370
56371 2007-09-12  Eric Blake  <ebb9@byu.net>
56372
56373         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56374         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56375         Autoconf definition.
56376         * modules/euidaccess (Depends-on): Add extensions, for
56377         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56378         * modules/fnmatch (Depends-on): Likewise.
56379         * modules/getaddrinfo (Depends-on): Likewise.
56380         * modules/getdelim (Depends-on): Likewise.
56381         * modules/getline (Depends-on): Likewise.
56382         * modules/getsubopt (Depends-on): Likewise.
56383         * modules/gettext (Depends-on): Likewise.
56384         * modules/group-member (Depends-on): Likewise.
56385         * modules/mbchar (Depends-on): Likewise.
56386         * modules/memmem (Depends-on): Likewise.
56387         * modules/mempcpy (Depends-on): Likewise.
56388         * modules/memrchr (Depends-on): Likewise.
56389         * modules/pagealign_alloc (Depends-on): Likewise.
56390         * modules/readutmp (Depends-on): Likewise.
56391         * modules/stpcpy (Depends-on): Likewise.
56392         * modules/stpncpy (Depends-on): Likewise.
56393         * modules/strchrnul (Depends-on): Likewise.
56394         * modules/strndup (Depends-on): Likewise.
56395         * modules/strsep (Depends-on): Likewise.
56396         * modules/strverscmp (Depends-on): Likewise.
56397         * modules/vasprintf (Depends-on): Likewise.
56398         * modules/wcwidth (Depends-on): Likewise.
56399         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56400         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56401         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56402         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56403         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56404         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56405         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56406         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56407         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56408         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56409         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56410         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56411         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56412         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56413         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56414         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56415         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56416         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56417         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56418         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56419         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56420         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56421         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56422         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56423         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56424         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56425         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56426         so that lock.m4 can be used in gettext without extensions module.
56427
56428 2007-09-11  Bruno Haible  <bruno@clisp.org>
56429
56430         * m4/isc-posix.m4: Remove file.
56431         Suggested by Eric Blake.
56432
56433 2007-09-11  Eric Blake  <ebb9@byu.net>
56434
56435         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56436
56437 2007-09-10  Bruno Haible  <bruno@clisp.org>
56438
56439         * posix-modules: Fix typo in error message.
56440         Reported by Matt <mkraai@beckman.com>.
56441
56442 2007-09-09  Bruno Haible  <bruno@clisp.org>
56443
56444         * doc/functions/getdelim.texi: Update list of platforms lacking the
56445         function.
56446         * doc/functions/getline.texi: Likewise.
56447
56448 2007-09-09  Jim Meyering  <jim@meyering.net>
56449
56450         * lib/hash.c (hash_initialize): Detect calloc failure.
56451         Reported by Bruno Haible.
56452
56453 2007-09-09  Bruno Haible  <bruno@clisp.org>
56454
56455         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56456         malloc or realloc fails.
56457
56458 2007-09-09  Bruno Haible  <bruno@clisp.org>
56459
56460         * modules/getcwd (Depends-on): Add malloc-posix.
56461         * modules/glob (Depends-on): Likewise.
56462         * modules/putenv (Depends-on): Likewise.
56463         * modules/strdup (Depends-on): Likewise.
56464         * modules/getdelim (Depends-on): Add realloc-posix.
56465         * modules/read-file (Depends-on): Likewise.
56466
56467 2007-09-09  Bruno Haible  <bruno@clisp.org>
56468
56469         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56470         (gl_FUNC_MALLOC_POSIX): Require it.
56471         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56472         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56473         * modules/realloc (Files): Add m4/malloc.m4.
56474         * modules/calloc (Files): Likewise.
56475
56476 2007-09-09  Bruno Haible  <bruno@clisp.org>
56477
56478         * modules/malloc-posix: New file.
56479         * modules/malloc (Depends-on): Add malloc-posix.
56480         * lib/malloc.c: Include errno.h.
56481         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56482         and a POSIX-compatible malloc into a single function. Set ENOMEM
56483         when returning NULL.
56484         * m4/malloc.m4: New file.
56485         * doc/functions/malloc.texi: Mention the malloc-posix module.
56486         * lib/stdlib_.h (malloc): New declaration.
56487         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56488         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56489         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56490         and HAVE_MALLOC_POSIX.
56491
56492 2007-09-09  Bruno Haible  <bruno@clisp.org>
56493
56494         * modules/realloc-posix: New file.
56495         * modules/realloc (Depends-on): Add realloc-posix.
56496         * lib/realloc.c: Include errno.h.
56497         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56498         and a POSIX-compatible realloc into a single function. Set ENOMEM
56499         when returning NULL.
56500         * m4/realloc.m4: New file.
56501         * doc/functions/realloc.texi: Mention the realloc-posix module.
56502         * lib/stdlib_.h (realloc): New declaration.
56503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56504         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56505         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56506         and HAVE_REALLOC_POSIX.
56507
56508 2007-09-09  Bruno Haible  <bruno@clisp.org>
56509
56510         * modules/calloc-posix: New file.
56511         * modules/calloc (Depends-on): Add calloc-posix.
56512         * lib/calloc.c: Include errno.h.
56513         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56514         and a POSIX-compatible calloc into a single function. Set ENOMEM
56515         when returning NULL.
56516         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56517         * doc/functions/calloc.texi: Mention the calloc-posix module.
56518         * lib/stdlib_.h (calloc): New declaration.
56519         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56520         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56521         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56522         and HAVE_CALLOC_POSIX.
56523
56524 2007-09-09  Bruno Haible  <bruno@clisp.org>
56525
56526         Allow for modules to show an arbitrary notice.
56527         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56528         * gnulib-tool: New option --extract-notice.
56529         (func_usage): Document it.
56530         (sed_extract_prog): Update.
56531         (func_get_notice): New function.
56532         (func_modules_notice): New function.
56533         (func_import, func_create_testdir): Invoke it.
56534         Suggested by Jim Meyering.
56535
56536 2007-09-09  Bruno Haible  <bruno@clisp.org>
56537
56538         * gnulib-tool: New options --verbose, --quiet.
56539         (func_usage): Document them.
56540         (verbose): New variable.
56541         (func_execute_command): New function.
56542         (func_import): Don't show the module list and the file list if
56543         $verbose < 0.
56544         (func_create_testdir): Likewise. Use func_execute_command.
56545         (func_create_megatestdir): Use func_execute_command.
56546
56547 2007-09-08  Bruno Haible  <bruno@clisp.org>
56548
56549         * gnulib-tool (func_import): Prefer rsync over wget when available,
56550         for fetching the PO files.
56551
56552 2007-09-08  Bruno Haible  <bruno@clisp.org>
56553
56554         * posix-modules: New file. Portions copied from gnulib-tool.
56555         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56556
56557 2007-09-08  Jim Meyering  <jim@meyering.net>
56558
56559         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56560         * lib/fpending.h: Rename from __fpending.h.
56561         * lib/fpending.c: Rename from __fpending.c.
56562         Include "fpending.h", not "__fpending.h".
56563         * lib/__fpending.h, lib/__fpending.c: Remove files.
56564         * modules/fpending (Files): Reflect new file names.
56565         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56566
56567 2007-09-08  Bruno Haible  <bruno@clisp.org>
56568
56569         * m4/inttypes-h.m4: Remove stub file.
56570
56571 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56572
56573         * doc/headers/stdint.texi: Discuss #include_next issue.
56574
56575 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56576
56577         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56578
56579 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56580
56581         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56582         in variable name.
56583
56584 2007-09-03  Jim Meyering  <jim@meyering.net>
56585
56586         New module: git-version-gen.
56587         * modules/git-version-gen: New file.
56588
56589         Import changes from coreutils for bootstrap script.
56590
56591         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56592
56593         bootstrap: uses rsync to download the .po files
56594         * build-aux/bootstrap (po_download_command_format): New global.
56595         (download_po_files): Use rsync.
56596         (update_po_files): Don't remove .po files after download,
56597         so future rsync runs can take advantage of the copies.
56598
56599         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56600
56601         Solve the unnecessary-.po-file-regeneration problem once and for all.
56602         * build-aux/bootstrap (download_po_files): New function, renamed from
56603         get_translations.  Now, downloads, but doesn't update LINGUAS.
56604         (update_po_files): New function.
56605
56606         bootstrap: Ignore more.
56607         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56608         uniwidth to e.g., lib/.gitignore.
56609         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56610
56611         * build-aux/bootstrap: New setting: vc_ignore.
56612         (insert_sorted_if_absent): Create $file if absent.
56613         Adapt to new, possibly empty, list: $vc_ignore.
56614
56615         bootstrap: generate more ignorable names
56616         * build-aux/bootstrap (slurp): When generating ignorable names,
56617         also map .sin to .sed, .gperf to .c, and .y to .c.
56618
56619 2007-09-03  Jim Meyering  <jim@meyering.net>
56620
56621         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56622         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56623
56624 2007-09-02  Bruno Haible  <bruno@clisp.org>
56625
56626         Fix mis-recognition of 'mcs' on QNX 6.
56627         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56628         output contains the string "Mono".
56629         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56630         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56631
56632 2007-09-01  Bruno Haible  <bruno@clisp.org>
56633
56634         Fix collision between uniwidth/* and linebreak modules.
56635         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56636         u32_width): Remove declarations.
56637         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56638         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56639         streq3, streq2, streq1, streq0): Remove functions.
56640         (STREQ): Remove macro.
56641         (is_cjk_encoding): Remove function.
56642         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56643         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56644         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56645         * NEWS: Document the change.
56646
56647 2007-09-01  Bruno Haible  <bruno@clisp.org>
56648
56649         * lib/streq.h: Add double-inclusion guard.
56650
56651 2007-09-01  Karl Berry  <karl@gnu.org>
56652
56653         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56654
56655 2007-08-28  Jim Meyering  <jim@meyering.net>
56656
56657         Rename mreadlink_with_size to areadlink_with_size.
56658         * NEWS: Document the change.
56659         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56660         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56661         * lib/mreadlink.h: Rename this to...
56662         * lib/areadlink.h: ...this.
56663         * modules/mreadlink-with-size: Rename this to...
56664         * modules/areadlink-with-size: ...this.
56665         * lib/canonicalize.c: Reflect the renaming.
56666         * modules/canonicalize: Likewise.
56667
56668 2007-08-26  Bruno Haible  <bruno@clisp.org>
56669
56670         * gnulib-tool (func_import): When deciding which files to remove,
56671         consider also dangling symbolic links.
56672         Reported by Eric Blake.
56673
56674 2007-08-26  Bruno Haible  <bruno@clisp.org>
56675
56676         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56677
56678 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56679
56680         * lib/readline.c: Don't include getline.h, the prototype is now
56681         found in stdio.h.
56682
56683 2007-08-23  Jim Meyering  <jim@meyering.net>
56684
56685         Getdelim touchup.
56686         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56687         around the funlockfile call, since funlockfile never sets errno.
56688         Don't set errno upon failed realloc.
56689
56690 2007-08-22  Eric Blake  <ebb9@byu.net>
56691
56692         Getline touchups.
56693         * lib/getdelim.c (getdelim): Revert regression that required *n to
56694         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56695         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56696         getdelim, rather than whether implementation is missing.
56697         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56698         * lib/stdio_.h (getline): Also declare if replacement is
56699         required.
56700         * doc/functions/getdelim.texi: New file.
56701         * doc/functions/getline.texi: Likewise.
56702         * doc/gnulib.texi (Function Substitutes): Add new files.
56703         Reported by Bruno Haible.
56704
56705 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56706
56707         * users.txt: Add Guile.
56708
56709 2007-08-22  Eric Blake  <ebb9@byu.net>
56710
56711         * tests/test-getdelim.c (main): Use remove, not unlink.
56712         * tests/test-getline.c (main): Likewise.
56713
56714         Move getline and getdelim into stdio.h, per POSIX 200x.
56715         * modules/getline (Files): Remove getline.h.
56716         (Depends-on): Add stdio.
56717         (configure.ac): Add module indicator.
56718         * modules/getdelim (Files): Remove getdelim.h.
56719         (Depends-on): Add stdio.
56720         (configure.ac): Add module indicator.
56721         * modules/stdio (Makefile.am): Work with new indicators.
56722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56723         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56724         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56725         * lib/getdelim.h: Delete.
56726         * lib/getline.h: Delete.
56727         * lib/stdio_.h (getdelim, getline): Declare.
56728         * modules/getdelim-tests: New module.
56729         * modules/getline-tests: Likewise.
56730         * tests/test-getdelim.c: New file.
56731         * tests/test-getline.c: Likewise.
56732         * NEWS: Document the change.
56733         * lib/getline.c: Update choice of header.
56734         * lib/csharpcomp.c: Likewise.
56735         * lib/getpass.c: Likewise.
56736         * lib/javacomp.c: Likewise.
56737         * lib/javaversion.c: Likewise.
56738         * lib/yesno.c: Likewise.
56739         * lib/getdelim.c: Likewise.
56740         (getdelim): Set errno on failure, and avoid memory leak.
56741
56742 2007-08-19  Bruno Haible  <bruno@clisp.org>
56743
56744         * modules/closein (Depends-on): Add freadahead.
56745         * lib/closein.c: Include freadahead.h.
56746         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56747         is zero.
56748
56749 2007-08-19  Bruno Haible  <bruno@clisp.org>
56750
56751         * modules/freadahead-tests: New file.
56752         * tests/test-freadahead.sh: New file.
56753         * tests/test-freadahead.c: New file.
56754
56755         * modules/freadahead: New file.
56756         * lib/freadahead.h: New file.
56757         * lib/freadahead.c: New file.
56758         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56759         fbufmode, fpurge, freadable, fwritable.
56760
56761 2007-08-19  Eric Blake  <ebb9@byu.net>
56762
56763         Test yesno in combination with closein.
56764         * lib/yesno.c (yesno): Document use of stdin.
56765         * modules/yesno-tests (Files): New module.
56766         * tests/test-yesno.c (main): New file.
56767         * tests/test-yesno.sh: Likewise.
56768
56769 2007-08-19  Bruno Haible  <bruno@clisp.org>
56770
56771         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56772         * lib/fseeko.c (rpl_fseeko): Likewise.
56773         * lib/fseterr.c (fseterr): Likewise.
56774
56775 2007-08-19  Bruno Haible  <bruno@clisp.org>
56776
56777         * tests/test-lseek.c (main): Disable a test for BeOS.
56778         * doc/functions/lseek.texi: Document the BeOS bug.
56779
56780 2007-08-19  Bruno Haible  <bruno@clisp.org>
56781             Eric Blake  <ebb9@byu.net>
56782
56783         * lib/lseek.c: Include <sys/stat.h>.
56784         (rpl_lseek): Add workaround code also for Unix platforms.
56785         Needed for BeOS.
56786         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56787         * doc/functions/lseek.texi: Document BeOS definiency.
56788
56789 2007-08-18  Bruno Haible  <bruno@clisp.org>
56790
56791         * modules/fstrcmp-tests: New file.
56792         * tests/test-fstrcmp.c: New file.
56793
56794 2007-08-18  Bruno Haible  <bruno@clisp.org>
56795
56796         * modules/fstrcmp: New file, from GNU gettext with modifications.
56797         * lib/fstrcmp.h: New file, from GNU gettext.
56798         * lib/fstrcmp.c: New file, from GNU gettext.
56799         * MODULES.html.sh (String handling): Add fstrcmp.
56800
56801 2007-08-18  Bruno Haible  <bruno@clisp.org>
56802
56803         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56804         'bool'.
56805         (diag, compareseq): Remove const from the ctxt argument.
56806         (USE_HEURISTIC): Undefine at the end.
56807
56808 2007-08-18  Jim Meyering  <jim@meyering.net>
56809
56810         New file: lib/idcache.h
56811         * NEWS: Mention the addition.
56812         * modules/idcache (Files): Add lib/idcache.h
56813         * lib/idcache.c: Include "idcache.h".
56814         Don't include <sys/types.h>.
56815         Add a FIXME comment.
56816         Move file-scoped "static" declarations to the top.
56817         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56818
56819 2007-08-17  Bruno Haible  <bruno@clisp.org>
56820         and Paul Eggert  <eggert@cs.ucla.edu>
56821
56822         * MODULES.html.sh: Add diffseq.
56823         * modules/diffseq: New file.
56824         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56825         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56826
56827 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56828
56829         Import changes from coreutils for bootstrap script.
56830
56831         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56832
56833         * build-aux/bootstrap (slurp): Work even in environments where
56834         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56835         current code does not slurp files whose names start with ".", and
56836         this looks like it might be a troublesome area.
56837
56838         2007-07-11  Jim Meyering  <jim@meyering.net>
56839
56840         If there's a GPL vN copyright comment, require that N == 3.
56841
56842         2007-07-08  Jim Meyering  <jim@meyering.net>
56843
56844         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56845         * build-aux/bootstrap (mam_template): Move definition out of loop.
56846
56847         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56848
56849         * build-aux/bootstrap (symlink_to_dir): Rename function from
56850         symlink_to_gnulib.  Add a directory parameter.  Update all
56851         callers.
56852         (cp_mark_as_generated): Also check for -- and link to -- files in
56853         gl/.
56854
56855         2007-07-08  Jim Meyering  <jim@meyering.net>
56856
56857         Adapt to deeper hierarchy in gnulib.
56858         * build-aux/bootstrap (symlink_to_dir): If the destination
56859         directory doesn't exist, create it. This is required at least for
56860         "lib/uniwidth/cjk.h".
56861
56862         2007-05-15  Jim Meyering  <jim@meyering.net>
56863
56864         * build-aux/bootstrap: Now that generated Makefile.am files
56865         are no longer under version control, they must be created at
56866         bootstrap time.
56867
56868 2007-08-14  Ben Pfaff  <blp@gnu.org>
56869
56870         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56871
56872 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56873
56874         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56875         given the changes below.
56876         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56877         even on hosts that have padding bits beyond the supported 64.
56878
56879 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56880
56881         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56882         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56883         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56884         depends on it.
56885         (xstrtol_error): Remove.
56886         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56887         but with a different signature.
56888         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56889         * lib/xstrtol-error.c: Include exitfail.h.
56890         (xstrtol_fatal): New function, with a different signature from the
56891         old xstrtol_error, so that the caller need not worry about passing
56892         in an exit status, or about storage management of the option argument.
56893         (xstrtol_error): Now a static function.  Redo signature to
56894         implement xstrtol_fatal.  Output the correct number of hyphens in
56895         front of the option so that the caller need not worry about
56896         storage management.
56897         (N_): New macro.
56898         (_): Remove; not used now.
56899         * modules/xstrtol: Depend on getopt.
56900         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56901         of old STRTOL_FATAL_ERROR macro.
56902         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56903         of test program.
56904         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56905         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56906
56907 2007-08-08  Eric Blake  <ebb9@byu.net>
56908
56909         * lib/xstrtol-error.c: Add missing include.
56910
56911         Move xstrtol messages into gnulib domain, when --pobase is used.
56912         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56913         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56914         * modules/xstrtol (Files): Distribute new file.
56915         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56916         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56917         * tests/test-xstrtol.c: ...into new file.
56918         * tests/test-xstrtoul.c: Also test xstrtoul.
56919         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56920         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56921         * tests/test-xstrtol.sh: Drive the tests.
56922         * tests/test-xstrtoimax.sh: Likewise.
56923         * tests/test-xstrtoumax.sh: Likewise.
56924         * modules/xstrtol-tests: New module.
56925         * modules/xstrtoimax-tests: Likewise.
56926         * modules/xstrtoumax-tests: Likewise.
56927
56928 2007-08-08  Jim Meyering  <jim@meyering.net>
56929
56930         New function: mfile_name_concat.
56931         * lib/filenamecat.c (mfile_name_concat): New function, just like
56932         file_name_concat, but return NULL upon failure rather than exiting
56933         with a diagnostic.
56934         * lib/filenamecat.h: Declare it.
56935
56936 2007-08-07  Bruno Haible  <bruno@clisp.org>
56937
56938         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
56939         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
56940         warning from gcc.
56941         Reported by Eric Blake.
56942
56943 2007-08-07  Simon Josefsson  <simon@josefsson.org>
56944
56945         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
56946         * modules/crypto/arcfour (License): Likewise.
56947         * modules/crypto/des-tests (License): Likewise.
56948         * modules/crypto/gc-arctwo-tests (License): Likewise.
56949         * modules/crypto/gc-des-tests (License): Likewise.
56950         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
56951         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
56952         * modules/crypto/gc-md2-tests (License): Likewise.
56953         * modules/crypto/gc-md4-tests (License): Likewise.
56954         * modules/crypto/gc-md5-tests (License): Likewise.
56955         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
56956         * modules/crypto/gc-rijndael-tests (License): Likewise.
56957         * modules/crypto/gc-sha1-tests (License): Likewise.
56958         * modules/crypto/gc-tests (License): Likewise.
56959         * modules/crypto/hmac-md5 (License): Likewise.
56960         * modules/crypto/hmac-sha1 (License): Likewise.
56961         * modules/crypto/md2-tests (License): Likewise.
56962         * modules/crypto/md4-tests (License): Likewise.
56963         * modules/crypto/md5 (License): Likewise.
56964         * modules/crypto/rijndael (License): Likewise.
56965         * modules/crypto/sha1 (License): Likewise.
56966         * modules/memxor (License): Likewise.
56967
56968 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56969         and Bruno Haible  <bruno@clisp.org>
56970
56971         * NEWS: Describe interface changes to human, xstrtol.
56972         * lib/human.h: Include <xstrtol.h>.
56973         (human_options): Return enum strtol_error, not int.  Remove
56974         bool arg; take int * instead.
56975         * lib/human.c: Don't include "gettext.h".
56976         (_): Remove; no longer used.
56977         Don't include <xstrtol.h>, since human.h does it.
56978         (human_options): Adjust to abovementioned interface changes.
56979         Do not report error to stderr; that's now the caller's
56980         responsibility.
56981         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
56982         interface change.
56983         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
56984         Str, Argument_type_string.  All uses changed.  Put " argument"
56985         in diagnostics to make them clearer.  Change wording of suffix
56986         message for clarity.
56987         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
56988         Argument_type_string.
56989         (STRTOL_FATAL_WARN): Remove; no longer used.
56990         * modules/human (Depends-on): Remove gettext-h.
56991
56992 2007-08-06  Simon Josefsson  <simon@josefsson.org>
56993
56994         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
56995
56996 2007-07-31  Bruno Haible  <bruno@clisp.org>
56997
56998         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
56999         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57000         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57001
57002 2007-07-31  Bruno Haible  <bruno@clisp.org>
57003
57004         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57005         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57006
57007 2007-07-30  Bruno Haible  <bruno@clisp.org>
57008
57009         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57010         * modules/c-ctype (License): Likewise.
57011         * modules/c-strcase (License): Likewise.
57012         * modules/check-version (License): Likewise.
57013         * modules/iconv (License): Likewise.
57014         * modules/iconv_open (License): Likewise.
57015         * modules/read-file (License): Likewise.
57016         * modules/striconv (License): Likewise.
57017         * modules/strverscmp (License): Likewise.
57018         * modules/vasprintf (License): Likewise.
57019         * modules/crypto/des (License): Likewise.
57020         * modules/crypto/gc (License): Likewise.
57021         * modules/crypto/gc-arcfour (License): Likewise.
57022         * modules/crypto/gc-arctwo (License): Likewise.
57023         * modules/crypto/gc-des (License): Likewise.
57024         * modules/crypto/gc-hmac-md5 (License): Likewise.
57025         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57026         * modules/crypto/gc-md2 (License): Likewise.
57027         * modules/crypto/gc-md4 (License): Likewise.
57028         * modules/crypto/gc-md5 (License): Likewise.
57029         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57030         * modules/crypto/gc-random (License): Likewise.
57031         * modules/crypto/gc-rijndael (License): Likewise.
57032         * modules/crypto/gc-sha1 (License): Likewise.
57033         * modules/crypto/md2 (License): Likewise.
57034         * modules/crypto/md4 (License): Likewise.
57035
57036 2007-07-30  Jim Meyering  <jim@meyering.net>
57037
57038         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57039         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57040         it has valid stat data.  This bug would cause du not to count the
57041         sizes of inaccessible directories.
57042         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57043         in <http://bugzilla.redhat.com/250077>.
57044
57045 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57046             Bruno Haible  <bruno@clisp.org>
57047
57048         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57049         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57050         #include_next, gives a diagnostic about it, but reports no error in
57051         the exit code.
57052         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57053
57054 2007-07-24  Ben Pfaff  <blp@gnu.org>
57055
57056         Improve name: "count-one-bits" is better than "popcount".
57057         * MODULES.html.sh: Update name.
57058         * lib/popcount.h: Renamed lib/count-one-bits.h.
57059         (popcount): Renamed count_one_bits.
57060         (popcountl): Renamed count_one_bits_l.
57061         (popcountll): Renamed count_one_bits_ll.
57062         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57063         * modules/popcount: Renamed module/count-one-bits.
57064         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57065         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57066
57067 2007-07-23  Ben Pfaff  <blp@gnu.org>
57068
57069         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57070         better code generation, and add U to large constants to avoid
57071         warnings, in non-GCC case.
57072         Suggested by Bruno Haible.
57073
57074 2007-07-23  Ben Pfaff  <blp@gnu.org>
57075
57076         * lib/popcount.h: Use verify_true instead of if...abort.
57077         * modules/popcount: Depend on verify module.
57078         Suggested by Jim Meyering.
57079
57080 2007-07-23  Bruno Haible  <bruno@clisp.org>
57081
57082         * gnulib-tool (func_import): Create a .cvsignore file also when the
57083         directory is not yet in CVS but the toplevel directory is. When
57084         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57085         Reported by Karl Berry.
57086
57087 2007-07-22  Ben Pfaff  <blp@gnu.org>
57088
57089         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57090         case.
57091         Suggested by Eric Blake.
57092
57093 2007-07-22  Ben Pfaff  <blp@gnu.org>
57094
57095         New module: popcount.
57096         * MODULES.html.sh: Add popcount.
57097         * modules/popcount: New file.
57098         * modules/popcount-tests: New file.
57099         * tests/test-popcount.c: New file.
57100         * lib/popcount.h: New file.
57101         * m4/popcount.m4: New file.
57102
57103 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57104
57105         * build-aux/announce-gen: Update to GPLv3.
57106
57107         * build-aux/config.guess: Update from config.
57108
57109 2007-07-21  Bruno Haible  <bruno@clisp.org>
57110
57111         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57112         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57113
57114 2007-07-20  Jim Meyering  <jim@meyering.net>
57115
57116         * check-module: Diagnose a self-dependency.
57117
57118 2007-07-19  Bruno Haible  <bruno@clisp.org>
57119
57120         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57121         empty.
57122         Reported by Eric Blake.
57123
57124 2007-07-18  Bruno Haible  <bruno@clisp.org>
57125
57126         * gnulib-tool: New options --po-base, --po-domain.
57127         (func_usage): Document them.
57128         (pobase, po_domain): New variables.
57129         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57130         DEFAULT_TEXT_DOMAIN.
57131         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57132         (func_import): Consider pobase and po_domain. Create a po/ directory.
57133         (func_create_testdir): Set pobase and po_domain to empty.
57134         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57135         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57136
57137 2007-07-18  Bruno Haible  <bruno@clisp.org>
57138
57139         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57140         EXTRA_DIST augmentation for files in build-aux/.
57141
57142 2007-07-16  Bruno Haible  <bruno@clisp.org>
57143
57144         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57145         * modules/getdelim (License): Likewise.
57146
57147 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57148
57149         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57150         * modules/d-type (License): Likewise.
57151         * modules/extensions (License): Likewise.
57152         * modules/fnmatch (License): Likewise.
57153         * modules/fseeko (License): Likewise.
57154         * modules/getaddrinfo (License): Likewise.
57155         * modules/getline (License): Likewise.
57156         * modules/getlogin_r (License): Likewise.
57157         * modules/getpass (License): Likewise.
57158         * modules/gettimeofday (License): Likewise.
57159         * modules/glob (License): Likewise.
57160         * modules/inet_ntop (License): Likewise.
57161         * modules/malloc (License): Likewise.
57162         * modules/malloca (License): Likewise.
57163         * modules/memmem (License): Likewise.
57164         * modules/mempcpy (License): Likewise.
57165         * modules/memset (License): Likewise.
57166         * modules/minmax (License): Likewise.
57167         * modules/mktime (License): Likewise.
57168         * modules/netinet_in (License): Likewise.
57169         * modules/pathmax (License): Likewise.
57170         * modules/poll (License): Likewise.
57171         * modules/regex (License): Likewise.
57172         * modules/snprintf (License): Likewise.
57173         * modules/stdbool (License): Likewise.
57174         * modules/stdint (License): Likewise.
57175         * modules/stdio (License): Likewise.
57176         * modules/strcase (License): Likewise.
57177         * modules/strcasestr (License): Likewise.
57178         * modules/strdup (License): Likewise.
57179         * modules/string (License): Likewise.
57180         * modules/strndup (License): Likewise.
57181         * modules/strnlen (License): Likewise.
57182         * modules/strpbrk (License): Likewise.
57183         * modules/strptime (License): Likewise.
57184         * modules/strsep (License): Likewise.
57185         * modules/sys_select (License): Likewise.
57186         * modules/sys_socket (License): Likewise.
57187         * modules/sys_stat (License): Likewise.
57188         * modules/sys_time (License): Likewise.
57189         * modules/time (License): Likewise.
57190         * modules/time_r (License): Likewise.
57191         * modules/timegm (License): Likewise.
57192         * modules/unistd (License): Likewise.
57193         * modules/vsnprintf (License): Likewise.
57194         * modules/wctype (License): Likewise.
57195
57196 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57197
57198         * modules/argz (License): LGPLv2+.
57199
57200 2007-07-15  Karl Berry  <karl@gnu.org>
57201
57202         * doc/gnulib.texi: revise node structure per new fdl.texi.
57203
57204 2007-07-14  Bruno Haible  <bruno@clisp.org>
57205
57206         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57207         the output file.
57208         * lib/uniname/uninames.h: Regenerated.
57209
57210 2007-07-14  Karl Berry  <karl@gnu.org>
57211
57212         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57213         omitting sectioning and index commands.
57214
57215 2007-07-13  Bruno Haible  <bruno@clisp.org>
57216
57217         New gnulib-tool option --more-symlinks.
57218         * gnulib-tool (func_usage): Document --more-symlinks.
57219         (do_copyrights): New variable.
57220         Recognize option --more-symlinks.
57221         (func_import): Don't add a copyright notice transform to
57222         sed_transform_lib_file if do_copyrights is empty.
57223
57224 2007-07-13  Bruno Haible  <bruno@clisp.org>
57225
57226         * lib/vasnprintf.c (decimal_point_char): Define also if
57227         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57228         && !NEED_PRINTF_DIRECTIVE_A.
57229         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57230         Gary V. Vaughan <gary@gnu.org>.
57231
57232 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57233
57234         * lib/inttypes_.h: Undo previous change, since it was fixed
57235         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57236
57237 2007-07-13  Bruno Haible  <bruno@clisp.org>
57238
57239         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57240         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57241
57242 2007-07-13  Jim Meyering  <jim@meyering.net>
57243
57244         df: Don't fail for Tru64's "file-on-file mount".
57245         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57246         so we fall through and use statfs instead.  Details here:
57247         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57248         Reported by Albert Chin.
57249
57250 2007-07-13  Bruno Haible  <bruno@clisp.org>
57251
57252         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57253         * modules/configmake (License): Likewise.
57254         * modules/gettext (License): Likewise.
57255         * modules/gettext-h (License): Likewise.
57256         * modules/include_next (License): Likewise.
57257         * modules/link-warning (License): Likewise.
57258         * modules/localcharset (License): Likewise.
57259         * modules/localename (License): Likewise.
57260         * modules/lock (License): Likewise.
57261         * modules/relocatable-lib-lgpl (License): Likewise.
57262         * modules/size_max (License): Likewise.
57263         * modules/vasnprintf (License): Likewise.
57264         * modules/wchar (License): Likewise.
57265         * modules/xsize (License): Likewise.
57266
57267 2007-07-13  Bruno Haible  <bruno@clisp.org>
57268
57269         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57270         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57271
57272 2007-07-12  Bruno Haible  <bruno@clisp.org>
57273
57274         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57275         in the modules files.
57276
57277 2007-07-11  Karl Berry  <karl@gnu.org>
57278
57279         * MODULES.html.sh (func_module): use
57280          sed -e '\|^'"${includefile}"'$|d'
57281          instead of /.../d, to avoid errors on $includefile's containing /.
57282
57283 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57284
57285         * gnulib-tool (func_import): Avoid duplication of --avoid
57286         statements
57287         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57288         names to `_' in variable names.
57289
57290 2007-07-10  Eric Blake  <ebb9@byu.net>
57291
57292         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57293         * NEWS: Document this change.
57294
57295 2007-07-08  Bruno Haible  <bruno@clisp.org>
57296
57297         Update to Unicode 5.0.
57298         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57299         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57300         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57301         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57302         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57303         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57304         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57305         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57306         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57307         U+10A3F, U+1D242..U+1D244.
57308         (nonspacing_table_ind): Update.
57309         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57310         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57311
57312 2007-07-08  Bruno Haible  <bruno@clisp.org>
57313
57314         Update to Unicode 5.0.
57315         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57316         code transform. Extend the name index field of unicode_name_to_code and
57317         unicode_code_to_name from 16 to 24 bits.
57318         * lib/uniname/uniname.c (unicode_character_name,
57319         unicode_name_character): Add the range 0x12xxx to the code transform.
57320         * lib/uniname/uninames.h: Regenerated.
57321         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57322
57323 2007-07-07  Bruno Haible  <bruno@clisp.org>
57324
57325         * modules/wcwidth-tests: New file.
57326         * tests/test-wcwidth.c: New file.
57327
57328         Work around MacOS X wcwidth() bug.
57329         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57330         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57331         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57332         original wcwidth in non-UTF-8 locales.
57333         * modules/wcwidth (Depends-on): Add localcharset, streq,
57334         uniwidth/width.
57335         * doc/functions/wcwidth.texi: Update.
57336
57337 2007-07-07  Bruno Haible  <bruno@clisp.org>
57338
57339         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57340         (wcwidth): New declaration.
57341         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57342         macros.
57343         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57344         here. Prepare for creating <wchar.h> unconditionally.
57345         * modules/wchar (Depends-on): Add link-warning.
57346         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57347         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57348         * lib/wcwidth.h: Remove file.
57349         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57350         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57351         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57352         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57353         (Include): Replace wcwidth.h with <wchar.h>.
57354         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57355         * lib/mbchar.h: Don't include wcwidth.h.
57356         * lib/mbswidth.c: Likewise.
57357         * NEWS: Mention the change.
57358
57359 2007-07-07  Bruno Haible  <bruno@clisp.org>
57360
57361         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57362         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57363         definition with an external declaration.
57364         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57365         defined as a function. Remove AC_C_INLINE requirement.
57366         * modules/wcwidth (Files): Add lib/wcwidth.c.
57367         (Makefile.am): Remove redundant statement.
57368
57369 2007-07-07  Bruno Haible  <bruno@clisp.org>
57370
57371         * MODULES.html.sh (Unicode string functions): Add the new modules.
57372
57373         * tests/uniwidth/test-u32-strwidth.c: New file.
57374         * modules/uniwidth/u32-strwidth-tests: New file.
57375
57376         * lib/uniwidth/u32-strwidth.c: New file.
57377         * modules/uniwidth/u32-strwidth: New file.
57378
57379         * tests/uniwidth/test-u16-strwidth.c: New file.
57380         * modules/uniwidth/u16-strwidth-tests: New file.
57381
57382         * lib/uniwidth/u16-strwidth.c: New file.
57383         * modules/uniwidth/u16-strwidth: New file.
57384
57385         * tests/uniwidth/test-u8-strwidth.c: New file.
57386         * modules/uniwidth/u8-strwidth-tests: New file.
57387
57388         * lib/uniwidth/u8-strwidth.c: New file.
57389         * modules/uniwidth/u8-strwidth: New file.
57390
57391         * tests/uniwidth/test-u32-width.c: New file.
57392         * modules/uniwidth/u32-width-tests: New file.
57393
57394         * lib/uniwidth/u32-width.c: New file.
57395         * modules/uniwidth/u32-width: New file.
57396
57397         * tests/uniwidth/test-u16-width.c: New file.
57398         * modules/uniwidth/u16-width-tests: New file.
57399
57400         * lib/uniwidth/u16-width.c: New file.
57401         * modules/uniwidth/u16-width: New file.
57402
57403         * tests/uniwidth/test-u8-width.c: New file.
57404         * modules/uniwidth/u8-width-tests: New file.
57405
57406         * lib/uniwidth/u8-width.c: New file.
57407         * modules/uniwidth/u8-width: New file.
57408
57409         * tests/uniwidth/test-uc_width.c: New file.
57410         * modules/uniwidth/width-tests: New file.
57411
57412         * lib/uniwidth/width.c: New file, from GNU libiconv.
57413         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57414         * modules/uniwidth/width: New file.
57415
57416         * lib/uniwidth.h: New file, from GNU libiconv.
57417         * modules/uniwidth/base: New file.
57418
57419 2007-07-07  Bruno Haible  <bruno@clisp.org>
57420
57421         * lib/uniname.h: New file, from GNU gettext.
57422         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57423         * lib/uniname/uninames.h: New file, from GNU gettext.
57424         * lib/uniname/uniname.c: New file, from GNU gettext.
57425         * tests/uniname/test-uninames.sh: New file.
57426         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57427         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57428         * modules/uniname/base: New file.
57429         * modules/uniname/uniname: New file.
57430         * modules/uniname/uniname-tests: New file.
57431         * MODULES.html.sh (Unicode string functions): Add the new modules.
57432
57433 2007-07-06  Bruno Haible  <bruno@clisp.org>
57434
57435         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57436
57437 2007-07-06  Bruno Haible  <bruno@clisp.org>
57438
57439         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57440         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57441         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57442         include <sys/time.h>.
57443         Reported by Eric Blake.
57444
57445 2007-07-06  Eric Blake  <ebb9@byu.net>
57446
57447         Fix testing canonicalize on cygwin.
57448         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57449         Revert patch from 2007-06-19.
57450         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57451         canonicalize module is also in use.
57452         * tests/test-canonicalize.c: New file.
57453         * tests/test-canonicalize.sh: Likewise.
57454         * modules/canonicalize-tests: Likewise.
57455
57456 2007-07-06  Jim Meyering  <jim@meyering.net>
57457
57458         * lib/getugroups.c (getugroups): Detect getgrent failure.
57459         Adjust comment to reflect reality: this function may return -1.
57460
57461 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57462
57463         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57464         the new TP address.
57465         (usage): Fix typo
57466         (gnulib_mk): New variable.
57467
57468 2007-07-05  Jim Meyering  <jim@meyering.net>
57469
57470         Don't let endgrent clobber errno, no matter how improbable.
57471         * lib/getugroups.c (getugroups): Save and restore errno around
57472         endgrent call.
57473
57474         Close the group DB even when failing with 2^31 or more members.
57475         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57476
57477 2007-07-04  Jim Meyering  <jim@meyering.net>
57478
57479         * lib/getugroups.h: New file.
57480         * lib/getugroups.c: Include "getugroups.h".
57481         Remove uses of "register" keyword.
57482         Move local variable, "cp", down into scope where used.
57483         Give "username" parameter the "const" attribute.
57484         * modules/getugroups (Files): Add lib/getugroups.h
57485
57486 2007-07-04  Karl Berry  <karl@gnu.org>
57487
57488         * MODULES.html.sh (func_all_modules): Complete rename of
57489         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57490
57491 2007-07-02  Bruno Haible  <bruno@clisp.org>
57492
57493         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57494         mode, when inttypes.h comes from gnulib.
57495         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57496
57497 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57498
57499         * NEWS: Mention lgpl module name change.
57500
57501         * modules/lgpl-2.1: Renamed from lgpl.
57502
57503         * NEWS: Mention gpl module name change.
57504
57505         * modules/gpl-3.0: New file, based on gpl-2.0.
57506
57507         * modules/gpl-2.0: Renamed from gpl.
57508
57509         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57510         doc/gpl-2.0.texi.
57511
57512 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57513
57514         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57515         #define __STDC_LIMIT_MACROS temporarily while including
57516         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57517         Problem reported by Joel E. Denny in
57518         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57519
57520 2007-07-01  Bruno Haible  <bruno@clisp.org>
57521
57522         * lib/unistdio.h: New file.
57523         * lib/unistdio/u-asnprintf.h: New file.
57524         * lib/unistdio/u-asprintf.h: New file.
57525         * lib/unistdio/u-printf-args.c: New file.
57526         * lib/unistdio/u-printf-args.h: New file.
57527         * lib/unistdio/u-printf-parse.h: New file.
57528         * lib/unistdio/u-snprintf.h: New file.
57529         * lib/unistdio/u-sprintf.h: New file.
57530         * lib/unistdio/u-vasprintf.h: New file.
57531         * lib/unistdio/u-vsnprintf.h: New file.
57532         * lib/unistdio/u-vsprintf.h: New file.
57533         * lib/unistdio/ulc-asnprintf.c: New file.
57534         * lib/unistdio/ulc-asprintf.c: New file.
57535         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57536         * lib/unistdio/ulc-printf-parse.c: New file.
57537         * lib/unistdio/ulc-snprintf.c: New file.
57538         * lib/unistdio/ulc-sprintf.c: New file.
57539         * lib/unistdio/ulc-vasnprintf.c: New file.
57540         * lib/unistdio/ulc-vasprintf.c: New file.
57541         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57542         * lib/unistdio/ulc-vsnprintf.c: New file.
57543         * lib/unistdio/ulc-vsprintf.c: New file.
57544         * lib/unistdio/u8-asnprintf.c: New file.
57545         * lib/unistdio/u8-asprintf.c: New file.
57546         * lib/unistdio/u8-printf-parse.c: New file.
57547         * lib/unistdio/u8-snprintf.c: New file.
57548         * lib/unistdio/u8-sprintf.c: New file.
57549         * lib/unistdio/u8-vasnprintf.c: New file.
57550         * lib/unistdio/u8-vasprintf.c: New file.
57551         * lib/unistdio/u8-vsnprintf.c: New file.
57552         * lib/unistdio/u8-vsprintf.c: New file.
57553         * lib/unistdio/u8-u8-asnprintf.c: New file.
57554         * lib/unistdio/u8-u8-asprintf.c: New file.
57555         * lib/unistdio/u8-u8-snprintf.c: New file.
57556         * lib/unistdio/u8-u8-sprintf.c: New file.
57557         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57558         * lib/unistdio/u8-u8-vasprintf.c: New file.
57559         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57560         * lib/unistdio/u8-u8-vsprintf.c: New file.
57561         * lib/unistdio/u16-asnprintf.c: New file.
57562         * lib/unistdio/u16-asprintf.c: New file.
57563         * lib/unistdio/u16-printf-parse.c: New file.
57564         * lib/unistdio/u16-snprintf.c: New file.
57565         * lib/unistdio/u16-sprintf.c: New file.
57566         * lib/unistdio/u16-vasnprintf.c: New file.
57567         * lib/unistdio/u16-vasprintf.c: New file.
57568         * lib/unistdio/u16-vsnprintf.c: New file.
57569         * lib/unistdio/u16-vsprintf.c: New file.
57570         * lib/unistdio/u16-u16-asnprintf.c: New file.
57571         * lib/unistdio/u16-u16-asprintf.c: New file.
57572         * lib/unistdio/u16-u16-snprintf.c: New file.
57573         * lib/unistdio/u16-u16-sprintf.c: New file.
57574         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57575         * lib/unistdio/u16-u16-vasprintf.c: New file.
57576         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57577         * lib/unistdio/u16-u16-vsprintf.c: New file.
57578         * lib/unistdio/u32-asnprintf.c: New file.
57579         * lib/unistdio/u32-asprintf.c: New file.
57580         * lib/unistdio/u32-printf-parse.c: New file.
57581         * lib/unistdio/u32-snprintf.c: New file.
57582         * lib/unistdio/u32-sprintf.c: New file.
57583         * lib/unistdio/u32-vasnprintf.c: New file.
57584         * lib/unistdio/u32-vasprintf.c: New file.
57585         * lib/unistdio/u32-vsnprintf.c: New file.
57586         * lib/unistdio/u32-vsprintf.c: New file.
57587         * lib/unistdio/u32-u32-asnprintf.c: New file.
57588         * lib/unistdio/u32-u32-asprintf.c: New file.
57589         * lib/unistdio/u32-u32-snprintf.c: New file.
57590         * lib/unistdio/u32-u32-sprintf.c: New file.
57591         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57592         * lib/unistdio/u32-u32-vasprintf.c: New file.
57593         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57594         * lib/unistdio/u32-u32-vsprintf.c: New file.
57595         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57596         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57597         * tests/unistdio/test-ulc-printf1.h: New file.
57598         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57599         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57600         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57601         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57602         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57603         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57604         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57605         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57606         * tests/unistdio/test-u8-asnprintf1.c: New file.
57607         * tests/unistdio/test-u8-asnprintf1.h: New file.
57608         * tests/unistdio/test-u8-printf1.h: New file.
57609         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57610         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57611         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57612         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57613         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57614         * tests/unistdio/test-u8-vasprintf1.c: New file.
57615         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57616         * tests/unistdio/test-u8-vsprintf1.c: New file.
57617         * tests/unistdio/test-u16-asnprintf1.c: New file.
57618         * tests/unistdio/test-u16-asnprintf1.h: New file.
57619         * tests/unistdio/test-u16-printf1.h: New file.
57620         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57621         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57622         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57623         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57624         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57625         * tests/unistdio/test-u16-vasprintf1.c: New file.
57626         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57627         * tests/unistdio/test-u16-vsprintf1.c: New file.
57628         * tests/unistdio/test-u32-asnprintf1.c: New file.
57629         * tests/unistdio/test-u32-asnprintf1.h: New file.
57630         * tests/unistdio/test-u32-printf1.h: New file.
57631         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57632         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57633         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57634         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57635         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57636         * tests/unistdio/test-u32-vasprintf1.c: New file.
57637         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57638         * tests/unistdio/test-u32-vsprintf1.c: New file.
57639         * modules/unistdio/base: New file.
57640         * modules/unistdio/u-printf-args: New file.
57641         * modules/unistdio/ulc-asnprintf: New file.
57642         * modules/unistdio/ulc-asprintf: New file.
57643         * modules/unistdio/ulc-fprintf: New file.
57644         * modules/unistdio/ulc-printf-parse: New file.
57645         * modules/unistdio/ulc-snprintf: New file.
57646         * modules/unistdio/ulc-sprintf: New file.
57647         * modules/unistdio/ulc-vasnprintf: New file.
57648         * modules/unistdio/ulc-vasprintf: New file.
57649         * modules/unistdio/ulc-vfprintf: New file.
57650         * modules/unistdio/ulc-vsnprintf: New file.
57651         * modules/unistdio/ulc-vsprintf: New file.
57652         * modules/unistdio/u8-asnprintf: New file.
57653         * modules/unistdio/u8-asprintf: New file.
57654         * modules/unistdio/u8-printf-parse: New file.
57655         * modules/unistdio/u8-snprintf: New file.
57656         * modules/unistdio/u8-sprintf: New file.
57657         * modules/unistdio/u8-vasnprintf: New file.
57658         * modules/unistdio/u8-vasprintf: New file.
57659         * modules/unistdio/u8-vsnprintf: New file.
57660         * modules/unistdio/u8-vsprintf: New file.
57661         * modules/unistdio/u8-u8-asnprintf: New file.
57662         * modules/unistdio/u8-u8-asprintf: New file.
57663         * modules/unistdio/u8-u8-snprintf: New file.
57664         * modules/unistdio/u8-u8-sprintf: New file.
57665         * modules/unistdio/u8-u8-vasnprintf: New file.
57666         * modules/unistdio/u8-u8-vasprintf: New file.
57667         * modules/unistdio/u8-u8-vsnprintf: New file.
57668         * modules/unistdio/u8-u8-vsprintf: New file.
57669         * modules/unistdio/u16-asnprintf: New file.
57670         * modules/unistdio/u16-asprintf: New file.
57671         * modules/unistdio/u16-printf-parse: New file.
57672         * modules/unistdio/u16-snprintf: New file.
57673         * modules/unistdio/u16-sprintf: New file.
57674         * modules/unistdio/u16-vasnprintf: New file.
57675         * modules/unistdio/u16-vasprintf: New file.
57676         * modules/unistdio/u16-vsnprintf: New file.
57677         * modules/unistdio/u16-vsprintf: New file.
57678         * modules/unistdio/u16-u16-asnprintf: New file.
57679         * modules/unistdio/u16-u16-asprintf: New file.
57680         * modules/unistdio/u16-u16-snprintf: New file.
57681         * modules/unistdio/u16-u16-sprintf: New file.
57682         * modules/unistdio/u16-u16-vasnprintf: New file.
57683         * modules/unistdio/u16-u16-vasprintf: New file.
57684         * modules/unistdio/u16-u16-vsnprintf: New file.
57685         * modules/unistdio/u16-u16-vsprintf: New file.
57686         * modules/unistdio/u32-asnprintf: New file.
57687         * modules/unistdio/u32-asprintf: New file.
57688         * modules/unistdio/u32-printf-parse: New file.
57689         * modules/unistdio/u32-snprintf: New file.
57690         * modules/unistdio/u32-sprintf: New file.
57691         * modules/unistdio/u32-vasnprintf: New file.
57692         * modules/unistdio/u32-vasprintf: New file.
57693         * modules/unistdio/u32-vsnprintf: New file.
57694         * modules/unistdio/u32-vsprintf: New file.
57695         * modules/unistdio/u32-u32-asnprintf: New file.
57696         * modules/unistdio/u32-u32-asprintf: New file.
57697         * modules/unistdio/u32-u32-snprintf: New file.
57698         * modules/unistdio/u32-u32-sprintf: New file.
57699         * modules/unistdio/u32-u32-vasnprintf: New file.
57700         * modules/unistdio/u32-u32-vasprintf: New file.
57701         * modules/unistdio/u32-u32-vsnprintf: New file.
57702         * modules/unistdio/u32-u32-vsprintf: New file.
57703         * modules/unistdio/ulc-asnprintf-tests: New file.
57704         * modules/unistdio/ulc-vasnprintf-tests: New file.
57705         * modules/unistdio/ulc-vasprintf-tests: New file.
57706         * modules/unistdio/ulc-vsnprintf-tests: New file.
57707         * modules/unistdio/ulc-vsprintf-tests: New file.
57708         * modules/unistdio/u8-asnprintf-tests: New file.
57709         * modules/unistdio/u8-vasnprintf-tests: New file.
57710         * modules/unistdio/u8-vasprintf-tests: New file.
57711         * modules/unistdio/u8-vsnprintf-tests: New file.
57712         * modules/unistdio/u8-vsprintf-tests: New file.
57713         * modules/unistdio/u16-asnprintf-tests: New file.
57714         * modules/unistdio/u16-vasnprintf-tests: New file.
57715         * modules/unistdio/u16-vasprintf-tests: New file.
57716         * modules/unistdio/u16-vsnprintf-tests: New file.
57717         * modules/unistdio/u16-vsprintf-tests: New file.
57718         * modules/unistdio/u32-asnprintf-tests: New file.
57719         * modules/unistdio/u32-vasnprintf-tests: New file.
57720         * modules/unistdio/u32-vasprintf-tests: New file.
57721         * modules/unistdio/u32-vsnprintf-tests: New file.
57722         * modules/unistdio/u32-vsprintf-tests: New file.
57723         * MODULES.html.sh (Unicode string functions): Add the new modules.
57724
57725 2007-07-01  Bruno Haible  <bruno@clisp.org>
57726
57727         * lib/sprintf.c (sprintf): Limit the available length estimation,
57728         to avoid address wraparound.
57729         * lib/vsprintf.c (vsprintf): Likewise.
57730         * modules/sprintf-posix (Dependencies): Add stdint.
57731         * modules/vsprintf-posix (Dependencies): Likewise.
57732
57733 2007-07-01  Bruno Haible  <bruno@clisp.org>
57734
57735         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57736         Windows PATH as well. Conservative double-quoting. Comments.
57737
57738 2007-07-01  Bruno Haible  <bruno@clisp.org>
57739             Eric Blake  <ebb9@byu.net>
57740             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57741
57742         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57743         empty components in $PATH, denoting '.'.
57744
57745 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57746
57747         * gnulib-tool: Fix indentation.
57748         (func_create_megatestdir): Likewise.
57749         Report by Bruno Haible.
57750
57751 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57752
57753         Sync from Automake.
57754         * build-aux/gnupload: Fix shell portability issues with for loops.
57755         Report by Karl Berry.
57756
57757 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57758
57759         * build-aux/maint.mk (POURL): Use translationproject.org.
57760
57761 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57762             Bruno Haible  <bruno@clisp.org>
57763
57764         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57765         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57766         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57767         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57768         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57769
57770 2007-06-27  Bruno Haible  <bruno@clisp.org>
57771
57772         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57773         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57774
57775 2007-06-26  Karl Berry  <karl@gnu.org>
57776
57777         * MODULES.html.sh: remove xreadlink-with-size.
57778
57779 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57780
57781         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57782         method that I hope also handles the double-include problem noted
57783         by Bruno Haible in
57784         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57785
57786 2007-06-23  Bruno Haible  <bruno@clisp.org>
57787
57788         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57789         Don't let the 'mostlyclean' target fail if the last subdirectory could
57790         not be removed.
57791         Reported by Karl Berry.
57792
57793 2007-06-23  Bruno Haible  <bruno@clisp.org>
57794
57795         * gnulib-tool (echo): Add a speedier workaround for ksh.
57796         * tests/test-echo.sh: Likewise.
57797
57798 2007-06-23  Bruno Haible  <bruno@clisp.org>
57799
57800         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57801         * tests/test-echo.sh: Likewise.
57802
57803 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57804
57805         * gnulib-tool (IFS): Initialize early, so we don't set it to
57806         empty later.
57807         (self_abspathname): Rewrite algorithm to set it, reindent.
57808         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57809         (func_create_megatestdir): Merge some sed scripts.
57810
57811 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57812
57813         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57814         exposed by Sun Studio 11 cc on Solaris 8.
57815
57816 2007-06-22  Bruno Haible  <bruno@clisp.org>
57817
57818         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57819         backslashes.
57820         * tests/test-echo.sh: New file.
57821
57822 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57823
57824         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57825         simplify `sed_replace_build_aux' scripts, they are portable but
57826         echoing them with `echo' is not.
57827         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57828
57829 2007-06-21  Karl Berry  <karl@gnu.org>
57830
57831         * config/srclist.txt: guess we can't handle the licenses via
57832         srclist at the moment.
57833
57834 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57835
57836         * MODULES.html.sh: Add include_next.
57837         * modules/include_next: New file.
57838
57839 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57840
57841         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57842         INCLUDE_NEXT.
57843         (gl_CHECK_NEXT_HEADERS): New macro.
57844         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57845         the obsolescent gl_ABSOLUTE_HEADER.
57846         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57847         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57848         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57849         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57850         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57851         * m4/math_h.m4 (gl_MATH_H): Likewise.
57852         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57853         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57854         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57855         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57856         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57857         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57858         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57859         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57860         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57861         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57862         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57863         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57864         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57865         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57866         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57867         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57868         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57869         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57870         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57871         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57872         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57873         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57874         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57875         * lib/float_.h: Likewise.
57876         * lib/inttypes_.h: Likewise.
57877         * lib/math_.h: Likewise.
57878         * lib/search_.h: Likewise.
57879         * lib/signal_.h: Likewise.
57880         * lib/stdint_.h: Likewise.
57881         * lib/stdio_.h: Likewise.
57882         * lib/stdlib_.h: Likewise.
57883         * lib/string_.h: Likewise.
57884         * lib/sys_stat_.h: Likewise.
57885         * lib/sys_time_.h: Likewise.
57886         * lib/time_.h: Likewise.
57887         * lib/unistd_.h: Likewise.
57888         * lib/wchar_.h: Likewise.
57889         * lib/wctype_.h: Likewise.
57890         * lib/dirent_.h: Likewise.
57891         * lib/iconv_.h: Likewise.
57892         * lib/locale_.h: Likewise.
57893         * lib/netinet_in_.h: Likewise.
57894         * lib/sys_select_.h: Likewise.
57895         * lib/sys_socket_.h: Likewise.
57896         * lib/sysexits_.h: Likewise.
57897         * modules/fcntl (Depends-on): Depend on include_next, not
57898         absolute_header.
57899         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57900         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57901         * modules/fchdir: Likewise.
57902         * modules/float: Likewise.
57903         * modules/iconv_open: Likewise.
57904         * modules/inttypes: Likewise.
57905         * modules/locale: Likewise.
57906         * modules/math: Likewise.
57907         * modules/netinet_in: Likewise.
57908         * modules/search: Likewise.
57909         * modules/signal: Likewise.
57910         * modules/stdint: Likewise.
57911         * modules/stdio: Likewise.
57912         * modules/stdlib: Likewise.
57913         * modules/string: Likewise.
57914         * modules/sys_select: Likewise.
57915         * modules/sys_socket: Likewise.
57916         * modules/sys_stat: Likewise.
57917         * modules/sys_time: Likewise.
57918         * modules/sysexits: Likewise.
57919         * modules/time: Likewise.
57920         * modules/unistd: Likewise.
57921         * modules/wchar: Likewise.
57922         * modules/wctype: Likewise.
57923         * modules/sys_stat: Change maintainer to "all".
57924         * modules/unistd: Likewise.
57925
57926 2007-06-20  Karl Berry  <karl@gnu.org>
57927
57928         * config/srclist.txt: track www changes in license files.
57929
57930 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
57931
57932         * build-aux/bootstrap: Remove stray dot.
57933         Make sure build_aux settings are honored when linking
57934         gnulib_extra_files.
57935
57936 2007-06-19  Eric Blake  <ebb9@byu.net>
57937
57938         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57939         Allow compilation on cygwin.
57940
57941 2007-06-19  Jim Meyering  <jim@meyering.net>
57942
57943         xreadlink-with-size: Remove module.  No longer used.
57944         Ex-callers now use xreadlink or mreadlink-with-size.
57945         * modules/xreadlink-with-size: Remove module.
57946         * lib/xreadlink-with-size.c: Remove file.
57947         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
57948         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
57949         just before the function definition *is* accurate.
57950
57951         Eliminate one way canonicalize_filename_mode could exit.
57952         * lib/canonicalize.c (canonicalize_filename_mode):
57953         Use mreadlink_with_size, not xreadlink_with_size.
57954
57955 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
57956
57957         Detect porting problems to FreeBSD/arm, which has time_t wider than
57958         long int.  Original problem reported for GNU diff by Xin Li in
57959         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
57960         * modules/getdate (Depends-on): Add intprops, verify.
57961         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
57962         is an integer type no wider than long int.
57963
57964 2007-06-18  Jim Meyering  <jim@meyering.net>
57965
57966         New module: mreadlink-with-size.
57967         * MODULES.html.sh: Add mreadlink-with-size.
57968         * modules/mreadlink-with-size: New module
57969         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
57970         not xreadlink-with-size.
57971         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
57972
57973 2007-06-16  Bruno Haible  <bruno@clisp.org>
57974
57975         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
57976         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
57977         Reported by Gary V. Vaughan <gary@gnu.org>.
57978
57979 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
57980
57981         Revamp lchown so that it lives in unistd.h where it belongs.
57982         * lib/lchown.h: Remove.
57983         * lib/dirchownmod.c: Don't include lib/lchown.h.
57984         * lib/fchownat.c: Likewise.
57985         * lib/openat.c: Likewise.
57986         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
57987         does not follow symlinks.
57988         (EOPNOTSUPP): Define if not defined.
57989         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
57990         is defined to 0.
57991         (lchown): New decl.
57992         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
57993         Do not check for lchown decl.
57994         Set REPLACE_LCHOWN.
57995         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
57996         REPLACE_LCHOWN.
57997         * modules/chown: Make it clear it follows symlinks.
57998         * modules/lchown: Make it clear it doesn't follow symlinks.
57999         (Files): Remove lib/lchown.h
58000         (Depends-on): Add unistd.
58001         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58002         (Include): Include <unistd.h>, not "lchown.h".
58003         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58004         REPLACE_LCHOWN.
58005
58006 2007-06-15  Jim Meyering  <jim@meyering.net>
58007
58008         Change license (GPL to LGPL) of fsusage and dependents.
58009         * modules/fsusage (License): Change to LGPL.
58010         * modules/full-read (License): Likewise.
58011         * modules/full-write (License): Likewise.
58012         * modules/safe-read (License): Likewise.
58013         * modules/safe-write (License): Likewise.
58014
58015 2007-06-14  Ben Pfaff  <blp@gnu.org>
58016
58017         Missing part of allocsa -> malloca transition.
58018         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58019         gl_MALLOCA.
58020
58021 2007-06-12  Bruno Haible  <bruno@clisp.org>
58022
58023         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58024         to ia64, x86_64, i386.
58025         Reported by Eric Blake.
58026
58027 2007-06-12  Bruno Haible  <bruno@clisp.org>
58028
58029         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58030         cross-compiling to x86_64.
58031
58032 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58033
58034         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58035         glitch reported by Ralf Wildenhues in
58036         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58037
58038         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58039         Vin Shelton.
58040
58041 2007-06-11  Bruno Haible  <bruno@clisp.org>
58042
58043         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58044         replacement string.
58045         Reported by Eric Blake.
58046
58047 2007-06-10  Bruno Haible  <bruno@clisp.org>
58048
58049         Prepare vasnprintf code for use with Unicode strings.
58050         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58051         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58052         TYPE_U32_STRING.
58053         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58054         a_u32_string variants.
58055         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58056         * lib/printf-args.c: Don't include config.h and the specification
58057         header if PRINTF_FETCHARGS is already defined.
58058         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58059         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58060         TYPE_U16_STRING, TYPE_U32_STRING.
58061         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58062         u16_directive, u16_directives, u32_directive, u32_directives): New
58063         types.
58064         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58065         New declarations.
58066         * lib/printf-parse.c: Don't include config.h and the specification
58067         header if PRINTF_PARSE is already defined. Eliminate the set of
58068         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58069         them now. Include c-ctype.h.
58070         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58071         directive and CHAR_T_ONLY_ASCII.
58072         * lib/vasnprintf.c: Don't include config.h and the specification header
58073         if VASNPRINTF is already defined.
58074         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58075         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58076         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58077         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58078         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58079         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58080         code accordingly.
58081         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58082         pad_ourselves also in this case, with the 'c' and 's' directives, and
58083         with a different notion of "width".
58084         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58085
58086 2007-06-10  Bruno Haible  <bruno@clisp.org>
58087
58088         * modules/unistr/u32-mbsnlen: New file.
58089         * lib/unistr/u32-mbsnlen.c: New file.
58090
58091         * modules/unistr/u16-mbsnlen: New file.
58092         * lib/unistr/u16-mbsnlen.c: New file.
58093
58094         * modules/unistr/u8-mbsnlen: New file.
58095         * lib/unistr/u8-mbsnlen.c: New file.
58096
58097         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58098         declarations.
58099
58100 2007-06-10  Bruno Haible  <bruno@clisp.org>
58101
58102         * lib/string_.h (mbsnlen): New declaration.
58103         * lib/mbsnlen.c: New file.
58104         * m4/mbsnlen.m4: New file.
58105         * modules/mbsnlen: New file.
58106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58107         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58108         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58109
58110 2007-06-10  Bruno Haible  <bruno@clisp.org>
58111
58112         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58113
58114 2007-06-10  Bruno Haible  <bruno@clisp.org>
58115
58116         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58117         * lib/mbuiter.h: Likewise.
58118
58119 2007-06-10  Bruno Haible  <bruno@clisp.org>
58120
58121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58122         declaration.
58123
58124 2007-06-10  Karl Berry  <karl@gnu.org>
58125
58126         * config/srclist.txt: remove gettext entries, Bruno prefers
58127         to update individually.
58128
58129 2007-06-10  Bruno Haible  <bruno@clisp.org>
58130
58131         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58132         'maxlen'. Ensure only length + width bytes are allocated, not
58133         length + 1 + width.
58134
58135 2007-06-09  Bruno Haible  <bruno@clisp.org>
58136
58137         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58138         (CHAR_T): Remove macro.
58139         (VASNPRINTF): Update.
58140
58141 2007-06-09  Bruno Haible  <bruno@clisp.org>
58142
58143         * MODULES.html.sh (Unicode string functions): Add the new modules.
58144
58145         * modules/uniconv/u32-conv-to-enc: New file.
58146         * lib/uniconv/u32-conv-to-enc.c: New file.
58147         * modules/uniconv/u32-conv-to-enc-tests: New file.
58148         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58149
58150         * modules/uniconv/u16-conv-to-enc: New file.
58151         * lib/uniconv/u16-conv-to-enc.c: New file.
58152         * lib/uniconv/u-conv-to-enc.h: New file.
58153         * modules/uniconv/u16-conv-to-enc-tests: New file.
58154         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58155
58156         * modules/uniconv/u8-conv-to-enc: New file.
58157         * lib/uniconv/u8-conv-to-enc.c: New file.
58158         * modules/uniconv/u8-conv-to-enc-tests: New file.
58159         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58160
58161         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58162         u32_conv_to_encoding): New declarations.
58163
58164 2007-06-09  Bruno Haible  <bruno@clisp.org>
58165
58166         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58167
58168 2007-06-09  Bruno Haible  <bruno@clisp.org>
58169
58170         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58171         * modules/malloca: Renamed from modules/allocsa, updated.
58172         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58173         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58174         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58175         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58176         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58177         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58178         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58179         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58180         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58181         * modules/c-strcasestr (Depends-on): Update.
58182         * lib/c-strcasestr.c: Update.
58183         * modules/c-strstr (Depends-on): Update.
58184         * lib/c-strstr.c: Update.
58185         * modules/canonicalize-lgpl (Depends-on): Update.
58186         * lib/canonicalize-lgpl.c: Update.
58187         * modules/clean-temp (Depends-on): Update.
58188         * lib/clean-temp.c: Update.
58189         * modules/csharpcomp (Depends-on): Update.
58190         * lib/csharpcomp.c: Update.
58191         * modules/csharpexec (Depends-on): Update.
58192         * lib/csharpexec.c: Update.
58193         * modules/javacomp (Depends-on): Update.
58194         * lib/javacomp.c: Update.
58195         * modules/javaexec (Depends-on): Update.
58196         * lib/javaexec.c: Update.
58197         * modules/mbscasestr (Depends-on): Update.
58198         * lib/mbscasestr.c: Update.
58199         * modules/mbsstr (Depends-on): Update.
58200         * lib/mbsstr.c: Update.
58201         * modules/setenv (Depends-on): Update.
58202         * lib/setenv.c: Update.
58203         * modules/strcasestr (Depends-on): Update.
58204         * lib/strcasestr.c: Update.
58205         * modules/striconveha (Depends-on): Update.
58206         * lib/striconveha.c: Update.
58207         * modules/relocatable-prog-wrapper (Files): Update.
58208         * lib/relocwrapper.c: Update.
58209         * build-aux/install-reloc: Update.
58210         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58211
58212 2007-06-08  Bruno Haible  <bruno@clisp.org>
58213
58214         Port to uClibc.
58215         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58216         * lib/fpurge.c (fpurge): Likewise.
58217         * lib/freading.c (freading): Likewise.
58218         * lib/fseeko.c (rpl_fseeko): Likewise.
58219         * lib/fseterr.c (fseterr): Likewise.
58220         * lib/fwriting.c (fwriting): Likewise.
58221         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58222
58223 2007-06-08  Bruno Haible  <bruno@clisp.org>
58224
58225         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58226         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58227         * modules/gettext (Files): Add m4/intlmacosx.m4.
58228
58229 2007-06-07  Bruno Haible  <bruno@clisp.org>
58230
58231         * modules/localename-tests: New file.
58232         * tests/test-localename.c: New file.
58233
58234         New module 'localename'.
58235         * lib/localename.h: New file.
58236         * lib/localename.c: New file, from GNU gettext.
58237         * m4/localename.m4: New file.
58238         * modules/localename: New file.
58239
58240 2007-06-07  Bruno Haible  <bruno@clisp.org>
58241
58242         Work around the lack of <wchar.h> on some builds of uClibc.
58243         * doc/headers/wchar.texi: Update.
58244         * lib/wchar_.h: Include <wchar.h> only if it exists.
58245         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58246         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58247         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58248         doesn't exist.
58249         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58250         * modules/mbfile (Depends-on): Add wchar.
58251         * modules/mbiter (Depends-on): Likewise.
58252         * modules/mbuiter (Depends-on): Likewise.
58253         Reported by Simon Josefsson.
58254
58255 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58256
58257         Work around problem reported by Steven M. Schweda in
58258         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58259         Tru64 5.1B with the Compaq compiler environment installed declares
58260         an 'isblank' function but does not define it in the C library.
58261         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58262         * lib/regex_internal.h (isblank): Likewise.
58263         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58264         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58265
58266 2007-06-05  Bruno Haible  <bruno@clisp.org>
58267
58268         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58269         ia64.
58270         * modules/printf-safe: New file.
58271         * modules/fprintf-posix (Depends-on): Add printf-safe.
58272         * modules/printf-posix (Depends-on): Likewise.
58273         * modules/snprintf-posix (Depends-on): Likewise.
58274         * modules/sprintf-posix (Depends-on): Likewise.
58275         * modules/vasnprintf-posix (Depends-on): Likewise.
58276         * modules/vasprintf-posix (Depends-on): Likewise.
58277         * modules/vfprintf-posix (Depends-on): Likewise.
58278         * modules/vprintf-posix (Depends-on): Likewise.
58279         * modules/vsnprintf-posix (Depends-on): Likewise.
58280         * modules/vsprintf-posix (Depends-on): Likewise.
58281         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58282         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58283         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58284         "no" on i386, x86_64, ia64.
58285         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58286         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58287         on i386, x86_64, ia64.
58288         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58289         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58290         on i386, x86_64, ia64.
58291         * tests/test-vasnprintf-posix.c: Include float.h.
58292         (LDBL80_WORDS): New macro.
58293         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58294         on i386, x86_64, ia64.
58295         * tests/test-vasprintf-posix.c: Include float.h.
58296         (LDBL80_WORDS): New macro.
58297         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58298         on i386, x86_64, ia64.
58299         * tests/test-snprintf-posix.c: Include float.h.
58300         * tests/test-sprintf-posix.c: Likewise.
58301         * tests/test-vsnprintf-posix.c: Likewise.
58302         * tests/test-vsprintf-posix.c: Likewise.
58303
58304 2007-06-05  Bruno Haible  <bruno@clisp.org>
58305
58306         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58307         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58308         non-IEEE numbers on i386, x86_64, ia64.
58309         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58310         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58311         * tests/test-isnanl.h: Include float.h.
58312         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58313
58314 2007-06-05  Bruno Haible  <bruno@clisp.org>
58315
58316         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58317         also the %a / %A. Handle the %a / %A code before this extra handling.
58318
58319 2007-06-05  Bruno Haible  <bruno@clisp.org>
58320
58321         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58322         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58323
58324 2007-06-05  Bruno Haible  <bruno@clisp.org>
58325
58326         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58327         typo in variable name.
58328
58329 2007-06-05  Eric Blake  <ebb9@byu.net>
58330
58331         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58332         Reported by Simon Josefsson.
58333
58334 2007-06-04  Bruno Haible  <bruno@clisp.org>
58335
58336         Avoid test failures on some PowerPC platforms.
58337         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58338         Define differently for PowerPC.
58339         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58340         Reported by Gary V. Vaughan <gary@gnu.org>.
58341
58342 2007-06-02  Bruno Haible  <bruno@clisp.org>
58343
58344         Fix test-stdint failure on FreeBSD/ia64.
58345         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58346         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58347         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58348         * doc/headers/stdint.texi: Update.
58349
58350 2007-06-01  Bruno Haible  <bruno@clisp.org>
58351
58352         * tests/test-binary-io.c (main): Pass a third argument to open().
58353         Reported by Gary V. Vaughan <gary@gnu.org>.
58354
58355 2007-06-01  Bruno Haible  <bruno@clisp.org>
58356
58357         * doc/functions/frexpl.texi: Update for mingw.
58358
58359 2007-06-01  Bruno Haible  <bruno@clisp.org>
58360
58361         * tests/test-lseek.c (main): Disable test of errno for invalid third
58362         argument.
58363         * doc/functions/lseek.texi: Update.
58364         Reported by Gary V. Vaughan <gary@gnu.org>.
58365
58366 2007-05-28  Bruno Haible  <bruno@clisp.org>
58367
58368         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58369
58370 2007-05-31  Eric Blake  <ebb9@byu.net>
58371
58372         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58373         cross compiling.
58374
58375 2007-05-30  Eric Blake  <ebb9@byu.net>
58376         and Bruno Haible  <bruno@clisp.org>
58377
58378         Work around mingw test failures exposed by m4-1.4.9b.
58379         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58380         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58381         moment.
58382
58383 2007-05-30  Bruno Haible  <bruno@clisp.org>
58384
58385         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58386         assuming that they are closed. Needed on HP-UX 11.
58387
58388 2007-05-29  Bruno Haible  <bruno@clisp.org>
58389
58390         Fix a problem with #include_next.
58391         * lib/dirent_.h: Split the double-inclusion guard.
58392         * lib/fcntl_.h: Likewise.
58393         * lib/float_.h: Likewise.
58394         * lib/iconv_.h: Likewise.
58395         * lib/inttypes_.h: Likewise.
58396         * lib/locale_.h: Likewise.
58397         * lib/math_.h: Likewise.
58398         * lib/netinet_in_.h: Likewise.
58399         * lib/search_.h: Likewise.
58400         * lib/signal_.h: Likewise.
58401         * lib/stdint_.h: Likewise.
58402         * lib/stdio_.h: Likewise.
58403         * lib/stdlib_.h: Likewise.
58404         * lib/string_.h: Likewise.
58405         * lib/sys_select_.h: Likewise.
58406         * lib/sys_socket_.h: Likewise.
58407         * lib/sys_stat_.h: Likewise.
58408         * lib/sys_time_.h: Likewise.
58409         * lib/sysexits_.h: Likewise.
58410         * lib/time_.h: Likewise.
58411         * lib/unistd_.h: Likewise.
58412         * lib/wchar_.h: Likewise.
58413         * lib/wctype_.h: Likewise.
58414
58415 2007-05-29  Bruno Haible  <bruno@clisp.org>
58416
58417         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58418         for the moment.
58419
58420 2007-05-29  Bruno Haible  <bruno@clisp.org>
58421
58422         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58423         invocation.
58424         Reported by Eric Blake.
58425
58426 2007-05-29  Bruno Haible  <bruno@clisp.org>
58427
58428         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58429         compiling case.
58430
58431 2007-05-29  Eric Blake  <ebb9@byu.net>
58432             Bruno Haible  <bruno@clisp.org>
58433
58434         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58435         cross compiles.
58436
58437 2007-05-28  Eric Blake  <ebb9@byu.net>
58438
58439         * modules/closein-tests (test_closein_LDADD): Support test on
58440         cygwin with libtool.
58441
58442 2007-05-28  Bruno Haible  <bruno@clisp.org>
58443
58444         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58445         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58446         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58447         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58448         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58449         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58450         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58451         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58452         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58453
58454 2007-05-28  Eric Blake  <ebb9@byu.net>
58455
58456         Unconditionally include <config.h> in unit tests.
58457         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58458         * tests/test-allocsa.c, tests/test-arcfour.c,
58459         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58460         tests/test-array_list.c, tests/test-array_oset.c,
58461         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58462         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58463         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58464         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58465         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58466         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58467         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58468         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58469         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58470         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58471         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58472         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58473         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58474         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58475         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58476         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58477         test-md5.c, test-memmem.c, test-printf-posix.c,
58478         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58479         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58480         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58481         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58482         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58483         test-vasnprintf-posix2.c, test-vasnprintf.c,
58484         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58485         test-vfprintf-posix.c, test-vprintf-posix.c,
58486         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58487         test-xvasprintf.c: Likewise.
58488
58489 2007-05-28  Bruno Haible  <bruno@clisp.org>
58490
58491         * gnulib-tool (func_import): Remember the --with-tests command-line
58492         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58493         Reported by Eric Blake.
58494
58495 2007-05-28  Bruno Haible  <bruno@clisp.org>
58496
58497         * modules/ftell-tests: New file.
58498         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58499         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58500
58501         * lib/ftell.c: New file.
58502         * modules/ftell: New file.
58503         * m4/ftell.m4: New file.
58504         * doc/functions/ftell.texi: Update.
58505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58506         REPLACE_FTELL.
58507         * lib/stdio_.h (rpl_ftell): New declaration.
58508         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58509         REPLACE_FTELL.
58510
58511 2007-05-28  Eric Blake  <ebb9@byu.net>
58512
58513         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58514
58515 2007-05-28  Bruno Haible  <bruno@clisp.org>
58516
58517         * modules/fseek-tests: New file.
58518         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58519         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58520
58521         * lib/fseek.c: New file.
58522         * modules/fseek: New file.
58523         * m4/fseek.m4: New file.
58524         * doc/functions/fseek.texi: Update.
58525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58526         REPLACE_FSEEK.
58527         * lib/stdio_.h (rpl_fseek): New declaration.
58528         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58529         REPLACE_FSEEK.
58530
58531 2007-05-28  Bruno Haible  <bruno@clisp.org>
58532
58533         * lib/stdio_.h (fflush): More comments.
58534
58535 2007-05-28  Bruno Haible  <bruno@clisp.org>
58536
58537         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58538         runtime test.
58539
58540 2007-05-28  Eric Blake  <ebb9@byu.net>
58541
58542         Improve lseek module.
58543         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58544         * lib/unistd_.h (lseek): Scale back link warning message.
58545         * tests/test-lseek.c: Beef up test.
58546         * tests/test-lseek.sh: Exercise more facets of lseek.
58547         Reported by Bruno Haible.
58548
58549 2007-05-28  Bruno Haible  <bruno@clisp.org>
58550
58551         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58552         to define.
58553
58554 2007-05-27  Bruno Haible  <bruno@clisp.org>
58555
58556         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58557
58558 2007-05-27  Bruno Haible  <bruno@clisp.org>
58559
58560         * modules/openmp: New file.
58561         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58562         Noah Misch.
58563
58564 2007-05-26  Bruno Haible  <bruno@clisp.org>
58565
58566         * modules/chdir-long (Depends-on): Add fchdir.
58567         * modules/chdir-safer (Depends-on): Likewise.
58568         * modules/fts (Depends-on): Likewise.
58569         * modules/fts-lgpl (Depends-on): Likewise.
58570         * modules/openat (Depends-on): Likewise.
58571         * modules/savewd (Depends-on): Likewise.
58572
58573 2007-05-24  Eric Blake  <ebb9@byu.net>
58574
58575         Fix lseek on mingw.
58576         * modules/lseek: New module.
58577         * m4/lseek.m4: New file.
58578         * lib/lseek.c: New file.
58579         * modules/lseek-tests: New file.
58580         * tests/test-lseek.c: New file.
58581         * tests/test-lseek.sh: New file.
58582         * MODULES.html.sh: Document lseek module.
58583         * modules/fflush (Depends-on): Add lseek, fseeko.
58584         * modules/fseeko (Depends-on): Likewise.
58585         * modules/ftello (Depends-on): Likewise.
58586         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58587         broken.
58588         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58589         broken.
58590         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58591         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58592         * lib/ftello.c (rpl_ftello): Likewise.
58593         * tests/test-fseeko.c (main): Test this.
58594         * tests/test-fseeko.sh: Likewise.
58595         * tests/test-ftello.c (main): Likewise.
58596         * tests/test-ftello.sh: Likewise.
58597         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58598         implies replacing fseek.
58599         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58600         HAVE_FTELLO.
58601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58602         * modules/unistd (Makefile.am): Likewise.
58603         * lib/unistd_.h (lseek): Declare a replacement.
58604         * doc/functions/lseek.texi (lseek): Document this fix.
58605         * doc/functions/fseek.texi (fseek): Likewise.
58606         * doc/functions/ftell.texi (ftell): Likewise.
58607
58608 2007-05-24  Bruno Haible  <bruno@clisp.org>
58609
58610         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58611         in the printed representation of a NaN.
58612         * tests/test-vasprintf-posix.c (test_function): Likewise.
58613         * tests/test-snprintf-posix.h (test_function): Likewise.
58614         * tests/test-sprintf-posix.h (test_function): Likewise.
58615         Reported by Eric Blake.
58616
58617 2007-05-23  Eric Blake  <ebb9@byu.net>
58618
58619         Fix fseeko/ftello on cygwin 1.5.24.
58620         * doc/functions/fseeko.texi (fseeko): Document the fix.
58621         * doc/functions/ftello.texi (ftello): Document the fix.
58622         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58623         * doc/functions/stdout.text (stdout): New file.
58624         * doc/functions/stderr.text (stderr): New file.
58625         * doc/gnulib.texi (Function Substitutes): Use new files.
58626         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58627         prior to 1.7.0.
58628         * tests/test-ftello.c (main): Likewise for ftello.
58629         * tests/test-fseeko.sh: New file.
58630         * tests/test-ftello.sh: New file.
58631         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58632         with seekable stdin.
58633         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58634         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58635         (gl_REPLACE_FSEEKO): New macro.
58636         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58637         * modules/fseeko (Files): Distribute fseeko.c.
58638         * modules/ftello (Files): Distribute ftello.c.
58639         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58640         mode.
58641         * lib/ftello.c (rpl_ftello): New file.
58642         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58643         fseeko, ftello.
58644         (gl_STDIN_LARGE_OFFSET): New macro.
58645         * modules/stdio (Makefile.am): Perform the replacement.
58646         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58647
58648 2007-05-23  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58651         GNULIB_POSIXCHECK is defined.
58652
58653 2007-05-21  Bruno Haible  <bruno@clisp.org>
58654
58655         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58656         Check also the output for NaN arguments. When cross-compiling, guess
58657         no on IRIX.
58658         * lib/vasnprintf.c: Update comments.
58659         * tests/test-vasnprintf-posix.c (strisnan): New function.
58660         (test_function): Use it.
58661         * tests/test-vasprintf-posix.c (strisnan): New function.
58662         (test_function): Use it.
58663         * tests/test-snprintf-posix.h (strisnan): New function.
58664         (test_function): Use it.
58665         * tests/test-sprintf-posix.h (strisnan): New function.
58666         (test_function): Use it.
58667         Reported by Eric Blake.
58668
58669 2007-05-20  Bruno Haible  <bruno@clisp.org>
58670
58671         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58672         numbers that fails on BeOS.
58673         * doc/functions/frexpl.texi: Update.
58674
58675 2007-05-20  Jim Meyering  <jim@meyering.net>
58676
58677         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58678         forced upon us by glibc-2.6.
58679
58680 2007-05-20  Bruno Haible  <bruno@clisp.org>
58681
58682         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58683         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58684         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58685         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58686         NEED_PRINTF_INFINITE.
58687         (is_infinitel): New function.
58688         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58689         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58690         gl_PREREQ_VASNPRINTF_INFINITE.
58691         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58692         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58693         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58694         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58695         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58696         gl_PREREQ_VASNPRINTF_INFINITE.
58697         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58698         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58699         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58700         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58701         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58702         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58703         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58704         * doc/functions/fprintf.texi: Update.
58705         * doc/functions/printf.texi: Update.
58706         * doc/functions/snprintf.texi: Update.
58707         * doc/functions/sprintf.texi: Update.
58708         * doc/functions/vfprintf.texi: Update.
58709         * doc/functions/vprintf.texi: Update.
58710         * doc/functions/vsnprintf.texi: Update.
58711         * doc/functions/vsprintf.texi: Update.
58712
58713 2007-05-20  Bruno Haible  <bruno@clisp.org>
58714
58715         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58716         was not found in libc.
58717         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58718
58719 2007-05-20  Bruno Haible  <bruno@clisp.org>
58720
58721         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58722         printed as "-nan" instead of "nan".
58723         * tests/test-vasprintf-posix.c (test_function): Likewise.
58724         * tests/test-snprintf-posix.h (test_function): Likewise.
58725         * tests/test-sprintf-posix.h (test_function): Likewise.
58726         Needed for HP-UX 11.
58727
58728 2007-05-20  Jim Meyering  <jim@meyering.net>
58729
58730         Fix buggy test for the fchownat-deref bug.
58731         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58732         symlink required for the run-test.  Without it, this test would
58733         always declare that fchownat doesn't work, and client code would
58734         unnecessarily use the replacement function with fixed libc.
58735         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58736         Reported by Greg Schafer.
58737
58738 2007-05-19  Bruno Haible  <bruno@clisp.org>
58739
58740         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58741         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58742         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58743         Needed for IRIX 6.5 and Solaris 2.5.1.
58744
58745 2007-05-19  Bruno Haible  <bruno@clisp.org>
58746
58747         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58748         (test_function): Skip tests involving -0.0 on platforms where
58749         -0.0 = 0.0.
58750         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58751         (test_function): Skip tests involving -0.0 on platforms where
58752         -0.0 = 0.0.
58753         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58754         (test_function): Skip tests involving -0.0 on platforms where
58755         -0.0 = 0.0.
58756         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58757         (test_function): Skip tests involving -0.0 on platforms where
58758         -0.0 = 0.0.
58759         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58760         tests.
58761         * tests/test-printf-posix.h (test_function): Likewise.
58762         * tests/test-printf-posix.output: Remove all -0.0 related results.
58763         Needed for IRIX 6.5.
58764
58765 2007-05-19  Bruno Haible  <bruno@clisp.org>
58766
58767         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58768         printed as "nan0x7fffffff" instead of "nan".
58769         * tests/test-vasprintf-posix.c (test_function): Likewise.
58770         * tests/test-snprintf-posix.h (test_function): Likewise.
58771         * tests/test-sprintf-posix.h (test_function): Likewise.
58772         * tests/test-fprintf-posix.h (NaN): Remove macro.
58773         (test_function): Remove all NaN related tests.
58774         * tests/test-printf-posix.h (NaN): Remove macro.
58775         (test_function): Remove all NaN related tests.
58776         * tests/test-printf-posix.output: Remove all NaN related results.
58777         Needed for IRIX 6.5.
58778
58779 2007-05-19  Bruno Haible  <bruno@clisp.org>
58780
58781         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58782         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58783
58784 2007-05-19  Bruno Haible  <bruno@clisp.org>
58785
58786         * lib/float_.h: New file.
58787         * m4/float_h.m4: New file.
58788         * modules/float: New file.
58789         * modules/isnanl (Dependencies): Add float.
58790         * modules/isnanl-nolibm (Dependencies): Likewise.
58791         * modules/mathl (Dependencies): Likewise.
58792         * modules/printf-frexpl (Dependencies): Likewise.
58793         * modules/signbit (Dependencies): Likewise.
58794         * modules/vasnprintf (Dependencies): Likewise.
58795         * doc/headers/float.texi: Update.
58796
58797 2007-05-19  Jim Meyering  <jim@meyering.net>
58798
58799         * lib/utimens.c (gl_futimens): Rename from futimens,
58800         now that glibc-2.6 declares futimens.
58801         * lib/utimens.h: Likewise.
58802
58803 2007-05-19  Bruno Haible  <bruno@clisp.org>
58804
58805         Avoid test failures on mingw.
58806         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58807         * tests/test-printf-posix.sh: Likewise.
58808         * tests/test-vfprintf-posix.sh: Likewise.
58809         * tests/test-vprintf-posix.sh: Likewise.
58810
58811 2007-05-19  Bruno Haible  <bruno@clisp.org>
58812
58813         Fix *printf result for NaN, Inf, -0.0 on mingw.
58814         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58815         * lib/vasnprintf.c: Include math.h and isnan.h.
58816         (is_infinite_or_zero): New function.
58817         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58818         values in the %f, %F, %e, %E, %g, %G directives.
58819         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58820         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58821         gl_PRINTF_INFINITE and test its result. Invoke
58822         gl_PREREQ_VASNPRINTF_INFINITE.
58823         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58824         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58826         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58827         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58828         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58830         * doc/functions/fprintf.texi: Update.
58831         * doc/functions/printf.texi: Update.
58832         * doc/functions/snprintf.texi: Update.
58833         * doc/functions/sprintf.texi: Update.
58834         * doc/functions/vfprintf.texi: Update.
58835         * doc/functions/vprintf.texi: Update.
58836         * doc/functions/vsnprintf.texi: Update.
58837         * doc/functions/vsprintf.texi: Update.
58838
58839 2007-05-19  Bruno Haible  <bruno@clisp.org>
58840
58841         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58842         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58843         Instead of multiplying with 10^k, set extra_zeroes to k.
58844         (scale10_round_long_double): Remove function.
58845
58846 2007-05-18  Bruno Haible  <bruno@clisp.org>
58847
58848         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58849         introduced on 2007-05-06.
58850
58851 2007-05-18  Bruno Haible  <bruno@clisp.org>
58852
58853         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58854         %g directives.
58855         * tests/test-vasprintf-posix.c (test_function): Likewise.
58856         * tests/test-snprintf-posix.h (test_function): Likewise.
58857         * tests/test-sprintf-posix.h (test_function): Likewise.
58858
58859 2007-05-18  Bruno Haible  <bruno@clisp.org>
58860
58861         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58862         (strmatch): New function.
58863         (test_function): Test the %f directive on numbers of various exponents.
58864         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58865         (strmatch): New function.
58866         (test_function): Test the %f directive on numbers of various exponents.
58867         * tests/test-snprintf-posix.h (strmatch): New function.
58868         (test_function): Test the %f directive on numbers of various exponents.
58869         * tests/test-sprintf-posix.h (strmatch): New function.
58870         (test_function): Test the %f directive on numbers of various exponents.
58871         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58872         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58873         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58874         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58875
58876 2007-05-18  Bruno Haible  <bruno@clisp.org>
58877
58878         Add support for 'long double' number output.
58879         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58880         * lib/vasnprintf.c: Include math.h and float+.h.
58881         (mp_limb_t): New type.
58882         (GMP_LIMB_BITS): New macro.
58883         (mp_twolimb_t): New type.
58884         (GMP_TWOLIMB_BITS): New macro.
58885         (mpn_t): New type.
58886         (multiply, divide, convert_to_decimal, decode_long_double,
58887         scale10_round_long_double, scale10_round_decimal_long_double,
58888         floorlog10l): New functions.
58889         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58890         for the %f, %F, %e, %E, %g, %G directives.
58891         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58892         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58893         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58894         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58896         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58897         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58898         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58899         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58900         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58901         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58902         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58903         * modules/snprintf-posix (Depends-on): Likewise.
58904         * modules/sprintf-posix (Depends-on): Likewise.
58905         * modules/vasnprintf-posix (Depends-on): Likewise.
58906         * modules/vasprintf-posix (Depends-on): Likewise.
58907         * modules/vfprintf-posix (Depends-on): Likewise.
58908         * modules/vsnprintf-posix (Depends-on): Likewise.
58909         * modules/vsprintf-posix (Depends-on): Likewise.
58910         * modules/vasnprintf (Files): Add lib/float+.h.
58911         * doc/functions/fprintf.texi: Update.
58912         * doc/functions/printf.texi: Update.
58913         * doc/functions/snprintf.texi: Update.
58914         * doc/functions/sprintf.texi: Update.
58915         * doc/functions/vfprintf.texi: Update.
58916         * doc/functions/vprintf.texi: Update.
58917         * doc/functions/vsnprintf.texi: Update.
58918         * doc/functions/vsprintf.texi: Update.
58919
58920 2007-05-18  Bruno Haible  <bruno@clisp.org>
58921
58922         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58923
58924 2007-05-18  Bruno Haible  <bruno@clisp.org>
58925
58926         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
58927         for printing 64-bit integers. Needed for mingw.
58928
58929 2007-05-18  Bruno Haible  <bruno@clisp.org>
58930
58931         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58932         gl_FUNC_FREXPL_WORKS.
58933         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
58934
58935 2007-05-18  Bruno Haible  <bruno@clisp.org>
58936
58937         * modules/frexpl-nolibm-tests: New file.
58938
58939         * modules/frexpl-nolibm: New file.
58940         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
58941
58942 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58943
58944         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
58945         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58946         GCC 4.2, which otherwise issues a lot of warnings.
58947         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
58948         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
58949         Likewise.
58950         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
58951         * modules/iconv_open (iconv.h): Likewise.
58952         * modules/locale (locale.h): Likewise.
58953         * modules/netinet_in (netinet/in.h): Likewise.
58954         * modules/sys_select (sys_select.h): Likewise.
58955         * modules/sys_socket (sys/socket.h): Likewise.
58956         * modules/sys_stat (sys/stat.h): Likewise.
58957         * modules/sysexits (sysexits.h): Likewise.
58958         * modules/unistd (unistd.h): Likewise.
58959
58960 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58961
58962         * modules/closein-tests (Makefile.am): Distribute
58963         `test-closein.sh'.
58964
58965 2007-05-17  Bruno Haible  <bruno@clisp.org>
58966
58967         * tests/test-printf-posix.output: Renamed from
58968         tests/test-fprintf-posix.out.
58969         * modules/fprintf-posix-tests: Update.
58970         * modules/printf-posix-tests: Update.
58971         * modules/vfprintf-posix-tests: Update.
58972         * modules/vprintf-posix-tests: Update.
58973         * tests/test-fprintf-posix.sh: Update.
58974         * tests/test-printf-posix.sh: Update.
58975         * tests/test-vfprintf-posix.sh: Update.
58976         * tests/test-vprintf-posix.sh: Update.
58977         Reported by Ralf Wildenhues.
58978
58979 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58980
58981         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
58982         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
58983         GCC 4.2, which otherwise issues a lot of warnings.
58984         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
58985         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
58986         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
58987         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
58988         it should no longer be needed.
58989         * lib/string_.h: Likewise.
58990         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
58991         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
58992         * modules/inttypes (inttypes.h): Likewise.
58993         * modules/math (math.h): Likewise.
58994         * modules/search (search.h): Likewise.
58995         * modules/signal (signal.h): Likewise.
58996         * modules/stdint (stdint.h): Likewise.
58997         * modules/stdio (stdio.h): Likewise.
58998         * modules/stdlib (stdlib.h): Likewise.
58999         * modules/string (string.h): Likewise.
59000         * modules/sys_time (sys/time.h): Likewise.
59001         * modules/time (time.h): Likewise.
59002         * modules/wchar (wchar.h): Likewise.
59003         * modules/wctype (wtype.h): Likewise.
59004
59005 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59006
59007         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59008
59009 2007-05-13  Bruno Haible  <bruno@clisp.org>
59010
59011         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59012         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59013         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59014         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59015         (gl_PREREQ_STRTOK_R): Don't require it here.
59016
59017 2007-05-13  Bruno Haible  <bruno@clisp.org>
59018
59019         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59020         when used in C++ mode.
59021
59022 2007-05-12  Bruno Haible  <bruno@clisp.org>
59023
59024         * lib/linebuffer.h: Tweak doc.
59025         * lib/linebuffer.c: Likewise.
59026
59027 2007-05-12  James Youngman  <jay@gnu.org>
59028
59029         * lib/linebuffer.c (readlinebuffer_delim): New function,
59030         like readlinebuffer, but use a caller-specified delimiter.
59031         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59032         as the delimiter.
59033         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59034
59035 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59036
59037         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59038         * modules/openat (Files): Remove openat-die.c.
59039         (Depends-on): Add openat-die.
59040         * modules/openat-die: New module.
59041
59042 2007-05-06  Bruno Haible  <bruno@clisp.org>
59043
59044         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59045         Update with info about Cygwin.
59046         * doc/functions/fprintf.texi: Update.
59047         * doc/functions/printf.texi: Update.
59048         * doc/functions/snprintf.texi: Update.
59049         * doc/functions/sprintf.texi: Update.
59050         * doc/functions/vfprintf.texi: Update.
59051         * doc/functions/vprintf.texi: Update.
59052         * doc/functions/vsnprintf.texi: Update.
59053         * doc/functions/vsprintf.texi: Update.
59054         Reported by Eric Blake.
59055
59056 2007-05-06  Bruno Haible  <bruno@clisp.org>
59057
59058         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59059         padding ourselves for the floating-point directives.
59060         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59061         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59062         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59063         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59064         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59065         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59066         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59067         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59068         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59069         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59070         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59071         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59072         * tests/test-snprintf-posix.h (test_function): Also check the width
59073         and some flags in the %f directive.
59074         * tests/test-sprintf-posix.h (test_function): Likewise.
59075         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59076         * tests/test-vasprintf-posix.c (test_function): Likewise.
59077         * doc/functions/fprintf.texi: Update.
59078         * doc/functions/printf.texi: Update.
59079         * doc/functions/snprintf.texi: Update.
59080         * doc/functions/sprintf.texi: Update.
59081         * doc/functions/vfprintf.texi: Update.
59082         * doc/functions/vprintf.texi: Update.
59083         * doc/functions/vsnprintf.texi: Update.
59084         * doc/functions/vsprintf.texi: Update.
59085
59086 2007-05-06  Bruno Haible  <bruno@clisp.org>
59087
59088         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59089         pass the ' flag character to sprintf or snprintf.
59090         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59091         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59092         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59093         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59094         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59095         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59096         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59097         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59098         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59099         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59100         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59101         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59102         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59103         flag.
59104         * tests/test-sprintf-posix.h (test_function): Likewise.
59105         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59106         * tests/test-vasprintf-posix.c (test_function): Likewise.
59107         * doc/functions/fprintf.texi: Update.
59108         * doc/functions/printf.texi: Update.
59109         * doc/functions/snprintf.texi: Update.
59110         * doc/functions/sprintf.texi: Update.
59111         * doc/functions/vfprintf.texi: Update.
59112         * doc/functions/vprintf.texi: Update.
59113         * doc/functions/vsnprintf.texi: Update.
59114         * doc/functions/vsprintf.texi: Update.
59115
59116 2007-05-01  Bruno Haible  <bruno@clisp.org>
59117
59118         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59119
59120 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59121
59122         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59123         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59124
59125 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59126
59127         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59128         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59129         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59130
59131 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59132
59133         * lib/argp-help.c (struct hol_entry): New member `ord'.
59134         (HOL_ENTRY_PTRCMP): Use ord for comparison
59135         (hol_sort): Initialize ord.
59136
59137 2007-05-01  Bruno Haible  <bruno@clisp.org>
59138
59139         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59140         Reported by Eric Blake.
59141         * doc/gnulib.texi (Function Substitutes): Update.
59142
59143 2007-05-01  Bruno Haible  <bruno@clisp.org>
59144
59145         * doc/functions.texi: Remove file, now redundant through
59146         doc/functions/*.texi.
59147
59148 2007-05-01  Bruno Haible  <bruno@clisp.org>
59149
59150         * modules/argp (Depends-on): Add sleep.
59151
59152 2007-05-01  Bruno Haible  <bruno@clisp.org>
59153
59154         * modules/sleep-tests: New file.
59155         * tests/test-sleep.c: New file.
59156
59157         * modules/sleep: New file.
59158         * lib/sleep.c: New file.
59159         * m4/sleep.m4: New file.
59160         * lib/unistd_.h (sleep): New declaration.
59161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59162         HAVE_SLEEP.
59163         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59164         * doc/functions/sleep.texi: Document the sleep module.
59165
59166 2007-05-01  Bruno Haible  <bruno@clisp.org>
59167
59168         * lib/sigprocmask.h: Remove file.
59169         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59170         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59171         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59172         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59173         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59174         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59175         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59176         HAVE_SIGSET_T as a shell variable.
59177         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59178         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59179         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59180         (Depends-on): Add signal. Remove verify.
59181         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59182         (Include): Mention <signal.h> instead of sigprocmask.h.
59183         * NEWS: Mention the change.
59184         * lib/fatal-signal.c: Don't include sigprocmask.h.
59185
59186 2007-05-01  Bruno Haible  <bruno@clisp.org>
59187
59188         * modules/signal: New file.
59189         * lib/signal_.h: New file.
59190         * m4/signal_h.m4: New file.
59191
59192 2007-05-01  Bruno Haible  <bruno@clisp.org>
59193
59194         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59195         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59196         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59197         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59198
59199 2007-05-01  Bruno Haible  <bruno@clisp.org>
59200
59201         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59202         configure time.
59203         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59204         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59205         * modules/sys_stat (Makefile.am): Substitute their values into
59206         sys/stat.h.
59207
59208 2007-05-01  Bruno Haible  <bruno@clisp.org>
59209
59210         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59211         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59212         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59213
59214 2007-05-01  Bruno Haible  <bruno@clisp.org>
59215
59216         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59217         'assert' module here.
59218
59219 2007-05-01  Bruno Haible  <bruno@clisp.org>
59220
59221         * doc/functions/*.texi: New files.
59222         * doc/functions/google-ranking.txt: New file.
59223         * doc/gnulib.texi (Function Substitutes): New chapter.
59224         (ctime, inet_ntoa): Remove sections.
59225         * doc/ctime.texi: Remove file.
59226         * doc/inet_ntoa.texi: Remove file.
59227         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59228         dependencies.
59229         (%.info): New rule, specifying a --reference-limit.
59230
59231 2007-05-01  Bruno Haible  <bruno@clisp.org>
59232
59233         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59234
59235 2007-05-01  Bruno Haible  <bruno@clisp.org>
59236
59237         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59238         the portability of 'mkdir' to mingw systems.
59239
59240 2007-05-01  Bruno Haible  <bruno@clisp.org>
59241
59242         * doc/headers/google-ranking.txt: New file.
59243
59244 2007-04-30  Eric Blake  <ebb9@byu.net>
59245
59246         Prefer fseeko to fseek.
59247         * modules/getpass (Depends-on): Add fseeko.
59248         * lib/getpass.c (getpass): Use fseeko, not fseek.
59249
59250 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59251
59252         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59253         assumes the sorting is stable, while most qsort implementations
59254         are not.  Use argument addresses to ensure they never compare as
59255         equal.
59256
59257         * tests/test-argp-2.sh (usage-indent test): Fix output
59258         (func_compare): Restore diff options
59259         * tests/test-argp.c: Restore #include "progname.h"
59260
59261 2007-04-29  Bruno Haible  <bruno@clisp.org>
59262
59263         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59264         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59265         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59266         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59267         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59268         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59269         (TESTS, check_PROGRAMS): Add test-snprintf.
59270         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59271         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59272         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59273         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59274         assertions that fail on HP-UX, OSF/1, or IRIX.
59275         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59276
59277 2007-04-29  Bruno Haible  <bruno@clisp.org>
59278
59279         * MODULES.html.sh (posix_functions): Remove 'contents'.
59280
59281 2007-04-29  Karl Berry  <karl@gnu.org>
59282
59283         * config/srclist.txt (gendocs_template_min): new entry.
59284
59285 2007-04-29  Bruno Haible  <bruno@clisp.org>
59286
59287         Work around fpurge bug on BSD systems.
59288         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59289         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59290         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59291         fpurge to rpl_fpurge if the system already has this function.
59292         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59293         the case where the system already has this function. Correct invariants
59294         on BSD systems.
59295         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59296         BSD systems.
59297
59298 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59299
59300         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59301         proposed by Sven Verdoolaege.
59302
59303         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59304         options.
59305         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59306         (usage and help tests): Update
59307
59308 2007-04-29  Bruno Haible  <bruno@clisp.org>
59309
59310         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59311         Print more information in case of failure. Disable a test on BeOS.
59312
59313 2007-04-29  Bruno Haible  <bruno@clisp.org>
59314
59315         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59316         This helps debugging on systems on which no gdb is available.
59317
59318 2007-04-29  Bruno Haible  <bruno@clisp.org>
59319
59320         * lib/freading.h: Improve comments.
59321         * lib/fwriting.h: Likewise.
59322         * tests/test-freading.c (main): Don't check freading immediately after
59323         repositioning. Needed for glibc.
59324
59325 2007-04-29  Bruno Haible  <bruno@clisp.org>
59326
59327         * lib/freading.c (freading): Trivial simplification.
59328
59329 2007-04-28  Bruno Haible  <bruno@clisp.org>
59330
59331         * tests/test-fwriting.c (main): Also test the interaction between
59332         fflush and fwriting.
59333         * modules/fwriting-tests (Depends-on): Add fflush.
59334
59335         * tests/test-freading.c (main): Also test the interaction between
59336         fflush and freading.
59337         * modules/freading-tests (Depends-on): Add fflush.
59338
59339 2007-04-28  Bruno Haible  <bruno@clisp.org>
59340
59341         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59342         fseeko and ftello.
59343         Suggested by Eric Blake.
59344
59345 2007-04-28  Jim Meyering  <jim@meyering.net>
59346
59347         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59348         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59349         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59350
59351 2007-04-27  Eric Blake  <ebb9@byu.net>
59352
59353         * doc/headers/assert.texi (assert.h): Document assert module use.
59354
59355 2007-04-27  Bruno Haible  <bruno@clisp.org>
59356
59357         * doc/headers/*.texi: New files.
59358         * doc/gnulib.texi (Header File Substitutes): New chapter.
59359         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59360         dependencies.
59361         (standards.info ,standards.html, standards.dvi): Update dependencies.
59362         (mostlyclean, clean): New targets.
59363
59364 2007-04-27  Bruno Haible  <bruno@clisp.org>
59365
59366         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59367         * modules/sysexits (Files, Makefile.am): Update.
59368
59369         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59370         * modules/sys_socket (Files, Makefile.am): Update.
59371
59372         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59373         * modules/sys_stat (Files, Makefile.am): Update.
59374
59375 2007-04-27  Eric Blake  <ebb9@byu.net>
59376
59377         * lib/freading.h: Improve comments.
59378         * lib/fwriting.h: Likewise.
59379         * lib/fflush.c: Likewise.
59380
59381         Fix closein for mingw.
59382         * modules/closein-tests: Add tests for closein.
59383         * tests/test-closein.c: New file.
59384         * tests/test-closein.sh: Likewise.
59385         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59386         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59387
59388 2007-04-27  Bruno Haible  <bruno@clisp.org>
59389
59390         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59391         version is < 6.
59392         * lib/math_.h [__DECC]: Likewise.
59393         * lib/stdio_.h [__DECC]: Likewise.
59394         * lib/stdlib_.h [__DECC]: Likewise.
59395         * lib/string_.h [__DECC]: Likewise.
59396         * lib/time_.h [__DECC]: Likewise.
59397         * lib/wchar_.h [__DECC]: Likewise.
59398         * lib/wctype_.h [__DECC]: Likewise.
59399
59400 2007-04-27  Bruno Haible  <bruno@clisp.org>
59401
59402         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59403
59404 2007-04-27  Bruno Haible  <bruno@clisp.org>
59405
59406         * lib/fflush.c: Add comments.
59407         * modules/fpurge-tests (Depends-on): Add fflush.
59408         * modules/freadable-tests (Depends-on): Likewise.
59409         * modules/fwritable-tests (Depends-on): Likewise.
59410
59411 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59412
59413         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59414         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59415         Report by Bruno Haible <bruno@clisp.org>.
59416
59417 2007-04-26  Eric Blake  <ebb9@byu.net>
59418
59419         Fix fflush on mingw.
59420         * modules/fflush (Depends-on): Add freading.
59421         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59422         but unread data.
59423
59424 2007-04-26  Eric Blake  <ebb9@byu.net>
59425         and Bruno Haible  <bruno@clisp.org>
59426
59427         Implement freading and fwriting.
59428         * lib/freading.c: New file.
59429         * lib/freading.h: Likewise.
59430         * m4/freading.m4: Likewise.
59431         * modules/freading: Likewise.
59432         * modules/freading-tests: Likewise.
59433         * tests/test-freading.c: Likewise.
59434         * lib/fwriting.c: New file.
59435         * lib/fwriting.h: Likewise.
59436         * m4/fwriting.m4: Likewise.
59437         * modules/fwriting: Likewise.
59438         * modules/fwriting-tests: Likewise.
59439         * tests/test-fwriting.c: Likewise.
59440         * MODULES.html.sh (File stream based Input/Output): Mention them.
59441
59442 2007-04-26  Bruno Haible  <bruno@clisp.org>
59443
59444         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59445         'long' when we assume it.
59446         Suggested by Eric Blake.
59447
59448 2007-04-26  Bruno Haible  <bruno@clisp.org>
59449
59450         Ensure fseeko, ftello are declared on glibc systems.
59451         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59452         * modules/fseeko (configure.ac-early): Likewise.
59453         * modules/ftello (configure.ac-early): Likewise.
59454         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59455         AC_FUNC_FSEEKO for this.
59456         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59457         (gl_CHECK_FSEEKO): Remove macro.
59458
59459 2007-04-26  Bruno Haible  <bruno@clisp.org>
59460
59461         * tests/test-fflush.c (main): Also check the ftell result after
59462         fflush and fseek/fseeko.
59463         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59464         file descriptor position cache in the stream.
59465         * lib/fseeko.c (rpl_fseeko): Likewise.
59466
59467 2007-04-26  Bruno Haible  <bruno@clisp.org>
59468
59469         * modules/fflush-tests (Depends-on): Add fseeko.
59470
59471 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59472             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59473
59474         * lib/argz_.h: ensure error_t definition is obtained in same
59475         mechanism system argz.h would have.
59476         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59477         argz facilities are known bad.  Err on the side of caution if
59478         cross-compiling.
59479
59480 2007-04-25  Eric Blake  <ebb9@byu.net>
59481
59482         * lib/fpurge.c (includes): Use stdlib.h for free.
59483         * tests/test-fflush.c (main): Also test fflush-fseeko.
59484
59485 2007-04-25  Bruno Haible  <bruno@clisp.org>
59486
59487         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59488         * lib/fseeko.c: New file.
59489         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59490         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59491         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59492         gl_FUNC_FSEEKO.
59493         (gl_FUNC_FSEEKO): Invoke it.
59494         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59495         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59496         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59497
59498 2007-04-25  Bruno Haible  <bruno@clisp.org>
59499
59500         * modules/fflush (Depends-on): Add ftello.
59501
59502 2007-04-25  Bruno Haible  <bruno@clisp.org>
59503
59504         * modules/ftello-tests: New file.
59505         * tests/test-ftello.c: New file.
59506
59507         * modules/ftello: New file.
59508         * m4/ftello.m4: New file.
59509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59510         HAVE_FTELLO.
59511         * lib/stdio_.h (ftello): New declaration.
59512         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59513         HAVE_FTELLO.
59514
59515 2007-04-25  Bruno Haible  <bruno@clisp.org>
59516
59517         * modules/fseeko-tests: New file.
59518         * tests/test-fseeko.c: New file.
59519
59520         * modules/fseeko: New file.
59521         * m4/fseeko.m4: New file.
59522         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59523         HAVE_FSEEKO.
59524         * lib/stdio_.h (fseeko): New declaration.
59525         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59526         HAVE_FSEEKO.
59527
59528 2007-04-25  Bruno Haible  <bruno@clisp.org>
59529
59530         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59531
59532 2007-04-25  Bruno Haible  <bruno@clisp.org>
59533
59534         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59535         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59536         * tests/test-unistd.c: Likewise.
59537         * tests/test-fcntl.c: Likewise.
59538
59539 2007-04-23  Eric Blake  <ebb9@byu.net>
59540
59541         * lib/fflush.c: Fix missing include.
59542         Reported by Bruno Haible.
59543
59544 2007-04-23  Bruno Haible  <bruno@clisp.org>
59545
59546         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59547         Reported by Eric Blake.
59548
59549 2007-04-23  Bruno Haible  <bruno@clisp.org>
59550
59551         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59552
59553 2007-04-23  Bruno Haible  <bruno@clisp.org>
59554
59555         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59556
59557 2007-04-23  Bruno Haible  <bruno@clisp.org>
59558
59559         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59560         Needed on HP-UX 11.
59561
59562 2007-04-16  Eric Blake  <ebb9@byu.net>
59563
59564         Make fflush rely on fpurge.
59565         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59566         open coding all variants.
59567         * modules/fflush (Depends-on): Add fpurge and unistd.
59568         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59569         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59570
59571         Fix --with-tests compilation on cygwin.
59572         * modules/argmatch-tests (Makefile.am): List gnulib library first
59573         in LDADD.
59574         * modules/argp-tests (Makefile.am): Likewise.
59575         * modules/array-list-tests (Makefile.am): Likewise.
59576         * modules/array-oset-tests (Makefile.am): Likewise.
59577         * modules/avltree-list-tests (Makefile.am): Likewise.
59578         * modules/avltree-oset-tests (Makefile.am): Likewise.
59579         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59580         * modules/carray-list-tests (Makefile.am): Likewise.
59581         * modules/dirname-tests (Makefile.am): Likewise.
59582         * modules/frexp-tests (Makefile.am): Likewise.
59583         * modules/isnanl-tests (Makefile.am): Likewise.
59584         * modules/linked-list-tests (Makefile.am): Likewise.
59585         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59586         * modules/lock-tests (Makefile.am): Likewise.
59587         * modules/rbtree-list-tests (Makefile.am): Likewise.
59588         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59589         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59590         * modules/tls-tests (Makefile.am): Likewise.
59591         * modules/tsearch-tests (Makefile.am): Likewise.
59592         * modules/xvasprintf-tests (Makefile.am): Likewise.
59593
59594         Fix fpurge for cygwin.
59595         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59596         value.
59597         * modules/fpurge-tests (Depends-on): Clean up trash.
59598
59599 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59600
59601         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59602
59603         * m4/autobuild.m4: Re-indent.
59604
59605 2007-04-13  Bruno Haible  <bruno@clisp.org>
59606
59607         * modules/fpurge-tests: New file.
59608         * tests/test-fpurge.c: New file.
59609
59610         * modules/fpurge: New file.
59611         * lib/fpurge.h: New file.
59612         * lib/fpurge.c: New file.
59613         * m4/fpurge.m4: New file.
59614
59615 2007-04-13  Bruno Haible  <bruno@clisp.org>
59616
59617         * modules/fbufmode-tests: New file.
59618         * tests/test-fbufmode.c: New file.
59619
59620         * modules/fbufmode: New file.
59621         * lib/fbufmode.h: New file.
59622         * lib/fbufmode.c: New file.
59623         * m4/fbufmode.m4: New file.
59624
59625 2007-04-13  Bruno Haible  <bruno@clisp.org>
59626
59627         * modules/fwritable-tests: New file.
59628         * tests/test-fwritable.c: New file.
59629
59630         * modules/fwritable: New file.
59631         * lib/fwritable.h: New file.
59632         * lib/fwritable.c: New file.
59633         * m4/fwritable.m4: New file.
59634
59635 2007-04-13  Bruno Haible  <bruno@clisp.org>
59636
59637         * modules/freadable-tests: New file.
59638         * tests/test-freadable.c: New file.
59639
59640         * modules/freadable: New file.
59641         * lib/freadable.h: New file.
59642         * lib/freadable.c: New file.
59643         * m4/freadable.m4: New file.
59644
59645 2007-04-13  Bruno Haible  <bruno@clisp.org>
59646
59647         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59648         MOSTLYCLEANFILES.
59649
59650 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59651
59652         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59653         gzip bootstrap.conf to avoid dragging in i18n machinery.
59654         (gnulib_tool_option): Use it.
59655
59656 2007-04-13  Bruno Haible  <bruno@clisp.org>
59657
59658         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59659         %F directives.
59660         * tests/test-vasprintf-posix.c (test_function): Likewise.
59661         * tests/test-snprintf-posix.h (test_function): Likewise.
59662         * tests/test-sprintf-posix.h (test_function): Likewise.
59663         * tests/test-fprintf-posix.h (test_function): Likewise.
59664         * tests/test-printf-posix.h (test_function): Likewise.
59665         * tests/test-fprintf-posix.out: Likewise.
59666
59667 2007-04-13  Bruno Haible  <bruno@clisp.org>
59668
59669         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59670         * modules/tls-tests (configure.ac): Likewise.
59671         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59672
59673 2007-04-13  Bruno Haible  <bruno@clisp.org>
59674
59675         * lib/tls.c (glthread_tls_get): Fix return type.
59676         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59677
59678 2007-04-12  Eric Blake  <ebb9@byu.net>
59679
59680         * modules/gettime (Depends-on): Remove gettime.
59681         Reported by Dmitry V. Levin.
59682
59683 2007-04-12  Bruno Haible  <bruno@clisp.org>
59684
59685         * modules/fflush (Include): Mention <stdio.h>.
59686         * modules/strtoimax (Include): Mention <inttypes.h>.
59687         * modules/strtoumax (Include): Likewise.
59688
59689 2007-04-12  Eric Blake  <ebb9@byu.net>
59690
59691         * .cvsignore: New file.
59692         * .gitignore: Likewise.
59693
59694 2007-04-12  Bruno Haible  <bruno@clisp.org>
59695
59696         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59697         not before, since $(LDADD) often contains libgnu.a.
59698         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59699         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59700         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59701         Needed on Cygwin.
59702
59703 2007-04-12  Eric Blake  <ebb9@byu.net>
59704
59705         Work around glibc's failure to flush stdin on fclose.
59706         * lib/closein.c (close_stdin): Flush stdin before closing.
59707
59708         Work around glibc's failure to reset seekable stdin on exit.
59709         * modules/closein: New module.
59710         * lib/closein.c: New file.
59711         * lib/closein.h: Likewise.
59712         * m4/closein.m4: Likewise.
59713         * MODULES.html.sh (File stream based Input/Output): Document it.
59714
59715 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59716
59717         * gnulib-tool: Rename generated 'autobuild' script to
59718         'do-autobuild' in --create-megatestdir output.
59719
59720         * doc/gnulib.texi (Build robot for gnulib): Fix.
59721
59722 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59723
59724         * modules/sysexits (Depends-on): Add absolute-header.
59725
59726 2007-04-12  Eric Blake  <ebb9@byu.net>
59727
59728         No need to preserve errno on success.
59729         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59730         Reported by Bruno Haible.
59731
59732 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59733
59734         * MODULES.html.sh (Support for maintaining and releasing
59735         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59736
59737 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59738
59739         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59740
59741 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59742
59743         * modules/autobuild: New module.
59744
59745         * m4/autobuild.m4: New file.
59746
59747 2007-04-11  Bruno Haible  <bruno@clisp.org>
59748
59749         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59750         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59751         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59752         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59753         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59754         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59755         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59756         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59757         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59758         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59759         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59760         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59761         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59762         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59763         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59764         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59765         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59766         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59767         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59768         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59769         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59770         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59771         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59772         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59773         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59774         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59775         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59776         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59777         Reported by Eric Blake.
59778
59779 2007-04-11  Bruno Haible  <bruno@clisp.org>
59780
59781         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59782
59783 2007-04-10  Bruno Haible  <bruno@clisp.org>
59784
59785         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59786         for NaN and Infinity. Needed on FreeBSD 6.1.
59787         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59788         regarding results for "%010a" of Infinity and NaN.
59789         * tests/test-vasprintf-posix.c (test_function): Likewise.
59790         * tests/test-snprintf-posix.h (test_function): Likewise.
59791         * tests/test-sprintf-posix.h (test_function): Likewise.
59792         * tests/test-fprintf-posix.h (test_function): Likewise.
59793         * tests/test-printf-posix.h (test_function): Likewise.
59794         * tests/test-fprintf-posix.out: Likewise.
59795
59796 2007-04-10  Bruno Haible  <bruno@clisp.org>
59797
59798         * modules/locale-tests: New file.
59799         * tests/test-locale.c: New file.
59800
59801         * modules/locale: New file.
59802         * lib/locale_.h: New file.
59803         * m4/locale_h.m4: New file.
59804
59805 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59806             Bruno Haible  <bruno@clisp.org>
59807
59808         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59809         be determined, test for availability of the copysignf, copysign,
59810         copysignl functions.
59811         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59812         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59813         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59814
59815 2007-04-09  Eric Blake  <ebb9@byu.net>
59816
59817         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59818         * modules/stdio (Makefile.am): Support fflush.
59819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59820         * modules/fflush: New file.
59821         * lib/fflush.c: Likewise.
59822         * m4/fflush.m4: Likewise.
59823         * modules/fflush-tests: New test.
59824         * tests/test-fflush.c: Likewise.
59825         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59826
59827 2007-04-06  Bruno Haible  <bruno@clisp.org>
59828
59829         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59830         (VASNPRINTF): Use signbit for faster determination whether to print a
59831         minus sign.
59832         * modules/vasnprintf (Files): Remove lib/float+.h.
59833         * modules/fprintf-posix (Depends-on): Add signbit.
59834         * modules/snprintf-posix (Depends-on): Likewise.
59835         * modules/sprintf-posix (Depends-on): Likewise.
59836         * modules/vasnprintf-posix (Depends-on): Likewise.
59837         * modules/vasprintf-posix (Depends-on): Likewise.
59838         * modules/vfprintf-posix (Depends-on): Likewise.
59839         * modules/vsnprintf-posix (Depends-on): Likewise.
59840         * modules/vsprintf-posix (Depends-on): Likewise.
59841
59842 2007-04-06  Bruno Haible  <bruno@clisp.org>
59843
59844         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59845         * tests/test-frexpl.c (main): Likewise.
59846         * tests/test-ldexpl.c (main): Likewise.
59847         * modules/frexp-tests (Depends-on): Add signbit.
59848         * modules/frexpl-tests (Depdends-on): Likewise.
59849         * modules/ldexpl-tests (Depdends-on): Likewise.
59850
59851 2007-04-06  Bruno Haible  <bruno@clisp.org>
59852
59853         * modules/signbit-tests: New file.
59854         * tests/test-signbit.c: New file.
59855
59856         * modules/signbit: New file.
59857         * lib/signbitf.c: New file.
59858         * lib/signbitd.c: New file.
59859         * lib/signbitl.c: New file.
59860         * m4/signbit.m4: New file.
59861         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59862         (signbit): New macro.
59863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59864         REPLACE_SIGNBIT.
59865         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59866         REPLACE_FREXPL into math.h.
59867
59868 2007-04-06  Bruno Haible  <bruno@clisp.org>
59869
59870         * modules/isnanf-nolibm-tests: New file.
59871         * tests/test-isnanf.c: New file.
59872
59873         * modules/isnanf-nolibm: New file.
59874         * lib/isnanf.h: New file.
59875         * lib/isnanf.c: New file.
59876         * lib/isnan.c: Consider the USE_FLOAT macro.
59877         * m4/isnanf.m4: New file.
59878
59879 2007-04-06  Bruno Haible  <bruno@clisp.org>
59880
59881         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59882         (Link): New section.
59883
59884         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59885
59886 2007-04-06  Bruno Haible  <bruno@clisp.org>
59887
59888         Assume the 'long double' type.
59889         * m4/longdouble.m4: Remove file.
59890         * config/srclist.txt: Don't mention longdouble.m4.
59891         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59892         * lib/float+.h: Likewise.
59893         * lib/frexp.c: Likewise.
59894         * lib/printf-args.h: Likewise.
59895         * lib/printf-args.c: Likewise.
59896         * lib/printf-frexp.c: Likewise.
59897         * lib/printf-parse.c: Likewise.
59898         * lib/vasnprintf.c: Likewise.
59899         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59900         * m4/intl.m4: Likewise.
59901         * m4/isnanl.m4: Likewise.
59902         * m4/printf.m4: Likewise.
59903         * m4/printf-frexpl.m4: Likewise.
59904         * m4/vasnprintf.m4: Likewise.
59905         * modules/allocsa (Files): Remove m4/longdouble.m4.
59906         * modules/gettext (Files): Likewise.
59907         * modules/relocatable-prog-wrapper (Files): Likewise.
59908         * modules/vasnprintf (Files): Likewise.
59909         * modules/isnanl (Files): Likewise.
59910         (Include): Simplify.
59911         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59912         (Include): Simplify.
59913         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59914         (Include): Simplify.
59915         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59916         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59917         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59918         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59919         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59920         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59921         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59922         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59923         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59924         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59925         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59926         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59927         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
59928         * tests/test-isnanl.c: Likewise.
59929         * tests/test-snprintf-posix.h: Likewise.
59930         * tests/test-sprintf-posix.h: Likewise.
59931         * tests/test-vasnprintf-posix.c: Likewise.
59932         * tests/test-vasnprintf-posix2.c: Likewise.
59933         * tests/test-vasprintf-posix.c: Likewise.
59934
59935 2007-04-06  Bruno Haible  <bruno@clisp.org>
59936
59937         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
59938         * lib/math_.h [__DECC]: Include the overridden include file through
59939         #include_next, outside the double-inclusion guard.
59940         * lib/stdio_.h [__DECC]: Likewise.
59941         * lib/stdlib_.h [__DECC]: Likewise.
59942         * lib/string_.h [__DECC]: Likewise.
59943         * lib/time_.h [__DECC]: Likewise.
59944         * lib/wchar_.h [__DECC]: Likewise.
59945         * lib/wctype_.h [__DECC]: Likewise.
59946         * lib/inttypes_.h [__DECC]: Likewise.
59947         Reported by Albert Chin <china@thewrittenword.com> in
59948         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
59949
59950 2007-04-04  Eric Blake  <ebb9@byu.net>
59951
59952         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
59953         1.5.x.
59954
59955 2007-04-04  Bruno Haible  <bruno@clisp.org>
59956
59957         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
59958         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
59959
59960 2007-04-04  Bruno Haible  <bruno@clisp.org>
59961
59962         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
59963         results for "%010a" of Infinity and NaN.
59964         * tests/test-vasprintf-posix.c (test_function): Likewise.
59965         * tests/test-snprintf-posix.h (test_function): Likewise.
59966         * tests/test-sprintf-posix.h (test_function): Likewise.
59967         * tests/test-fprintf-posix.h (test_function): Remove these tests.
59968         * tests/test-printf-posix.h (test_function): Likewise.
59969         * tests/test-fprintf-posix.out: Update.
59970         Needed for FreeBSD 6.1.
59971
59972 2007-04-04  Bruno Haible  <bruno@clisp.org>
59973
59974         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
59975         directly used by the gnulib modules nor by gnulib-tool.
59976
59977 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
59978
59979         * DEPENDENCIES: Give overall description of version dependency
59980         desirability.  Use more-typical names for apps.
59981         Add shell, coreutils, diffutils, grep, tar, gzip.
59982
59983 2007-04-04  Simon Josefsson  <simon@josefsson.org>
59984
59985         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
59986
59987 2007-04-04  Karl Berry  <karl@gnu.org>
59988
59989         * MODULES.html.sh (func_module): missing '.
59990
59991 2007-04-03  Bruno Haible  <bruno@clisp.org>
59992
59993         * modules/argmatch-tests (Makefile.am): New variable
59994         test_argmatch_LDADD.
59995         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
59996         * modules/array-list-tests (Makefile.am): New variable
59997         test_array_list_LDADD.
59998         * modules/array-oset-tests (Makefile.am): New variable
59999         test_array_oset_LDADD.
60000         * modules/avltree-list-tests (Makefile.am): New variable
60001         test_avltree_list_LDADD.
60002         * modules/avltree-oset-tests (Makefile.am): New variable
60003         test_avltree_oset_LDADD.
60004         * modules/avltreehash-list-tests (Makefile.am): New variable
60005         test_avltreehash_list_LDADD.
60006         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60007         test_canonicalize_lgpl_LDADD.
60008         * modules/carray-list-tests (Makefile.am): New variable
60009         test_carray_list_LDADD.
60010         * modules/dirname-tests (Makefile.am): New variable
60011         test_dirname_LDADD.
60012         * modules/linked-list-tests (Makefile.am): New variable
60013         test_linked_list_LDADD.
60014         * modules/linkedhash-list-tests (Makefile.am): New variable
60015         test_linkedhash_list_LDADD.
60016         * modules/rbtree-list-tests (Makefile.am): New variable
60017         test_rbtree_list_LDADD.
60018         * modules/rbtree-oset-tests (Makefile.am): New variable
60019         test_rbtree_oset_LDADD.
60020         * modules/rbtreehash-list-tests (Makefile.am): New variable
60021         test_rbtreehash_list_LDADD.
60022         * modules/xvasprintf-tests (Makefile.am): New variable
60023         test_xvasprintf_LDADD.
60024         Reported by Eric Blake.
60025
60026 2007-04-03  Eric Blake  <ebb9@byu.net>
60027
60028         * DEPENDENCIES: Weaken m4 requirements.
60029
60030 2007-04-03  Bruno Haible  <bruno@clisp.org>
60031
60032         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60033         * modules/isnanl-tests (configure.ac): Likewise.
60034
60035 2007-04-03  Ben Pfaff  <blp@gnu.org>
60036
60037         * modules/iconv_open: Add $(srcdir)/ to source directory
60038         references in Makefile fragments that call gperf, to fix VPATH
60039         builds.
60040
60041 2007-04-03  Bruno Haible  <bruno@clisp.org>
60042
60043         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60044         * lib/ldexpl.c: Undo last change.
60045
60046 2007-04-03  Bruno Haible  <bruno@clisp.org>
60047
60048         * modules/printf-frexpl (Depends-on): Undo last change.
60049         (Files): Add m4/ldexpl.m4.
60050
60051 2007-04-03  Bruno Haible  <bruno@clisp.org>
60052
60053         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60054         * modules/isnanl (Link): New section.
60055
60056         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60057         * modules/frexp (Link): New section.
60058
60059         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60060         * modules/frexpl (Link): New section.
60061
60062         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60063         * modules/ldexpl (Link): New section.
60064
60065 2007-04-03  Bruno Haible  <bruno@clisp.org>
60066
60067         * modules/TEMPLATE-EXTENDED: New file.
60068         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60069
60070 2007-04-03  Bruno Haible  <bruno@clisp.org>
60071
60072         * DEPENDENCIES: New file.
60073         Suggested by Simon Josefsson.
60074
60075 2007-04-03  Bruno Haible  <bruno@clisp.org>
60076
60077         * doc/gnulib.texi: Escape @.
60078
60079 2007-04-03  James Youngman  <jay@gnu.org>
60080         and Paul Eggert  <eggert@cs.ucla.edu>
60081
60082         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60083         birthtime on all systems that have birthtime, not just those which
60084         use st_birthtimensec rather than st_birthtim.  Putting zero in
60085         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60086         that the birth time is not available for files on an NFS mount.
60087
60088 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60089
60090         * modules/memxor: Move back from crypto/, suggested by Bruno.
60091         * modules/crypto/hmac-sha1: Fix memxor dependency.
60092
60093         * modules/crypto/gc: Moved from ../.
60094
60095 2007-04-02  Eric Blake  <ebb9@byu.net>
60096
60097         * lib/ldexpl.c (includes): Avoid libm.
60098
60099         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60100
60101 2007-04-02  Bruno Haible  <bruno@clisp.org>
60102
60103         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60104         on IRIX.
60105
60106 2007-04-02  Bruno Haible  <bruno@clisp.org>
60107
60108         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60109         x86 or x86_64 platforms running MacOS X.
60110         Reported by Ryan Schmidt <@ryandesign.com>.
60111
60112 2007-04-02  Bruno Haible  <bruno@clisp.org>
60113
60114         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60115         i386.
60116
60117 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60118
60119         * modules/crypto/arcfour: Moved from ../.
60120         * modules/crypto/arcfour-tests: Moved from ../.
60121         * modules/crypto/arctwo: Moved from ../.
60122         * modules/crypto/arctwo-tests: Moved from ../.
60123         * modules/crypto/des: Moved from ../.
60124         * modules/crypto/des-tests: Moved from ../.
60125         * modules/crypto/gc-arcfour: Moved from ../.
60126         * modules/crypto/gc-arcfour-tests: Moved from ../.
60127         * modules/crypto/gc-arctwo: Moved from ../.
60128         * modules/crypto/gc-arctwo-tests: Moved from ../.
60129         * modules/crypto/gc-des: Moved from ../.
60130         * modules/crypto/gc-des-tests: Moved from ../.
60131         * modules/crypto/gc-hmac-md5: Moved from ../.
60132         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60133         * modules/crypto/gc-hmac-sha1: Moved from ../.
60134         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60135         * modules/crypto/gc-md2: Moved from ../.
60136         * modules/crypto/gc-md2-tests: Moved from ../.
60137         * modules/crypto/gc-md4: Moved from ../.
60138         * modules/crypto/gc-md4-tests: Moved from ../.
60139         * modules/crypto/gc-md5: Moved from ../.
60140         * modules/crypto/gc-md5-tests: Moved from ../.
60141         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60142         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60143         * modules/crypto/gc-random: Moved from ../.
60144         * modules/crypto/gc-rijndael: Moved from ../.
60145         * modules/crypto/gc-rijndael-tests: Moved from ../.
60146         * modules/crypto/gc-sha1: Moved from ../.
60147         * modules/crypto/gc-sha1-tests: Moved from ../.
60148         * modules/crypto/gc-tests: Moved from ../.
60149         * modules/crypto/hmac-md5: Moved from ../.
60150         * modules/crypto/hmac-md5-tests: Moved from ../.
60151         * modules/crypto/hmac-sha1: Moved from ../.
60152         * modules/crypto/hmac-sha1-tests: Moved from ../.
60153         * modules/crypto/md2: Moved from ../.
60154         * modules/crypto/md2-tests: Moved from ../.
60155         * modules/crypto/md4: Moved from ../.
60156         * modules/crypto/md4-tests: Moved from ../.
60157         * modules/crypto/md5: Moved from ../.
60158         * modules/crypto/md5-tests: Moved from ../.
60159         * modules/crypto/memxor: Moved from ../.
60160         * modules/crypto/rijndael: Moved from ../.
60161         * modules/crypto/rijndael-tests: Moved from ../.
60162         * modules/crypto/sha1: Moved from ../.
60163
60164 2007-03-30  James Youngman  <jay@gnu.org>
60165
60166         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60167         rename() to change the ctime of a file (because ctime is unaffected
60168         by rename on jfs2 on AIX 5.1).
60169         (main): Start by doing cleanup, in case a previous run failed leaving
60170         test files behind.
60171
60172 2007-03-31  Bruno Haible  <bruno@clisp.org>
60173
60174         Support old proprietary implementations of iconv.
60175         * modules/iconv_open: New file.
60176         * lib/iconv_.h: New file.
60177         * m4/iconv_h.m4: New file.
60178         * lib/iconv_open.c: New file.
60179         * lib/iconv_open-aix.gperf: New file.
60180         * lib/iconv_open-hpux.gperf: New file.
60181         * lib/iconv_open-irix.gperf: New file.
60182         * lib/iconv_open-osf.gperf: New file.
60183         * m4/iconv_open.m4: New file.
60184         * modules/linebreak (Depends-on): Add iconv_open.
60185         * modules/striconv (Depends-on): Likewise.
60186         * modules/striconveh (Depends-on): Likewise.
60187         * modules/unicodeio (Depends-on): Likewise.
60188         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60189         (iconv_t)(-1).
60190         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60191         conversion if cd is (iconv_t)(-1).
60192         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60193         is not possible.
60194
60195 2007-03-31  Bruno Haible  <bruno@clisp.org>
60196
60197         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60198         work on Solaris either. Protect also second use of "autodetect_jp".
60199
60200 2007-03-31  Bruno Haible  <bruno@clisp.org>
60201
60202         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60203         the function is not present.
60204
60205 2007-03-31  Bruno Haible  <bruno@clisp.org>
60206
60207         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60208         the function is not present.
60209
60210 2007-03-31  Bruno Haible  <bruno@clisp.org>
60211
60212         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60213         a bug in HP-UX iconv_open().
60214
60215 2007-03-31  Bruno Haible  <bruno@clisp.org>
60216
60217         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60218         (Mathematics <math.h>): New section, add fpieee.
60219         (Input/output <stdio.h>): Add fseterr.
60220         (Mathematics <math.h>): New section, add printf-frexp.
60221         (Container data structures): Add sublist.
60222         (Core language properties): Add fpucw, inline.
60223         (Functions for greatest-width integer types <inttypes.h>): Add
60224         imaxabs, imaxdiv, inttypes.
60225         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60226         isnanl-nolibm, ldexp.
60227         (Mathematics <math.h>): New section, add printf-frexpl.
60228         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60229         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60230         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60231         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60232         (Unicode string functions): Add unistr/u*-mbtoucr.
60233         (Java): Add javacomp-script, javaexec-script.
60234         (C#): Add csharpcomp-script, csharpexec-script.
60235         (Support for building libraries and executables): Add havelib,
60236         relocatable-*.
60237         (Support for maintaining and releasing projects): Renamed from
60238         'Support for maintaining and release projects'. Add announce-gen.
60239
60240 2007-03-31  Bruno Haible  <bruno@clisp.org>
60241
60242         * README: Talk primarily about git.
60243         (git and CVS): Renamed from CVS.
60244         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60245         gnulib is available through git.
60246         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60247
60248 2007-03-30  Bruno Haible  <bruno@clisp.org>
60249
60250         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60251         * lib/poll_.h: Likewise.
60252         * lib/stat_.h: Likewise.
60253         * lib/sys_time_.h: Likewise.
60254         * lib/sysexit_.h: Likewise.
60255         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60256         * lib/stdbool_.h: Likewise.
60257         * lib/byteswap_.h: Add double-inclusion guard.
60258
60259 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60260
60261         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60262
60263 2007-03-30  Karl Berry  <karl@gnu.org>
60264
60265         * config/srclist-update: double space after USA in the license
60266         substitution, since that's how it's usually (?) written.
60267
60268 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60269
60270         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60271         reported by Bruno Haible.
60272
60273 2007-03-29  Bruno Haible  <bruno@clisp.org>
60274
60275         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60276         a bug in AIX iconv().
60277
60278 2007-03-29  Bruno Haible  <bruno@clisp.org>
60279
60280         * modules/ldexpl-tests: New file.
60281         * tests/test-ldexpl.c: New file.
60282
60283 2007-03-29  Bruno Haible  <bruno@clisp.org>
60284
60285         * lib/ldexpl.c: Include fpucw.h.
60286         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60287         multiplication.
60288         * modules/ldexpl (Depends-on): Add fpucw.
60289
60290 2007-03-29  Bruno Haible  <bruno@clisp.org>
60291
60292         * modules/ldexpl: New file.
60293         * m4/ldexpl.m4: New file.
60294         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60295         set.
60296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60297         REPLACE_LDEXPL.
60298         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60299         REPLACE_LDEXPL.
60300         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60301         gl_FUNC_LDEXPL_WORKS.
60302         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60303         * modules/mathl (Files): Remove lib/ldexpl.c.
60304         (Depends-on): Add ldexpl.
60305
60306 2007-03-29  Bruno Haible  <bruno@clisp.org>
60307
60308         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60309
60310 2007-03-29  Bruno Haible  <bruno@clisp.org>
60311
60312         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60313         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60314         and possibly also HP-UX.
60315         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60316         work on AIX, IRIX, HP-UX, OSF/1.
60317         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60318         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60319         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60320         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60321         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60322         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60323
60324 2007-03-29  Bruno Haible  <bruno@clisp.org>
60325
60326         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60327
60328 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60331         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60332
60333 2007-03-29  Eric Blake  <ebb9@byu.net>
60334
60335         * lib/acl-internal.h: Remove redundant include.
60336         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60337         Cygwin when a file is locked.
60338
60339 2007-03-29  Bruno Haible  <bruno@clisp.org>
60340
60341         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60342         file.
60343         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60344
60345 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60346
60347         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60348         try to remove a parent directory if the child couldn't be removed
60349         (except for the first rmdir, which could fail because the child
60350         doesn't exist).  Problem reported by Jeff Blaine in
60351         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60352
60353 2007-03-28  Bruno Haible  <bruno@clisp.org>
60354
60355         * lib/striconveh.c (utf8conv_carefully): New function.
60356         (mem_cd_iconveh_internal): Invoke it.
60357
60358 2007-03-28  Bruno Haible  <bruno@clisp.org>
60359
60360         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60361         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60362         input.
60363         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60364         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60365         unistr/u8-uctomb.
60366
60367 2007-03-28  Bruno Haible  <bruno@clisp.org>
60368
60369         * modules/unistr/u8-mbtoucr: New file.
60370         * lib/unistr/u8-mbtoucr.c: New file.
60371         * modules/unistr/u16-mbtoucr: New file.
60372         * lib/unistr/u16-mbtoucr.c: New file.
60373         * modules/unistr/u16-mbtoucr: New file.
60374         * lib/unistr/u16-mbtoucr.c: New file.
60375         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60376
60377 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60378             Bruno Haible  <bruno@clisp.org>
60379
60380         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60381         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60382         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60383
60384         * m4/stdio_h.m4: Add stubs for vasprintf too.
60385
60386         * modules/stdio: Support vasprintf in sed command.
60387
60388         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60389         vasprintf.h.  Add stdio module indicator.
60390
60391         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60392         vasprintf.h.
60393
60394         * lib/vasprintf.h: File removed.
60395
60396         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60397         * lib/vasprintf.c: Ditto.
60398         * lib/xvasprintf.c: Ditto.
60399         * tests/test-vasprintf-posix.c: Ditto.
60400         * tests/test-vasprintf.c: Ditto.
60401
60402 2007-03-27  Bruno Haible  <bruno@clisp.org>
60403
60404         Make vasnprintf multithread-safe.
60405         * lib/vasnprintf.c (decimal_point_char): New function.
60406         (VASNPRINTF): Use it.
60407         Suggested by Simon Josefsson.
60408
60409 2007-03-27  Eric Blake  <ebb9@byu.net>
60410
60411         Support sub-second birthtime on cygwin.
60412         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60413         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60414         (get_stat_birthtime): Also work with st_birthtim.
60415
60416 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60417
60418         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60419         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60420         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60421         (get_stat_birthtime_ns): Simplify compile-time tests.
60422         (get_stat_birthtime): Change the API to look like
60423         get_stat_mtime etc., except return a negative tv_nsec on error.
60424         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60425         Don't check for "spare" fields.
60426         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60427         or for struct stat.st_birthtime, as these tests aren't used.
60428         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60429
60430 2007-03-27  Bruno Haible  <bruno@clisp.org>
60431
60432         * lib/stat-time.h: Include <sys/stat.h>.
60433
60434 2007-03-27  James Youngman  <jay@gnu.org>
60435
60436         * lib/stat-time.h (get_stat_birthtime): New function for
60437           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60438         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60439           and its variants.
60440         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60441         * modules/stat-time-test: New file.
60442         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60443
60444 2007-03-26  Bruno Haible  <bruno@clisp.org>
60445
60446         Better support of signalling NaNs.
60447         * lib/atanl.c: Include isnanl.h.
60448         (atanl): Perform test for NaN at the beginning of the function and
60449         through a call to isnanl.
60450         * lib/cosl.c: Include isnanl.h.
60451         (cosl): Perform test for NaN at the beginning of the function and
60452         through a call to isnanl.
60453         * lib/ldexpl.c: Include isnanl.h.
60454         (ldexpl): Perform test for NaN through a call to isnanl.
60455         * lib/logl.c: Include isnanl.h.
60456         (logl): Perform test for NaN at the beginning of the function and
60457         through a call to isnanl.
60458         * lib/sinl.c: Include isnanl.h.
60459         (sinl): Perform test for NaN at the beginning of the function and
60460         through a call to isnanl.
60461         * lib/sqrtl.c: Include isnanl.h.
60462         (sqrtl): Perform test for NaN at the beginning of the function and
60463         through a call to isnanl.
60464         * lib/tanl.c: Include isnanl.h.
60465         (tanl): Perform test for NaN at the beginning of the function and
60466         through a call to isnanl.
60467         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60468         * modules/mathl (Depends-on): Add isnanl.
60469
60470 2007-03-26  Eric Blake  <ebb9@byu.net>
60471
60472         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60473         regression in logic sense of previous patch.
60474
60475 2007-03-26  Bruno Haible  <bruno@clisp.org>
60476
60477         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60478         unportable shell command "if ! ...".
60479         Reported by Ralf Wildenhues.
60480
60481 2007-03-25  Bruno Haible  <bruno@clisp.org>
60482
60483         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60484         <sysexits.h> file, and only add EX_CONFIG.
60485         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60486         absolute file name and whether it is sufficient. Substitute also
60487         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60488         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60489         ABSOLUTE_SYSEXITS_H into sysexits.h.
60490
60491 2007-03-25  Bruno Haible  <bruno@clisp.org>
60492
60493         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60494         hints is NULL.
60495
60496 2007-03-25  Bruno Haible  <bruno@clisp.org>
60497
60498         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60499         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60500
60501 2007-03-25  Bruno Haible  <bruno@clisp.org>
60502
60503         * lib/vasnprintf.c: Include langinfo.h.
60504         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60505         multithread-safe.
60506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60507         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60508         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60509         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60510         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60511         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60512         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60513         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60514         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60515         Reported by Simon Josefsson.
60516
60517 2007-03-25  Bruno Haible  <bruno@clisp.org>
60518
60519         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60520         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60521         * modules/vasnprintf (Depends-on): Add stdint.
60522
60523 2007-03-25  Bruno Haible  <bruno@clisp.org>
60524
60525         * modules/fpieee: New file.
60526         * m4/fpieee.m4: New file.
60527         * modules/isnan-nolibm (Depends-on): Add fpieee.
60528         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60529         * modules/isnanl (Depends-on): Add fpieee.
60530
60531 2007-03-25  Bruno Haible  <bruno@clisp.org>
60532
60533         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60534
60535 2007-03-25  Bruno Haible  <bruno@clisp.org>
60536
60537         Avoid test failures on IRIX 6.5.
60538         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60539         (main): Use it.
60540         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60541         macros.
60542         (main): Use them.
60543
60544 2007-03-25  Bruno Haible  <bruno@clisp.org>
60545
60546         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60547         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60548         exists but doesn't work.
60549         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60550         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60551         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60552         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60553         math.h.
60554
60555 2007-03-25  Bruno Haible  <bruno@clisp.org>
60556
60557         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60558         returns inf. Needed on IRIX 6.5.
60559
60560 2007-03-25  Bruno Haible  <bruno@clisp.org>
60561
60562         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60563         (main): Use isnanl instead of x != x idiom.
60564         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60565
60566         * tests/test-frexp.c: Include isnan.h.
60567         (main): Use isnan instead of x != x idiom.
60568         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60569
60570 2007-03-25  Bruno Haible  <bruno@clisp.org>
60571
60572         * tests/test-frexp.c (NaN): New function/macro.
60573         (main): Use it instead of 0.0 / 0.0.
60574         * tests/test-isnan.c (NaN): New function/macro.
60575         (main): Use it instead of 0.0 / 0.0.
60576         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60577         (test_function): Use it instead of 0.0 / 0.0.
60578         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60579         (test_function): Use it instead of 0.0 / 0.0.
60580         * tests/test-snprintf-posix.h (NaN): New function/macro.
60581         (test_function): Use it instead of 0.0 / 0.0.
60582         * tests/test-sprintf-posix.h (NaN): New function/macro.
60583         (test_function): Use it instead of 0.0 / 0.0.
60584         * tests/test-fprintf-posix.h (NaN): New function/macro.
60585         (test_function): Use it instead of 0.0 / 0.0.
60586         * tests/test-printf-posix.h (NaN): New function/macro.
60587         (test_function): Use it instead of 0.0 / 0.0.
60588
60589         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60590
60591 2007-03-25  Bruno Haible  <bruno@clisp.org>
60592
60593         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60594
60595 2007-03-25  Bruno Haible  <bruno@clisp.org>
60596
60597         * lib/regexec.c (merge_state_with_log): Make static.
60598
60599 2007-03-25  Bruno Haible  <bruno@clisp.org>
60600
60601         * lib/trigl.c (kernel_rem_pio2): Make static.
60602
60603 2007-03-25  Bruno Haible  <bruno@clisp.org>
60604
60605         * lib/sincosl.c (sincosl_table): Make static.
60606
60607 2007-03-25  Bruno Haible  <bruno@clisp.org>
60608
60609         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60610         if the compiler does not support C99.
60611
60612 2007-03-25  Bruno Haible  <bruno@clisp.org>
60613
60614         * modules/time (Makefile.am): Ensure all rule action lines start with a
60615         tab.
60616
60617 2007-03-24  Bruno Haible  <bruno@clisp.org>
60618
60619         * modules/tsearch-tests: New file.
60620         * tests/test-tsearch.sh: New file.
60621         * tests/test-tsearch.c: New file, mostly copied from glibc.
60622
60623         * modules/search-tests: New file.
60624         * tests/test-search.c: New file.
60625
60626         * modules/search: New file.
60627         * lib/search_.h: New file, incorporating lib/tsearch.h.
60628         * m4/search_h.m4: New file.
60629         * lib/tsearch.h: Remove file.
60630         * lib/tsearch.c: Include search.h instead of tsearch.h.
60631         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60632         HAVE_TSEARCH.
60633         * modules/tsearch (Files): Remove lib/tsearch.h.
60634         (Depends-on): Add search.
60635         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60636         (Include): Change tsearch.h into search.h.
60637
60638 2007-03-24  Bruno Haible  <bruno@clisp.org>
60639
60640         * modules/fpucw: New file.
60641         * lib/fpucw.h: New file.
60642         * lib/frexp.c: Include fpucw.h.
60643         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60644         (FUNC): Use them.
60645         * lib/printf-frexp.c: Include fpucw.h.
60646         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60647         (FUNC): Use them.
60648         * lib/vasnprintf.c: Include fpucw.h.
60649         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60650         'long double' calculations.
60651         * tests/test-frexpl.c: Include fpucw.h.
60652         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60653         * tests/test-printf-frexpl.c: Include fpucw.h.
60654         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60655         * modules/frexpl (Depends-on): Add fpucw.
60656         * modules/printf-frexpl (Depends-on): Likewise.
60657         * modules/fprintf-posix (Depends-on): Likewise.
60658         * modules/snprintf-posix (Depends-on): Likewise.
60659         * modules/sprintf-posix (Depends-on): Likewise.
60660         * modules/vasnprintf-posix (Depends-on): Likewise.
60661         * modules/vasprintf-posix (Depends-on): Likewise.
60662         * modules/vfprintf-posix (Depends-on): Likewise.
60663         * modules/vsnprintf-posix (Depends-on): Likewise.
60664         * modules/vsprintf-posix (Depends-on): Likewise.
60665         * modules/frexpl-tests (Depends-on): Likewise.
60666         * modules/printf-frexpl-tests (Depends-on): Likewise.
60667
60668 2007-03-24  Bruno Haible  <bruno@clisp.org>
60669
60670         * lib/float+.h: New file.
60671         * lib/isnan.c: Include float+.h.
60672         (SIZE): New macro.
60673         (FUNC): Compare only SIZE bytes of the value.
60674         * lib/vasnprintf.c: Include float+.h.
60675         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60676         SIZEOF_LDBL or SIZEOF_DBL bytes.
60677         * modules/isnan-nolibm (Files): Add lib/float+.h.
60678         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60679         * modules/isnanl (Files): Add lib/float+.h.
60680         * modules/vasnprintf (Files): Add lib/float+.h.
60681
60682 2007-03-24  Bruno Haible  <bruno@clisp.org>
60683
60684         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60685         include isnanl-nolibm.h.
60686
60687 2007-03-24  Bruno Haible  <bruno@clisp.org>
60688
60689         * tests/test-read-file.c (main): Don't produce spurious output for
60690         expected situations. Make the test fail if it encountered unexpected
60691         results.
60692
60693 2007-03-24  Bruno Haible  <bruno@clisp.org>
60694
60695         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60696         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60697
60698 2007-03-24  Bruno Haible  <bruno@clisp.org>
60699
60700         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60701
60702 2007-03-24  Bruno Haible  <bruno@clisp.org>
60703
60704         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60705         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60706
60707         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60708         * modules/utf8-ucs4: Turn into a symbolic link to module
60709         unistr/u8-mbtouc.
60710
60711         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60712         utf8-ucs4-unsafe.
60713         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60714         unistr/u8-mbtouc-unsafe.
60715
60716         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60717         * modules/utf16-ucs4: Turn into a symbolic link to module
60718         unistr/u16-mbtouc.
60719
60720         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60721         utf16-ucs4-unsafe.
60722         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60723         unistr/u16-mbtouc-unsafe.
60724
60725         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60726         * modules/ucs4-utf8: Turn into a symbolic link to module
60727         unistr/u8-ubtomb.
60728
60729         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60730         * modules/ucs4-utf16: Turn into a symbolic link to module
60731         unistr/u16-ubtomb.
60732
60733 2007-03-24  Bruno Haible  <bruno@clisp.org>
60734
60735         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60736         Enable the function only if HAVE_INLINE.
60737         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60738         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60739         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60740         Enable the function only if HAVE_INLINE.
60741         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60742         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60743         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60744         Enable the function only if HAVE_INLINE.
60745         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60746         Enable the function only if HAVE_INLINE.
60747         * modules/utf8-ucs4: Update.
60748         * modules/utf8-ucs4-unsafe: Update.
60749         * modules/utf16-ucs4: Update.
60750         * modules/utf16-ucs4-unsafe: Update.
60751         * modules/ucs4-utf8: Update.
60752         * modules/ucs4-utf16: Update.
60753
60754 2007-03-24  Bruno Haible  <bruno@clisp.org>
60755
60756         * lib/utf8-ucs4.h: Remove file.
60757         * lib/utf8-ucs4-unsafe.h: Remove file.
60758         * lib/utf16-ucs4.h: Remove file.
60759         * lib/utf16-ucs4-unsafe.h: Remove file.
60760         * lib/ucs4-utf8.h: Remove file.
60761         * lib/ucs4-utf16.h: Remove file.
60762         * lib/unistr.h: Include their previous contents.
60763         * m4/utf-ucs4.m4: Remove file.
60764         * m4/ucs4-utf.m4: Remove file.
60765         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60766         (Depends-on): Add unistr/base.
60767         (configure.ac): Remove gl_UTF_UCS4.
60768         (Makefile.am): Update.
60769         (Include): Change to unistr.h.
60770         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.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/utf16-ucs4 (Files): Remove lib/utf16-ucs4.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-unsafe (Files): Remove lib/utf16-ucs4-unsafe.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/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60786         (Depends-on): Add unistr/base.
60787         (configure.ac): Remove gl_UCS4_UTF.
60788         (Makefile.am): Update.
60789         (Include): Change to unistr.h.
60790         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.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         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60796         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60797         utf8-ucs4-unsafe.h.
60798         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60799         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60800         utf16-ucs4-unsafe.h.
60801         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60802         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60803         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60804         * lib/unistr/u8-strchr.c: Likewise.
60805         * lib/unistr/u8-strrchr.c: Likewise.
60806         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60807         * lib/unistr/u16-strchr.c: Likewise.
60808         * lib/unistr/u16-strrchr.c: Likewise.
60809         * lib/striconveh.c: Update.
60810         * lib/linebreak.c: Update.
60811
60812 2007-03-24  Bruno Haible  <bruno@clisp.org>
60813
60814         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60815         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60816
60817 2007-03-22  Bruno Haible  <bruno@clisp.org>
60818
60819         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60820
60821 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60822
60823         * MODULES.html.sh (File system functions): New module write-any-file.
60824         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60825         * m4/write-any-file.m4: New files.
60826
60827 2007-03-23  Eric Blake  <ebb9@byu.net>
60828
60829         * gnulib-tool: Rearrange space-tab sequences, since some editors
60830         like to eat them.
60831
60832 2007-03-23  Eric Blake  <ebb9@byu.net>
60833
60834         * lib/version-etc.c (version_etc_va): Update license wording to
60835         be more concise.  Recommended by Richard Stallman.
60836
60837 2007-03-22  Bruno Haible  <bruno@clisp.org>
60838
60839         * lib/poll.c (MSG_PEEK): New fallback definition.
60840
60841 2007-03-22  Bruno Haible  <bruno@clisp.org>
60842
60843         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60844         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60845         (main): Update.
60846         Fixes a compilation error on BeOS.
60847
60848 2007-03-22  Bruno Haible  <bruno@clisp.org>
60849
60850         * modules/frexpl-tests: New file.
60851         * tests/test-frexpl.c: New file.
60852
60853         * modules/frexpl: New file.
60854         * m4/frexpl.m4: New file.
60855         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60856         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60858         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60859         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60860         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60861
60862 2007-03-22  Bruno Haible  <bruno@clisp.org>
60863
60864         * lib/frexpl.c: Share code with lib/frexp.c.
60865         * modules/mathl (Files): Add lib/frexp.c.
60866         (Depends-on): Add isnanl-nolibm.
60867
60868 2007-03-22  Bruno Haible  <bruno@clisp.org>
60869
60870         * modules/printf-frexp (Files): Add m4/frexp.m4.
60871         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60872         only if the found frexp function actually works.
60873
60874 2007-03-22  Bruno Haible  <bruno@clisp.org>
60875
60876         * lib/frexp.c: Remove older implementation that uses divisions.
60877
60878 2007-03-21  Bruno Haible  <bruno@clisp.org>
60879
60880         * modules/frexp-tests: New file.
60881         * tests/test-frexp.c: New file.
60882
60883         * modules/frexp: New file.
60884         * lib/frexp.c: New file.
60885         * m4/frexp.m4: New file.
60886         * lib/math_.h (frexp): New declaration.
60887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60888         REPLACE_FREXP.
60889         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60890
60891 2007-03-21  Bruno Haible  <bruno@clisp.org>
60892
60893         * modules/isnanl-tests: New file.
60894         * tests/test-isnanl.c: New file.
60895
60896         * modules/isnanl: New file.
60897         * lib/isnanl.h: New file.
60898         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60899         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60900         gl_FUNC_ISNANL_WORKS.
60901         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60902         New macros.
60903
60904 2007-03-21  Bruno Haible  <bruno@clisp.org>
60905
60906         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60907         lib/isnanl.h.
60908         (Include): Update.
60909         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60910         * lib/vasnprintf.c: Update.
60911         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60912         tests/test-isnanl.h, remove tests/test-isnanl.c.
60913         (Makefile.am): Update.
60914         * tests/test-isnanl-nolibm.c: New file.
60915         * tests/test-isnanl.h: New file.
60916         * tests/test-isnanl.c: Remove file.
60917
60918 2007-03-21  Jim Meyering  <jim@meyering.net>
60919
60920         When trying to open ".", treat ESTALE like EACCES.
60921         * lib/savewd.c (savewd_save): Resort to forking not just upon
60922         failure with EACCES, but also when errno is ESTALE.
60923
60924 2007-03-20  Bruno Haible  <bruno@clisp.org>
60925
60926         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
60927         Needed on AIX 5.1. Reported by Matthew Woehlke.
60928
60929 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60930
60931         Suggestions by Bruno Haible:
60932         * lib/acl-internal.h: Include "gettext.h" rather than rolling
60933         our own.
60934         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
60935         * modules/acl (Depends-on): Add gettext.
60936
60937 2007-03-19  Bruno Haible  <bruno@clisp.org>
60938
60939         * modules/iconvme: Remove file.
60940         * lib/iconvme.h: Remove file.
60941         * lib/iconvme.c: Remove file.
60942         * m4/iconvme.m4: Remove file.
60943
60944 2007-03-19  Bruno Haible  <bruno@clisp.org>
60945
60946         * doc/relocatable-maint.texi: Break long shell script line.
60947         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60948
60949 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60950
60951         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
60952         handle file_has_acl.
60953         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
60954         * lib/acl.c: Move header inclusions and related macro defns into
60955         lib/acl-internal.h.
60956         (S_ISLNK): Remove defn, since that's now done for us.
60957         (file_has_acl): Move to lib/file-has-acl.c.
60958         Call acl_trivial if available.  This is the crucial part of the fix.
60959         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
60960         shared within the library.  Rewrite a bit, partly to make it compatible
60961         with the GNU coding style.
60962         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
60963         Remove unnecessary double-quotes.
60964         Don't test for acl_to_text; the build will catch that.
60965         Replace acl_entries if it doesn't exist and it is needed.
60966         Check for -lsec and acl_trivial (as used on Solaris 10).
60967         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
60968         lib/file-has-acl.c.
60969         (Depends-on): Add sys_stat, for S_ISLNK.
60970
60971 2007-03-19  Ben Pfaff  <blp@gnu.org>
60972
60973         * doc/gnulib.texi: Fix typos.
60974         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
60975
60976 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60977
60978         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
60979         If size is zero here, buf must be zero.
60980
60981 2007-03-19  Simon Josefsson  <simon@josefsson.org>
60982
60983         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
60984         <bruno@clisp.org>.
60985
60986 2007-03-18  Bruno Haible  <bruno@clisp.org>
60987
60988         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
60989         Suggested by Eric Blake.
60990
60991 2007-03-18  Ben Pfaff  <blp@gnu.org>
60992
60993         * doc/relocatable.texi: Recommend using as prefix a directory
60994         that does not exist and will never be created.  Based on
60995         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
60996         and others.
60997
60998 2007-03-17  Bruno Haible  <bruno@clisp.org>
60999
61000         * lib/fchownat.c: Include lchown.h.
61001
61002 2007-03-17  Bruno Haible  <bruno@clisp.org>
61003
61004         Fix endless loop when the given allocated size was > INT_MAX.
61005         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61006         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61007         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61008         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61009         * lib/sprintf.c (sprintf): Likewise.
61010
61011 2007-03-17  Bruno Haible  <bruno@clisp.org>
61012
61013         * tests/test-argp-2.sh (func_compare): Output a context diff.
61014
61015 2007-03-17  Bruno Haible  <bruno@clisp.org>
61016
61017         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61018         locale's decimal-point character.
61019
61020 2007-03-17  Bruno Haible  <bruno@clisp.org>
61021
61022         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61023         before comparing it. Needed because on some platforms (e.g. x86) a
61024         'long double' occupies less bytes than sizeof (long double).
61025
61026 2007-03-17  Bruno Haible  <bruno@clisp.org>
61027
61028         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61029         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61030         * tests/test-getaddrinfo.c (simple): Likewise.
61031         * tests/test-read-file.c (main): Likewise.
61032
61033 2007-03-17  Bruno Haible  <bruno@clisp.org>
61034
61035         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61036
61037 2007-03-17  Bruno Haible  <bruno@clisp.org>
61038
61039         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61040         unused variable.
61041
61042 2007-03-17  Bruno Haible  <bruno@clisp.org>
61043
61044         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61045         * tests/test-c-strncasecmp.c: Likewise.
61046
61047 2007-03-17  Bruno Haible  <bruno@clisp.org>
61048
61049         * modules/stdlib (Depends-on): Add unistd.
61050         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61051         Needed for MacOS X 10.3.
61052
61053 2007-03-17  Bruno Haible  <bruno@clisp.org>
61054
61055         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61056
61057 2007-03-17  Bruno Haible  <bruno@clisp.org>
61058
61059         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61060
61061 2007-03-17  Bruno Haible  <bruno@clisp.org>
61062
61063         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61064         to reflect files copied from gnulib (with or without modifications).
61065         Suggested by Jim Meyering.
61066
61067 2007-03-17  Eric Blake  <ebb9@byu.net>
61068
61069         * NEWS: Document stdlib change from 2007-02-18.
61070
61071 2007-03-17  Jim Meyering  <jim@meyering.net>
61072
61073         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61074         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61075         someone uses a name containing shell meta-characters.
61076         Reported by Alfred M. Szmidt.
61077
61078         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61079
61080 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61081
61082         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61083         and copy gettext configuration files only if configure.ac contains
61084         a use of AM_GNU_GETTEXT_VERSION.
61085
61086 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61087
61088         * build-aux/bootstrap (gnulib_name): New variable.
61089         (gnulib_tool_options): Use it.
61090
61091 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61092
61093         * tests/test-des.c: Use new namespace.
61094
61095 2007-03-15  Bruno Haible  <bruno@clisp.org>
61096
61097         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61098         Reported by James Youngman <jay@gnu.org>.
61099
61100 2007-03-15  Bruno Haible  <bruno@clisp.org>
61101
61102         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61103         declared prototype. Needed with cc on OSF/1 5.1.
61104
61105 2007-03-15  Bruno Haible  <bruno@clisp.org>
61106
61107         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61108         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61109         (struct gl_list_implementation): Add dispose_fn argument to the
61110         'create_empty', 'create' methods.
61111         (struct gl_list_impl_base): Add field 'dispose_fn'.
61112         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61113         argument.
61114         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61115         dispose_fn argument.
61116         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61117         dispose_fn on the dropped values.
61118         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61119         dispose_fn argument.
61120         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61121         dropped values.
61122         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61123         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61124         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61125         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61126         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61127         argument.
61128         (gl_tree_list_free): Call dispose_fn on the dropped values.
61129         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61130         the dropped values.
61131         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61132         Add dispose_fn argument.
61133         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61134         Call dispose_fn on the dropped values.
61135         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61136         Add dispose_fn argument.
61137         (gl_sublist_create): Initialize the 'dispose_fn' field.
61138         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61139         * tests/test-array_list.c (main): Update.
61140         * tests/test-carray_list.c (main): Update.
61141         * tests/test-avltree_list.c (main): Update.
61142         * tests/test-rbtree_list.c (main): Update.
61143         * tests/test-avltreehash_list.c (main): Update.
61144         * tests/test-rbtreehash_list.c (main): Update.
61145         * tests/test-linked_list.c (main): Update.
61146         * tests/test-linkedhash_list.c (main): Update.
61147         * tests/test-array_oset.c (main): Update.
61148
61149 2007-03-15  Bruno Haible  <bruno@clisp.org>
61150
61151         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61152         (gl_oset_create_empty): Add dispose_fn argument.
61153         (struct gl_oset_implementation): Add dispose_fn argument to
61154         'create_empty' method.
61155         (struct gl_oset_impl_base): Add dispose_fn field.
61156         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61157         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61158         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61159         values.
61160         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61161         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61162         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61163         dropped value.
61164         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61165         dropped value.
61166         * tests/test-array_oset.c (main): Update.
61167         * tests/test-avltree_oset.c (main): Update.
61168         * tests/test-rbtree_oset.c (main): Update.
61169         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61170
61171 2007-03-13  Bruno Haible  <bruno@clisp.org>
61172
61173         * tests/test-stdbool.c (i): Update after last patch.
61174
61175 2007-03-12  Bruno Haible  <bruno@clisp.org>
61176
61177         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61178         the iswprint macro. Needed on Solaris 2.5.1.
61179
61180 2007-03-12  Bruno Haible  <bruno@clisp.org>
61181
61182         * tests/test-printf-frexp.c (main): Declare x as volatile.
61183
61184 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61185
61186         * doc/gnulib.texi (Build robot for gnulib): New section.
61187
61188 2007-03-12  Jim Meyering  <jim@meyering.net>
61189
61190         * build-aux/bootstrap: New file.
61191         * build-aux/bootstrap.conf: New file, from coreutils.
61192
61193 2007-03-11  Bruno Haible  <bruno@clisp.org>
61194
61195         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61196
61197 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61198
61199         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61200         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61201         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61202
61203 2007-03-11  Bruno Haible  <bruno@clisp.org>
61204
61205         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61206         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61207
61208 2007-03-11  Bruno Haible  <bruno@clisp.org>
61209
61210         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61211         formula. Needed for SunPRO C 5.0.
61212
61213 2007-03-11  Bruno Haible  <bruno@clisp.org>
61214
61215         * modules/long-options (Depends-on): Add getopt.
61216
61217 2007-03-11  Bruno Haible  <bruno@clisp.org>
61218
61219         * modules/modechange (Depends-on): Add stdbool.
61220
61221 2007-03-11  Bruno Haible  <bruno@clisp.org>
61222
61223         * modules/i-ring (Depends-on): Add stdbool.
61224
61225 2007-03-11  Bruno Haible  <bruno@clisp.org>
61226
61227         * modules/gc-des (Depends-on): Add stdbool.
61228
61229 2007-03-11  Bruno Haible  <bruno@clisp.org>
61230
61231         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61232
61233 2007-03-11  Bruno Haible  <bruno@clisp.org>
61234
61235         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61236
61237 2007-03-11  Bruno Haible  <bruno@clisp.org>
61238
61239         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61240
61241 2007-03-11  Bruno Haible  <bruno@clisp.org>
61242
61243         * lib/vasnprintf.c (sprintf): Undefine.
61244
61245 2007-03-11  Bruno Haible  <bruno@clisp.org>
61246
61247         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61248         initializers in SunPRO C and Compaq C compilers.
61249
61250 2007-03-11  Bruno Haible  <bruno@clisp.org>
61251
61252         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61253         decrementing code ANSI C compliant.
61254
61255 2007-03-11  Bruno Haible  <bruno@clisp.org>
61256
61257         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61258         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61259
61260 2007-03-11  Bruno Haible  <bruno@clisp.org>
61261
61262         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61263         <stdbool.h> substitute doesn't pass.
61264
61265 2007-03-11  Bruno Haible  <bruno@clisp.org>
61266
61267         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61268
61269 2007-03-11  Bruno Haible  <bruno@clisp.org>
61270
61271         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61272         script, for submission to autobuild.josefsson.org.
61273
61274 2007-03-10  Bruno Haible  <bruno@clisp.org>
61275
61276         * modules/canonicalize-lgpl-tests: New file.
61277         * tests/test-canonicalize-lgpl.sh: New file.
61278         * tests/test-canonicalize-lgpl.c: New file.
61279
61280         * modules/c-strcase-tests: New file.
61281         * tests/test-c-strcase.sh: New file.
61282         * tests/test-c-strcasecmp.c: New file.
61283         * tests/test-c-strncasecmp.c: New file.
61284
61285         * modules/atexit-tests: New file.
61286         * tests/test-atexit.sh: New file.
61287         * tests/test-atexit.c: New file.
61288
61289 2007-03-10  Bruno Haible  <bruno@clisp.org>
61290
61291         * tests/test-binary-io.sh: Use temporary filenames that are not so
61292         likely to clash with those of other tests (in a parallel make).
61293         * tests/test-binary-io.c: Likewise.
61294
61295 2007-03-10  Bruno Haible  <bruno@clisp.org>
61296
61297         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61298         fallback; use #error instead.
61299         Suggested by Simon Josefsson.
61300
61301 2007-03-10  Bruno Haible  <bruno@clisp.org>
61302
61303         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61304         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61305         first and the last.
61306
61307 2007-03-10  Bruno Haible  <bruno@clisp.org>
61308
61309         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61310
61311 2007-03-10  Bruno Haible  <bruno@clisp.org>
61312
61313         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61314         "make distcheck".
61315         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61316         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61317         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61318
61319 2007-03-10  Bruno Haible  <bruno@clisp.org>
61320
61321         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61322         variable.
61323         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61324         variable.
61325
61326 2007-03-09  Eric Blake  <ebb9@byu.net>
61327         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61328
61329         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61330         types are not being provided by gnulib.
61331         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61332         types are supported.
61333
61334 2007-03-10  Bruno Haible  <bruno@clisp.org>
61335
61336         * lib/stdio_.h (__attribute__): New macro.
61337         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61338         vsprintf): Specify __attribute__ __format__ for GCC.
61339         Suggested by Eric Blake.
61340
61341 2007-03-09  Bruno Haible  <bruno@clisp.org>
61342
61343         * modules/printf-posix-tests: New file.
61344         * tests/test-printf-posix.sh: New file.
61345         * tests/test-printf-posix.c: New file.
61346
61347         * modules/printf-posix: New file.
61348         * lib/printf.c: New file.
61349         * m4/printf-posix-rpl.m4: New file.
61350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61351         REPLACE_PRINTF.
61352         * lib/stdio_.h (printf): New declaration.
61353         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61354         ____strfmon____): New macros.
61355         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61356         REPLACE_PRINTF.
61357
61358 2007-03-09  Bruno Haible  <bruno@clisp.org>
61359
61360         * tests/test-vasnprintf-posix2.sh: New file.
61361         * tests/test-vasnprintf-posix2.c: New file.
61362         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61363         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61364         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61365
61366         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61367         a locale dependent decimal point, rather than always '.'.
61368
61369 2007-03-09  Eric Blake  <ebb9@byu.net>
61370
61371         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61372         spite of platforms like Tandem/NSK that define it to -1.
61373
61374 2007-03-08  Bruno Haible  <bruno@clisp.org>
61375
61376         * modules/vprintf-posix-tests: New file.
61377         * tests/test-vprintf-posix.sh: New file.
61378         * tests/test-vprintf-posix.c: New file.
61379         * tests/test-printf-posix.h: New file.
61380
61381         * modules/vprintf-posix: New file.
61382         * lib/vprintf.c: New file.
61383         * m4/vprintf-posix.m4: New file.
61384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61385         REPLACE_VPRINTF.
61386         * lib/stdio_.h (vprintf): New declaration.
61387         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61388         REPLACE_VPRINTF.
61389
61390 2007-03-08  Bruno Haible  <bruno@clisp.org>
61391
61392         * modules/fprintf-posix-tests: New file.
61393         * tests/test-fprintf-posix.sh: New file.
61394         * tests/test-fprintf-posix.c: New file.
61395
61396         * modules/fprintf-posix: New file.
61397         * lib/fprintf.c: New file.
61398         * m4/fprintf-posix.m4: New file.
61399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61400         REPLACE_FPRINTF.
61401         * lib/stdio_.h (fprintf): New declaration.
61402         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61403         REPLACE_FPRINTF.
61404
61405 2007-03-08  Bruno Haible  <bruno@clisp.org>
61406
61407         * modules/vfprintf-posix-tests: New file.
61408         * tests/test-vfprintf-posix.sh: New file.
61409         * tests/test-vfprintf-posix.c: New file.
61410         * tests/test-fprintf-posix.h: New file.
61411         * tests/test-fprintf-posix.out: New file.
61412
61413         * modules/vfprintf-posix: New file.
61414         * lib/vfprintf.c: New file.
61415         * m4/vfprintf-posix.m4: New file.
61416         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61417         REPLACE_VFPRINTF.
61418         * lib/stdio_.h (vfprintf): New declaration.
61419         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61420         REPLACE_VFPRINTF.
61421
61422 2007-03-08  Bruno Haible  <bruno@clisp.org>
61423
61424         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61425
61426 2007-03-08  Bruno Haible  <bruno@clisp.org>
61427
61428         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61429         instead of 'expr' invocations.
61430         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61431         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61432         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61433         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61434         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61435         Suggested by Paul Eggert.
61436
61437 2007-03-08  Bruno Haible  <bruno@clisp.org>
61438
61439         * modules/fseterr-tests: New file.
61440         * tests/test-fseterr.c: New file.
61441
61442         * modules/fseterr: New file.
61443         * lib/fseterr.h: New file.
61444         * lib/fseterr.c: New file.
61445
61446 2007-03-08  Bruno Haible  <bruno@clisp.org>
61447
61448         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61449         * lib/getopt_.h: Likewise.
61450         * lib/mbswidth.h: Likewise.
61451         * lib/setenv.h: Likewise.
61452         * lib/vasnprintf.h: Likewise.
61453         * lib/vasprintf.h: Likewise.
61454         * lib/verror.h: Likewise.
61455         * lib/xsetenv.h: Likewise.
61456         * lib/xvasprintf.h: Likewise.
61457
61458 2007-03-08  Jim Meyering  <jim@meyering.net>
61459
61460         * users.txt: Add parted.
61461
61462         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61463
61464 2007-03-07  Bruno Haible  <bruno@clisp.org>
61465
61466         * m4/printf.m4: Make the shell script snippets copy&pastable.
61467
61468 2007-03-02  Bruno Haible  <bruno@clisp.org>
61469
61470         * lib/netinet_in_.h: New file.
61471         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61472         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61473         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61474         (Depends-on): Add absolute-header.
61475         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61476         into netinet/in.h.
61477
61478 2007-03-03  Bruno Haible  <bruno@clisp.org>
61479
61480         * lib/sys_select_.h: New file.
61481         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61482         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61483         * modules/sys_select (Files): Add lib/sys_select_.h.
61484         (Depends-on): Add absolute-header.
61485         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61486         into sys/select.h.
61487
61488 2007-03-02  Bruno Haible  <bruno@clisp.org>
61489
61490         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61491         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61492         values.
61493         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61494         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61495         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61496         * modules/sys_socket (Depends-on): Add absolute-header.
61497         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61498         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61499         (Include): Remove requirement of inclusion of <sys/types.h>.
61500
61501 2007-03-02  Bruno Haible  <bruno@clisp.org>
61502
61503         * lib/byteswap_.h (bswap_32): Fix formula.
61504
61505 2007-03-06  Bruno Haible  <bruno@clisp.org>
61506
61507         * modules/sprintf-posix-tests: New file.
61508         * tests/test-sprintf-posix.c: New file.
61509
61510         * modules/sprintf-posix: New file.
61511         * lib/sprintf.c: New file.
61512         * m4/sprintf-posix.m4: New file.
61513         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61514         REPLACE_SPRINTF.
61515         * lib/stdio_.h (sprintf): New declaration.
61516         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61517         REPLACE_SPRINTF.
61518
61519 2007-03-06  Bruno Haible  <bruno@clisp.org>
61520
61521         * modules/vsprintf-posix-tests: New file.
61522         * tests/test-vsprintf-posix.c: New file.
61523         * tests/test-sprintf-posix.h: New file.
61524
61525         * modules/vsprintf-posix: New file.
61526         * lib/vsprintf.c: New file.
61527         * m4/vsprintf-posix.m4: New file.
61528         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61529         REPLACE_VSPRINTF.
61530         * lib/stdio_.h (vsprintf): New declaration.
61531         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61532         REPLACE_VSPRINTF.
61533
61534 2007-03-06  Bruno Haible  <bruno@clisp.org>
61535
61536         * modules/vsnprintf (Depend-on): Remove minmax.
61537
61538 2007-03-06  Bruno Haible  <bruno@clisp.org>
61539
61540         * modules/snprintf-posix-tests: New file.
61541         * tests/test-snprintf-posix.c: New file.
61542
61543         * modules/snprintf-posix: New file.
61544         * m4/snprintf-posix.m4: New file.
61545         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61546         gl_FUNC_SNPRINTF.
61547         (gl_FUNC_SNPRINTF): Invoke it.
61548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61549         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61550         is set.
61551         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61552
61553 2007-03-06  Bruno Haible  <bruno@clisp.org>
61554
61555         * modules/vsnprintf-posix-tests: New file.
61556         * tests/test-vsnprintf-posix.c: New file.
61557         * tests/test-snprintf-posix.h: New file.
61558
61559         * modules/vsnprintf-posix: New file.
61560         * m4/vsnprintf-posix.m4: New file.
61561         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61562         gl_FUNC_VSNPRINTF.
61563         (gl_FUNC_VSNPRINTF): Invoke it.
61564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61565         * lib/stdio_.h (vsnprintf): Define as a replacement if
61566         REPLACE_VSNPRINTF is set.
61567         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61568
61569 2007-03-06  Bruno Haible  <bruno@clisp.org>
61570
61571         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61572         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61573
61574 2007-03-06  Bruno Haible  <bruno@clisp.org>
61575
61576         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61577         (asinl): Declare also if HAVE_DECL_ASINL is set.
61578         (atanl): Declare also if HAVE_DECL_ATANL is set.
61579         (ceill): Declare also if HAVE_DECL_CEILL is set.
61580         (cosl): Declare also if HAVE_DECL_COSL is set.
61581         (expl): Declare also if HAVE_DECL_EXPL is set.
61582         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61583         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61584         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61585         (logl): Declare also if HAVE_DECL_LOGL is set.
61586         (sinl): Declare also if HAVE_DECL_SINL is set.
61587         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61588         (tanl): Declare also if HAVE_DECL_TANL is set.
61589         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61591         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61592         declaration of frexpl, ldexpl.
61593         * modules/printf-frexpl (Depends-on): Add math.
61594         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61595
61596 2007-03-05  Bruno Haible  <bruno@clisp.org>
61597
61598         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61599         frexpl and ldexpl are declared.
61600         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61601
61602 2007-03-05  Bruno Haible  <bruno@clisp.org>
61603
61604         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61605         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61606
61607 2007-03-05  Bruno Haible  <bruno@clisp.org>
61608
61609         * lib/stdio_.h: Include <stddef.h>.
61610
61611 2007-03-05  Bruno Haible  <bruno@clisp.org>
61612
61613         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61614
61615 2007-03-05  Bruno Haible  <bruno@clisp.org>
61616
61617         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61618         NetBSD 4, from Ralf Wildenhues.
61619
61620 2007-03-04  Bruno Haible  <bruno@clisp.org>
61621
61622         * lib/vasprintf.h: Update #if logic for the case when the functions
61623         exist but are overridden.
61624
61625 2007-03-04  Bruno Haible  <bruno@clisp.org>
61626
61627         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61628         implementations: glibc-2.4 and MacOS X 10.3.
61629         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61630         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61631         * tests/test-vasprintf-posix.c (test_function): Likewise.
61632
61633 2007-03-04  Bruno Haible  <bruno@clisp.org>
61634
61635         * modules/vasprintf-posix-tests: New file.
61636         * tests/test-vasprintf-posix.c: New file.
61637
61638         * modules/vasprintf-posix: New file.
61639         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61640         defined.
61641         * m4/vasprintf-posix.m4: New file.
61642         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61643         gl_FUNC_VASPRINTF.
61644         (gl_FUNC_VASPRINTF): Invoke it.
61645         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61646         here.
61647         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61648
61649 2007-03-04  Bruno Haible  <bruno@clisp.org>
61650
61651         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61652         REPLACE_GETTIMEOFDAY.
61653         * modules/sys_time (Makefile.am): Likewise.
61654         * m4/sys_time_h.m4: Likewise.
61655         * m4/gettimeofday.m4: Likewise.
61656
61657 2007-03-04  Bruno Haible  <bruno@clisp.org>
61658
61659         * modules/vasnprintf-posix-tests: New file.
61660         * tests/test-vasnprintf-posix.c: New file.
61661
61662         * modules/vasnprintf-posix: New file.
61663         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61664         printf-frexpl.h.
61665         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61666         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61667         REPLACE_VASNPRINTF is defined.
61668         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61669         gl_FUNC_VASNPRINTF.
61670         (gl_FUNC_VASNPRINTF): Invoke it.
61671         * m4/vasnprintf-posix.m4: New file.
61672         * m4/printf.m4: New file.
61673
61674 2007-03-04  Bruno Haible  <bruno@clisp.org>
61675
61676         Compile progreloc.c only if --enable-relocatable is specified.
61677         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61678         if --enable-relocatable was specified.
61679         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61680         lib_SOURCES.
61681
61682 2007-03-04  Jim Meyering  <jim@meyering.net>
61683
61684         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61685         Use it consistently, rather than enumerating errno constants.
61686
61687 2007-03-04  Bruno Haible  <bruno@clisp.org>
61688
61689         * modules/xvasprintf-tests: New file.
61690         * tests/test-xvasprintf.c: New file.
61691
61692         * modules/vasprintf-tests: New file.
61693         * tests/test-vasprintf.c: New file.
61694
61695         * modules/vasnprintf-tests: New file.
61696         * tests/test-vasnprintf.c: New file.
61697
61698         * modules/vsnprintf-tests: New file.
61699         * tests/test-vsnprintf.c: New file.
61700
61701         * modules/snprintf-tests: New file.
61702         * tests/test-snprintf.c: New file.
61703
61704 2007-03-04  Bruno Haible  <bruno@clisp.org>
61705
61706         Compile relocatable.c only if --enable-relocatable is specified.
61707         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61708         gl_RELOCATABLE_LIBRARY.
61709         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61710         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61711         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61712         gl_RELOCATABLE_LIBRARY.
61713         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61714         (Makefile.am): Remove lib_SOURCES.
61715         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61716         gl_RELOCATABLE_LIBRARY.
61717         (Makefile.am): Remove lib_SOURCES.
61718         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61719         always.
61720         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61721         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61722
61723 2007-03-04  Bruno Haible  <bruno@clisp.org>
61724
61725         * modules/argmatch-tests: New file.
61726         * tests/test-argmatch.c: New file.
61727
61728         * tests/test-allocsa.c (main): Halve the number of loop runs.
61729
61730         * modules/alloca-opt-tests: New file.
61731         * tests/test-alloca-opt.c: New file.
61732
61733 2007-03-04  Jim Meyering  <jim@meyering.net>
61734
61735         Work around difference between Linux ACLs and Solaris 10 ZFS.
61736         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61737         for EINVAL.
61738
61739 2007-03-03  Bruno Haible  <bruno@clisp.org>
61740
61741         * modules/relocatable-prog (Depends-on): Add back progreloc's
61742         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61743
61744 2007-03-03  Bruno Haible  <bruno@clisp.org>
61745
61746         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61747         * modules/relocatable-lib: New file.
61748
61749 2007-03-03  Bruno Haible  <bruno@clisp.org>
61750
61751         * modules/relocatable-prog: Renamed from modules/relocatable.
61752         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61753
61754 2007-03-03  Bruno Haible  <bruno@clisp.org>
61755
61756         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61757         m4/relocatable-lib.m4.
61758         (Depends-on): Remove 'relocatable'.
61759         (configure.ac): Add gl_RELOCATABLE_NOP.
61760
61761 2007-03-03  Bruno Haible  <bruno@clisp.org>
61762
61763         * modules/relocatable-prog-wrapper: New file.
61764         * modules/relocatable (Depends-on): Add it. Remove all other
61765         dependencies except progname.
61766         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61767
61768         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61769         (gl_FUNC_STRERROR): Nop.
61770         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61771
61772         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61773         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61774
61775         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61776         (gl_FUNC_READLINK): Update.
61777
61778         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61779
61780 2007-03-03  Bruno Haible  <bruno@clisp.org>
61781
61782         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61783         * modules/xreadlink (Depends-on): Add unistd.
61784         * modules/xreadlink-with-size (Depends-on): Likewise.
61785
61786 2007-03-03  Bruno Haible  <bruno@clisp.org>
61787
61788         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61789         extracted from gt_FUNC_SETENV.
61790         (gt_FUNC_SETENV): Remove macro.
61791         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61792         remove gt_FUNC_SETENV.
61793
61794 2007-03-03  Bruno Haible  <bruno@clisp.org>
61795
61796         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61797         ENABLE_RELOCATABLE here.
61798         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61799
61800 2007-03-03  Bruno Haible  <bruno@clisp.org>
61801
61802         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61803         * tests/test-rbtreehash_list.c: Include progname.h.
61804         (main): Call set_program_name.
61805
61806         * modules/rbtree-oset-tests (Depends-on): Add progname.
61807         * tests/test-rbtree_oset.c: Include progname.h.
61808         (main): Call set_program_name.
61809
61810         * modules/rbtree-list-tests (Depends-on): Add progname.
61811         * tests/test-rbtree_list.c: Include progname.h.
61812         (main): Call set_program_name.
61813
61814         * modules/linked-list-tests (Depends-on): Add progname.
61815         * tests/test-linked_list.c: Include progname.h.
61816         (main): Call set_program_name.
61817
61818 2007-03-03  Bruno Haible  <bruno@clisp.org>
61819
61820         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61821         All uses of __restrict changed to _Restrict_.
61822         * lib/glob_.h (__restrict): Remove macro.
61823
61824 2007-03-02  Bruno Haible  <bruno@clisp.org>
61825
61826         * modules/gettext (configure.ac): Require gettext infrastructure
61827         from version 0.16.1.
61828
61829 2007-03-02  Bruno Haible  <bruno@clisp.org>
61830
61831         * modules/linkedhash-list-tests (Depends-on): Add progname.
61832         * tests/test-linkedhash_list.c: Include progname.h.
61833         (main): Call set_program_name.
61834
61835         * modules/carray-list-tests (Depends-on): Add progname.
61836         * tests/test-carray_list.c: Include progname.h.
61837         (main): Call set_program_name.
61838
61839         * modules/avltreehash-list-tests (Depends-on): Add progname.
61840         * tests/test-avltreehash_list.c: Include progname.h.
61841         (main): Call set_program_name.
61842
61843         * modules/avltree-oset-tests (Depends-on): Add progname.
61844         * tests/test-avltree_oset.c: Include progname.h.
61845         (main): Call set_program_name.
61846
61847         * modules/avltree-list-tests (Depends-on): Add progname.
61848         * tests/test-avltree_list.c: Include progname.h.
61849         (main): Call set_program_name.
61850
61851         * modules/array-oset-tests (Depends-on): Add progname.
61852         * tests/test-array_oset.c: Include progname.h.
61853         (main): Call set_program_name.
61854
61855         * modules/array-list-tests (Depends-on): Add progname.
61856         * tests/test-array_list.c: Include progname.h.
61857         (main): Call set_program_name.
61858
61859         * modules/argp-tests (Depends-on): Add progname.
61860         * tests/test-argp.c: Include argp.h first. Include progname.h.
61861         (main): Call set_program_name.
61862
61863 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61864
61865         * doc/gnulib-tool.texi (Initial import): Reword description of
61866         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61867         limited effect even if defined after the first system include.
61868
61869 2007-03-01  Bruno Haible  <bruno@clisp.org>
61870
61871         * build-aux/config.libpath: Update to libtool-1.5.22.
61872         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61873
61874 2007-03-01  Bruno Haible  <bruno@clisp.org>
61875
61876         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61877         foo_CFLAGS.
61878         Reported by Ralf Wildenhues.
61879
61880 2007-03-01  Bruno Haible  <bruno@clisp.org>
61881
61882         * build-aux/install-reloc: Remove object files left over by some
61883         compilers.
61884         Reported by Ralf Wildenhues.
61885
61886 2007-03-01  Bruno Haible  <bruno@clisp.org>
61887
61888         * build-aux/install-reloc: Break long lines.
61889
61890 2007-03-01  Bruno Haible  <bruno@clisp.org>
61891
61892         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61893         Reported by Ralf Wildenhues.
61894
61895 2007-03-01  Bruno Haible  <bruno@clisp.org>
61896
61897         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61898         include ordering constraints.
61899
61900 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61901
61902         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61903         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61904         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61905         as another example.
61906         * lib/time_.h: Fix misspelling.
61907         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61908         Require gl_HEADER_TIME_H_DEFAULTS.
61909         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61910         * m4/time_r.m4 (gl_TIME_R): Likewise.
61911         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61912
61913 2007-03-01  Bruno Haible  <bruno@clisp.org>
61914
61915         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61916         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61917
61918 2007-03-01  Jim Meyering  <jim@meyering.net>
61919
61920         * modules/xreadlink (Maintainer): Add my name.
61921         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61922
61923 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61924             Bruno Haible  <bruno@clisp.org>
61925
61926         * build-aux/install-reloc: Compile also c-ctype.c.
61927         * build-aux/relocatable.sh.in: New file.
61928         * doc/relocatable.texi: New file.
61929         * doc/relocatable-maint.texi: New file.
61930         * doc/gnulib.texi: Include relocatable-maint.texi.
61931         * lib/progreloc.c: Include unistd.h unconditionally.
61932         * lib/relocwrapper.c: Include unistd.h unconditionally.
61933         Include c-ctype.h.
61934         (add_dotbin): Use c_tolower.
61935         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
61936         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
61937         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
61938         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
61939         to m4/relocatable-lib.m4.
61940         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
61941         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
61942         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
61943         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
61944         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
61945         * modules/relocatable: New file.
61946         * modules/relocatable-lib: New file.
61947         * modules/relocatable-script: New file.
61948
61949 2007-02-28  Bruno Haible  <bruno@clisp.org>
61950
61951         Import --enable-relocatable infrastructure.
61952         * build-aux/config.libpath: New file, from GNU gettext.
61953         * build-aux/install-reloc: New file, from GNU gettext.
61954         * build-aux/reloc-ldflags: New file, from GNU gettext.
61955         * lib/relocatable.h: New file, from GNU gettext.
61956         * lib/relocatable.c: New file, from GNU gettext.
61957         * lib/relocwrapper.c: New file, from GNU gettext.
61958         * m4/relocatable.m4: New file, from GNU gettext.
61959
61960 2007-02-28  Bruno Haible  <bruno@clisp.org>
61961
61962         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
61963
61964         * modules/xreadlink: New file, from GNU gettext with modifications.
61965         * lib/xreadlink.c: New file, from GNU gettext.
61966         * lib/xreadlink.h: Add comments.
61967         (xreadlink): New declaration.
61968
61969         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
61970         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
61971         lib/xreadlink-with-size.c.
61972         (configure.ac): Remove gl_XREADLINK invocation.
61973         (Makefile.am): Augment lib_SOURCES.
61974         * m4/xreadlink.m4: Remove file.
61975         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
61976         (xreadlink_with_size): Renamed from xreadink.
61977         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
61978         * modules/canonicalize (Depends-on): Replace xreadlink with
61979         xreadlink-with-size.
61980         * lib/canonicalize.c (canonicalize_filename_mode): Update.
61981
61982 2007-02-25  Jim Meyering  <jim@meyering.net>
61983
61984         * build-aux/announce-gen: When complaining about excess arguments,
61985         list them.
61986
61987 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61988
61989         * README: Document signed integer overflow situation more
61990         accurately.
61991
61992 2007-02-25  Bruno Haible  <bruno@clisp.org>
61993
61994         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
61995         'a' or 'A' conversion.
61996
61997 2007-02-25  Bruno Haible  <bruno@clisp.org>
61998
61999         * modules/filename: Renamed from modules/pathname.
62000         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62001         lib/concatpath.c with lib/concat-filename.c.
62002         (Makefile.am): Update.
62003         (Include): Replace pathname.h with filename.h.
62004         * lib/filename.h: Renamed from lib/pathname.h.
62005         (concatenated_filename): Renamed from concatenated_pathname.
62006         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62007         (concatenated_filename): Renamed from concatenated_pathname.
62008         * lib/findprog.c: Include filename.h instead of pathname.h.
62009         (find_in_path): Update.
62010         * lib/javacomp.c: Include filename.h instead of pathname.h.
62011         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62012         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62013         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62014         is_oldgcj_14_13_usable, is_javac_usable): Update.
62015         * lib/javaexec.c: Include filename.h instead of pathname.h.
62016         (execute_java_class): Update.
62017         * modules/findprog: Update.
62018         * modules/javacomp: Update.
62019         * modules/javaexec: Update.
62020         * MODULES.html.sh (File system functions): Add 'filename', remove
62021         'pathname'.
62022
62023 2007-02-25  Bruno Haible  <bruno@clisp.org>
62024
62025         * modules/printf-frexpl-tests: New file.
62026         * tests/test-printf-frexpl.c: New file.
62027
62028         * modules/printf-frexpl: New file.
62029         * lib/printf-frexpl.h: New file.
62030         * lib/printf-frexpl.c: New file.
62031         * m4/printf-frexpl.m4: New file.
62032
62033 2007-02-25  Bruno Haible  <bruno@clisp.org>
62034
62035         * modules/printf-frexp-tests: New file.
62036         * tests/test-printf-frexp.c: New file.
62037
62038         * modules/printf-frexp: New file.
62039         * lib/printf-frexp.h: New file.
62040         * lib/printf-frexp.c: New file.
62041         * m4/printf-frexp.m4: New file.
62042
62043 2007-02-25  Bruno Haible  <bruno@clisp.org>
62044
62045         Assume automake >= 1.10 for the tests.
62046         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62047         * modules/arctwo-tests: Likewise.
62048         * modules/argp-tests: Likewise.
62049         * modules/avltree-list-tests: Likewise.
62050         * modules/avltree-oset-tests: Likewise.
62051         * modules/avltreehash-list-tests: Likewise.
62052         * modules/carray-list-tests: Likewise.
62053         * modules/crc-tests: Likewise.
62054         * modules/des-tests: Likewise.
62055         * modules/gc-arcfour-tests: Likewise.
62056         * modules/gc-arctwo-tests: Likewise.
62057         * modules/gc-des-tests: Likewise.
62058         * modules/gc-hmac-md5-tests: Likewise.
62059         * modules/gc-hmac-sha1-tests: Likewise.
62060         * modules/gc-md2-tests: Likewise.
62061         * modules/gc-md4-tests: Likewise.
62062         * modules/gc-md5-tests: Likewise.
62063         * modules/gc-pbkdf2-sha1-tests: Likewise.
62064         * modules/gc-rijndael-tests: Likewise.
62065         * modules/gc-sha1-tests: Likewise.
62066         * modules/gc-tests: Likewise.
62067         * modules/getaddrinfo-tests: Likewise.
62068         * modules/hmac-md5-tests: Likewise.
62069         * modules/hmac-sha1-tests: Likewise.
62070         * modules/linked-list-tests: Likewise.
62071         * modules/linkedhash-list-tests: Likewise.
62072         * modules/lock-tests: Likewise.
62073         * modules/md2-tests: Likewise.
62074         * modules/md4-tests: Likewise.
62075         * modules/md5-tests: Likewise.
62076         * modules/rbtree-list-tests: Likewise.
62077         * modules/rbtree-oset-tests: Likewise.
62078         * modules/rbtreehash-list-tests: Likewise.
62079         * modules/read-file-tests: Likewise.
62080         * modules/rijndael-tests: Likewise.
62081         * modules/stdint-tests: Likewise.
62082         * modules/tls-tests: Likewise.
62083
62084 2007-02-24  Bruno Haible  <bruno@clisp.org>
62085
62086         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62087         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62088         function; instead check whether isnan with a double argument links.
62089         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62090         function; instead check whether isnan with a 'long double' argument
62091         links.
62092         Reported by Eric Blake <ebb9@byu.net>.
62093
62094 2007-02-24  Bruno Haible  <bruno@clisp.org>
62095
62096         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62097         defined.
62098         * lib/isnanl.c: Remove all code. Just include isnan.c.
62099         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62100
62101 2007-02-25  Jim Meyering  <jim@meyering.net>
62102
62103         Avoid conflicting types for 'unsetenv' on FreeBSD.
62104         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62105         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62106         in stdlib.h.
62107
62108 2007-02-24  Bruno Haible  <bruno@clisp.org>
62109
62110         * modules/isnanl-nolibm-tests: New file.
62111         * tests/test-isnanl.c: New file.
62112
62113         * modules/isnanl-nolibm: New file.
62114         * lib/isnanl.h: New file.
62115         * lib/isnanl.c: New file.
62116         * m4/isnanl.m4: New file.
62117
62118 2007-02-24  Bruno Haible  <bruno@clisp.org>
62119
62120         * modules/isnan-nolibm-tests: New file.
62121         * tests/test-isnan.c: New file.
62122
62123         * modules/isnan-nolibm: New file.
62124         * lib/isnan.h: New file.
62125         * lib/isnan.c: New file.
62126         * m4/isnan.m4: New file.
62127
62128 2007-02-24  Bruno Haible  <bruno@clisp.org>
62129
62130         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62131         assume that an exponent fits in 20 bits.
62132
62133 2007-02-24  Jim Meyering  <jim@meyering.net>
62134
62135         * m4/regex.m4: Update the description of the configure-time option,
62136         --without-included-regex, to state accurately what the defaults are,
62137         and perhaps to give people an idea why using this option is risky.
62138
62139 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62140
62141         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62142         loops on small arguments.  This attempts to avoid the problem
62143         Bruno Haible reported for AIX 4.3.2 in
62144         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62145
62146 2007-02-23  Bruno Haible  <bruno@clisp.org>
62147
62148         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62149         Needed for help2man.
62150
62151 2007-02-23  Karl Berry  <karl@gnu.org>
62152
62153         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62154         exists, foo.h should be cvs-ignored, not committed.
62155
62156 2007-02-23  Eric Blake  <ebb9@byu.net>
62157
62158         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62159         * lib/stat-time.h (includes): Likewise.
62160         * lib/utimecmp.c (includes): Likewise.
62161         * lib/utimens.h (includes): Likewise.
62162         * lib/getdate.y (includes): Also include "timespec.h" for use
62163         internal to the module.
62164         * modules/utimens (Depends-on): Revert yesterday's patch.
62165         * modules/nanosleep (Depends-on): Add missing dependency.
62166
62167 2007-02-22  Bruno Haible  <bruno@clisp.org>
62168
62169         * lib/glob.c: Don't include getlogin_r.h.
62170
62171 2007-02-22  Jim Meyering  <jim@meyering.net>
62172
62173         * modules/utimens (Depends-on): Add timespec, required for
62174         utimens.h's inclusion of timespec.h.
62175
62176 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62179         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62180         Schwab in
62181         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62182         I'll try to think of a better way to fix the Solaris problem.
62183
62184         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62185         like glibc; on Solaris 10, it fails with errno == EINVAL.
62186         POSIX says the behavior is unspecified if the first argument is NULL,
62187         so play it safe and never pass NULL to the system getcwd.
62188
62189 2007-02-21  Jim Meyering  <jim@meyering.net>
62190
62191         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62192         of gettimeofday.  It would conflict with the one now always
62193         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62194         an IRIX 6.5 build failure.
62195
62196 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62197
62198         Minor fixups to port to Solaris 10 with Sun C 5.8.
62199         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62200         * modules/getcwd (Depends-on): Add dirfd.
62201         * lib/putenv.c (putenv): #undef it.
62202         (rpl_putenv): New decl.
62203         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62204
62205 2007-02-20  Bruno Haible  <bruno@clisp.org>
62206
62207         * modules/stdio-tests: New file.
62208         * tests/test-stdio.c: New file.
62209
62210         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62211         (Depends-on): Add stdio.
62212         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62213         (Include): Use <stdio.h> instead of vsnprintf.h.
62214         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62215         HAVE_DECL_VSNPRINTF.
62216         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62217
62218         * modules/snprintf (Files): Remove lib/snprintf.h.
62219         (Depends-on): Add stdio.
62220         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62221         (Include): Use <stdio.h> instead of snprintf.h.
62222         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62223         HAVE_DECL_SNPRINTF.
62224         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62225         * lib/getaddrinfo.c: Likewise.
62226
62227         * modules/stdio: New file.
62228         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62229         * lib/snprintf.h: Remove file.
62230         * lib/vsnprintf.h: Remove file.
62231         * lib/.cppi-disable: Remove snprintf.h.
62232         * m4/stdio_h.m4: New file.
62233         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62234
62235 2007-02-20  Jim Meyering  <jim@meyering.net>
62236
62237         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62238         used by e.g., mingw.  From Bruno Haible.
62239
62240 2007-02-19  Bruno Haible  <bruno@clisp.org>
62241
62242         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62243         warnings.
62244         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62245
62246 2007-02-19  Bruno Haible  <bruno@clisp.org>
62247
62248         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62249         from mingw users.
62250
62251 2007-02-19  Bruno Haible  <bruno@clisp.org>
62252
62253         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62254         warnings.
62255         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62256
62257 2007-02-19  Jim Meyering  <jim@meyering.net>
62258
62259         Don't use FD after a successful "fdopendir (fd)".
62260         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62261         Reset it by calling dirfd on the just-obtained DIR*.
62262
62263         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62264         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62265
62266 2007-02-18  Bruno Haible  <bruno@clisp.org>
62267
62268         * lib/readlink.c: Include <unistd.h>.
62269         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62270         HAVE_READLINK.
62271         * modules/readlink (Depends-on): Add unistd.
62272         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62273         (Include): Add <unistd.h>.
62274
62275         * lib/getlogin_r.h: Remove file.
62276         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62277         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62278         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62279         HAVE_DECL_GETLOGIN_R.
62280         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62281         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62282         (Include): Use <unistd.h> instead of getlogin_r.h.
62283
62284         * lib/getcwd.h: Remove file.
62285         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62286         * lib/xgetcwd.c: Likewise.
62287         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62288         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62289         * modules/getcwd (Files): Remove lib/getcwd.h.
62290         (Depends-on): Add unistd.
62291         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62292         (Include): Use <unistd.h> instad of getcwd.h.
62293
62294         * lib/ftruncate.c: Include <unistd.h> first.
62295         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62296         Set HAVE_FTRUNCATE.
62297         * modules/ftruncate (Depends-on): Add unistd.
62298         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62299
62300         * lib/fchdir.c: Include <unistd.h> first.
62301         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62302         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62303         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62304         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62305         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62306
62307         * lib/dup2.c: Include <unistd.h> first.
62308         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62309         HAVE_DUP2.
62310         * modules/dup2 (Depends-on): Add unistd.
62311         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62312
62313         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62314         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62315         REPLACE_CHOWN. Don't define chown as a macro here.
62316         * modules/chown (Depends-on): Add unistd.
62317         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62318
62319         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62320         Add definition for GL_LINK_WARNING.
62321         (chown, dup2): New declarations.
62322         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62323         link warning.
62324         (ftruncate): New declaration.
62325         (getcwd): New declaration, taken from old getcwd.h.
62326         (getlogin_r): New declaration, taken from old getlogin_r.h.
62327         (readlink): New declaration.
62328         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62329         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62330         (gl_PREREQ_UNISTD): Remove macro.
62331         (gl_UNISTD_MODULE_INDICATOR): New macro.
62332         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62333         many new variables. Don't set UNISTD_H.
62334         * modules/unistd (Description): Change.
62335         (Depends-on): Add link-warning.
62336         (configure.ac): Update.
62337         (Makefile.am): Create unistd.h always. Substitute many new variables
62338         into it.
62339
62340 2007-02-18  Bruno Haible  <bruno@clisp.org>
62341
62342         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62343         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62344         HAVE_GETSUBOPT.
62345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62346         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62347         * lib/getsubopt.h: Remove file.
62348         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62349         (Depends-on): Add stdlib.
62350         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62351         (Includes): Use <stdlib.h> instead of getsubopt.h.
62352         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62353         Set HAVE_GETSUBOPT.
62354         * lib/getsubopt.c: Don't include getsubopt.h.
62355
62356 2007-02-18  Bruno Haible  <bruno@clisp.org>
62357
62358         * modules/fchdir (Depends-on): Add dup2.
62359
62360 2007-02-18  Bruno Haible  <bruno@clisp.org>
62361
62362         * lib/stdlib_.h: Handle glibc's special invocation convention
62363         specially.
62364
62365 2007-02-18  Bruno Haible  <bruno@clisp.org>
62366
62367         * modules/stdlib-tests: New file.
62368         * tests/test-stdlib.c: New file.
62369
62370         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62371         (Depends-on): Add stdlib.
62372         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62373         (Includes): Use <stdlib.h> instead of mkstemp.h.
62374         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62375         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62376         * lib/mkstemp.c: Don't include mkstemp.h.
62377         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62378         * lib/stdlib--.h: Don't include mkstemp.h.
62379
62380         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62381         (Depends-on): Add stdlib.
62382         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62383         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62384         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62385         HAVE_MKDTEMP.
62386         * lib/mkdtemp.c: Don't include mkdtemp.h.
62387         * lib/clean-temp.c: Don't include mkdtemp.h.
62388
62389         * modules/exit (Files): Remove lib/exit.h.
62390         (Depends-on): Add stdlib.
62391         (Makefile.am): Remove lib_SOURCES.
62392         (Include): Use <stdlib.h> instead of exit.h.
62393         * lib/argmatch.c: Don't include exit.h.
62394         * lib/execute.c: Likewise.
62395         * lib/pagealign_alloc.c: Likewise.
62396         * lib/pipe.c: Likewise.
62397         * lib/wait-process.c: Likewise.
62398         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62399         * lib/exitfail.c: Likewise.
62400         * lib/savewd.c: Likewise.
62401         * lib/xsetenv.c: Likewise.
62402
62403         * modules/stdlib: New file.
62404         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62405         and extra comments about mkstemp().
62406         * lib/exit.h: Remove file.
62407         * lib/mkdtemp.h: Remove file.
62408         * lib/mkstemp.h: Remove file.
62409         * m4/stdlib_h.m4: New file.
62410         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62411
62412 2007-02-18  Bruno Haible  <bruno@clisp.org>
62413
62414         * modules/math-tests: New file.
62415         * tests/test-math.c: New file.
62416
62417         * modules/math: New file.
62418         * modules/mathl (Files): Remove lib/mathl.h.
62419         (Depends-on): Add math.
62420         (Makefile.am): Don't mention mathl.h.
62421         (Include): Use <math.h> instead of mathl.h.
62422         * lib/math_.h: New file.
62423         * lib/mathl.h: Remove file.
62424         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62425         mathl.h.
62426         * lib/asinl.c: Likewise.
62427         * lib/atanl.c: Likewise.
62428         * lib/ceill.c: Likewise.
62429         * lib/cosl.c: Likewise.
62430         * lib/expl.c: Likewise.
62431         * lib/floorl.c: Likewise.
62432         * lib/frexpl.c: Likewise.
62433         * lib/ldexpl.c: Likewise.
62434         * lib/logl.c: Likewise.
62435         * lib/sincosl.c: Likewise.
62436         * lib/sinl.c: Likewise.
62437         * lib/sqrtl.c: Likewise.
62438         * lib/tanl.c: Likewise.
62439         * lib/trigl.c: Likewise.
62440         * m4/math_h.m4: New file.
62441         * MODULES.html.sh (Mathematics): Add math.
62442
62443 2007-02-17  Bruno Haible  <bruno@clisp.org>
62444
62445         * modules/wctype-tests: New file.
62446         * tests/test-wctype.c: New file.
62447
62448         * modules/wchar-tests: New file.
62449         * tests/test-wchar.c: New file.
62450
62451         * modules/unistd-tests: New file.
62452         * tests/test-unistd.c: New file.
62453
62454         * modules/time-tests: New file.
62455         * tests/test-time.c: New file.
62456
62457         * modules/sysexits-tests: New file.
62458         * tests/test-sysexits.c: New file.
62459
62460         * modules/sys_time-tests: New file.
62461         * tests/test-sys_time.c: New file.
62462
62463         * modules/sys_stat-tests: New file.
62464         * tests/test-sys_stat.c: New file.
62465
62466         * modules/sys_socket-tests: New file.
62467         * tests/test-sys_socket.c: New file.
62468
62469         * modules/sys_select-tests: New file.
62470         * tests/test-sys_select.c: New file.
62471
62472         * modules/string-tests: New file.
62473         * tests/test-string.c: New file.
62474
62475         * modules/stdbool-tests: New file.
62476         * tests/test-stdbool.c: New file.
62477
62478         * modules/netinet_in-tests: New file.
62479         * tests/test-netinet_in.c: New file.
62480
62481         * modules/inttypes-tests: New file.
62482         * tests/test-inttypes.c: New file.
62483
62484         * modules/fcntl-tests: New file.
62485         * tests/test-fcntl.c: New file.
62486
62487         * modules/byteswap-tests: New file.
62488         * tests/test-byteswap.c: New file.
62489
62490         * modules/arpa_inet-tests: New file.
62491         * tests/test-arpa_inet.c: New file.
62492
62493 2007-02-17  Bruno Haible  <bruno@clisp.org>
62494
62495         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62496         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62497         if the corresponding module is not enabled. Emit link warnings if
62498         the function is used nevertheless.
62499         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62500         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62501         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62502         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62503         * modules/inttypes (Depends-on): Add link-warning.
62504         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62505         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62506         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62507         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62508         * modules/imaxdiv (configure.ac): Likewise.
62509         * modules/strtoimax (configure.ac): Likewise.
62510         * modules/strtoumax (configure.ac): Likewise.
62511
62512 2007-02-17  Bruno Haible  <bruno@clisp.org>
62513
62514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62515         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62516         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62517         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62518
62519 2007-02-17  Bruno Haible  <bruno@clisp.org>
62520
62521         * modules/link-warning: New file.
62522         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62523         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62524         * modules/string (Depends-on): Add link-warning.
62525         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62526         string.h.
62527         * MODULES.html.sh (Support for building libraries and executables): Add
62528         link-warning.
62529
62530 2007-02-17  Bruno Haible  <bruno@clisp.org>
62531
62532         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62533         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62534         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62535         long lines.
62536
62537 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62538             Bruno Haible  <bruno@clisp.org>
62539
62540         * modules/tmpfile: New file.
62541         * lib/tmpfile.c: New file.
62542         * m4/tmpfile.m4: New file.
62543         * MODULES.html.sh (func_all_modules): New section "Input/output".
62544
62545 2007-02-15  Bruno Haible  <bruno@clisp.org>
62546
62547         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62548         (supports_delete_on_close): New function.
62549         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62550
62551 2007-02-14  Bruno Haible  <bruno@clisp.org>
62552
62553         * modules/mbspcasecmp-tests: New file.
62554         * tests/test-mbspcasecmp.sh: New file.
62555         * tests/test-mbspcasecmp.c: New file.
62556
62557         New module mbspcasecmp.
62558         * modules/mbspcasecmp: New file.
62559         * lib/mbspcasecmp.c: New file.
62560         * lib/string_.h (strncasecmp): Change warning message.
62561         (mbspcasecmp): New declaration.
62562         * m4/mbspcasecmp.m4: New file.
62563         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62564         GNULIB_MBSPCASECMP.
62565         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62566         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62567
62568 2007-02-14  Bruno Haible  <bruno@clisp.org>
62569
62570         * modules/mbsncasecmp-tests: New file.
62571         * tests/test-mbsncasecmp.sh: New file.
62572         * tests/test-mbsncasecmp.c: New file.
62573
62574         New module mbsncasecmp.
62575         * modules/mbsncasecmp: New file.
62576         * lib/mbsncasecmp.c: New file.
62577         * lib/string_.h (mbsncasecmp): New declaration.
62578         * m4/mbsncasecmp.m4: New file.
62579         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62580         GNULIB_MBSNCASECMP.
62581         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62582         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62583
62584 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62585
62586         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62587         Verify that it doesn't overlap with our flags.
62588         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62589         do not have the desired effect in multibyte locales; instead, use
62590         mbscasecmp.
62591         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62592         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62593         we don't require GNU fnmatch ourselves (if our users require it, they
62594         should do so explicitly).
62595
62596         Fix regex code so it doesn't rely on strcasecmp.
62597         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62598         Otherwise, include gnulib's langinfo.h.
62599         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62600         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62601         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62602         * modules/regex (FILES): Remove m4/codeset.m4.
62603         (Depends-on): Add localcharset.  Remove strcase.
62604
62605 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62606
62607         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62608         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62609
62610 2007-02-13  Bruno Haible  <bruno@clisp.org>
62611
62612         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62613         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62614
62615 2007-02-12  Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62618         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62619         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62620         time warning rather than a link error.
62621
62622 2007-02-12  Bruno Haible  <bruno@clisp.org>
62623
62624         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62625         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62626         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62627
62628 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62629
62630         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62631         args, not 2.
62632
62633 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62634
62635         New module 'time', so that apps can include <time.h> as per
62636         POSIX and GNU instead of separate include files like time_r.h
62637         and timegm.h.  This implementation tries out a simpler approach
62638         for replacing decls in standard include files (as compared to
62639         the string module), somewhat as an experiment.
62640
62641         * config/srclist.txt: Comment out mktime.c for now.
62642         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62643         since it doesn't apply any more.  Use generic wording instead.
62644         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62645         'time'.
62646         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62647         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62648         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62649         Don't include <sys/types.h>; no longer needed since we assume C89.
62650         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62651         * lib/strftime.c: Likewise.
62652         * lib/time_r.c: Likewise.
62653         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62654         * lib/nanosleep.c: Include <time.h> first, to check interface.
62655         * lib/strptime.c: Likewise.
62656         * lib/time_r.c: Likewise.
62657         * lib/timegm.c: Likewise.
62658         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62659         needed.
62660         * lib/timegm.c: Don't include timegm.h; no longer needed.
62661         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62662         time.h now handles any problems in that area.
62663         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62664         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62665         that time.h defines struct timespec.
62666         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62667         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62668         handles that.
62669         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62670         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62671         needed.  Set REPLACE_LOCALTIME.
62672         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62673         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62674         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62675         nanosleep; time_h.m4 now does that.  Don't require
62676         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62677         module handles this now.
62678         * modules/getdate (Depends-on): Remove timespec.  Add time.
62679         * modules/nanosleep (Depends-on): Likewise.
62680         * modules/stat-time (Depends-on): Likewise.
62681         * modules/nanosleep (Include): Include time.h, not timespec.h.
62682         * modules/strptime (Files): Remove lib/strptime.h.
62683         (Depends-on): Add extensions, time.
62684         (Include): Include time.h, not strptime.h.
62685         * modules/time_r (Files): Remove lib/time_r.h.
62686         (Depends-on): Add time.
62687         (Include): Include time.h, not time_r.h.
62688         * modules/timegm: Likewise.
62689         * modules/timespec (Description): Now does timespec-related decls
62690         of our own, instead of struct timespec itself.
62691         (Depends-on): Add time; remove extensions.
62692         (Maintainer): Add self.
62693         * modules/utimecmp (Depends-on): Add time; remove timespec.
62694         * modules/utimens (Depends-on): Likewise.
62695         * modules/xnanosleep (Depends-on): Likewise.
62696
62697 2007-02-11  Bruno Haible  <bruno@clisp.org>
62698
62699         * lib/c-strstr.c: Include allocsa.h.
62700         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62701         * lib/c-strcasestr.c: Include allocsa.h.
62702         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62703         * lib/strcasestr.c: Include allocsa.h.
62704         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62705         * lib/mbsstr.c: Include allocsa.h.
62706         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62707         allocsa/freesa instead of malloc/free.
62708         * lib/mbscasestr.c: Include allocsa.h.
62709         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62710         allocsa/freesa instead of malloc/free.
62711         * modules/c-strstr (Depends-on): Add allocsa.
62712         * modules/c-strcasestr (Depends-on): Likewise.
62713         * modules/strcasestr (Depends-on): Likewise.
62714         * modules/mbsstr (Depends-on): Likewise.
62715         * modules/mbscasestr (Depends-on): Likewise.
62716
62717 2007-02-11  Bruno Haible  <bruno@clisp.org>
62718
62719         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62720
62721         * modules/mbsspn-tests: New file.
62722         * tests/test-mbsspn.sh: New file.
62723         * tests/test-mbsspn.c: New file.
62724
62725 2007-02-11  Bruno Haible  <bruno@clisp.org>
62726
62727         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62728
62729         * modules/mbspbrk-tests: New file.
62730         * tests/test-mbspbrk.sh: New file.
62731         * tests/test-mbspbrk.c: New file.
62732
62733 2007-02-11  Bruno Haible  <bruno@clisp.org>
62734
62735         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62736         unneeded cast.
62737
62738         * modules/mbscspn-tests: New file.
62739         * tests/test-mbscspn.sh: New file.
62740         * tests/test-mbscspn.c: New file.
62741
62742 2007-02-11  Bruno Haible  <bruno@clisp.org>
62743
62744         * modules/mbscasecmp-tests: New file.
62745         * tests/test-mbscasecmp.sh: New file.
62746         * tests/test-mbscasecmp.c: New file.
62747
62748 2007-02-11  Bruno Haible  <bruno@clisp.org>
62749
62750         Ensure O(n) worst-case complexity of mbscasestr.
62751         * lib/mbscasestr.c: Include stdbool.h.
62752         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62753         functions.
62754         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62755         the bookkeeping indicates that it's worth it.
62756         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62757
62758         * modules/mbscasestr-tests: New file.
62759         * tests/test-mbscasestr1.c: New file.
62760         * tests/test-mbscasestr2.sh: New file.
62761         * tests/test-mbscasestr2.c: New file.
62762         * tests/test-mbscasestr3.sh: New file.
62763         * tests/test-mbscasestr3.c: New file.
62764         * tests/test-mbscasestr4.sh: New file.
62765         * tests/test-mbscasestr4.c: New file.
62766         * m4/locale-tr.m4: New file.
62767
62768 2007-02-11  Bruno Haible  <bruno@clisp.org>
62769
62770         Ensure O(n) worst-case complexity of mbsstr.
62771         * lib/mbsstr.c: Include stdbool.h.
62772         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62773         functions.
62774         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62775         bookkeeping indicates that it's worth it.
62776         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62777
62778         * modules/mbsstr-tests: New file.
62779         * tests/test-mbsstr1.c: New file.
62780         * tests/test-mbsstr2.sh: New file.
62781         * tests/test-mbsstr2.c: New file.
62782         * tests/test-mbsstr3.sh: New file.
62783         * tests/test-mbsstr3.c: New file.
62784         * m4/locale-fr.m4: New file.
62785
62786 2007-02-11  Bruno Haible  <bruno@clisp.org>
62787
62788         * lib/mbsrchr.c (mbsrchr): Fix bug.
62789
62790         * modules/mbsrchr-tests: New file.
62791         * tests/test-mbsrchr.sh: New file.
62792         * tests/test-mbsrchr.c: New file.
62793
62794 2007-02-11  Bruno Haible  <bruno@clisp.org>
62795
62796         * lib/mbschr.c (mbschr): Fix bug.
62797
62798         * modules/mbschr-tests: New file.
62799         * tests/test-mbschr.sh: New file.
62800         * tests/test-mbschr.c: New file.
62801         * m4/locale-zh.m4: New file.
62802
62803 2007-02-11  Bruno Haible  <bruno@clisp.org>
62804
62805         Support for copying multibyte string iterators.
62806         * lib/mbiter.h: Include <string.h>.
62807         (mbiter_multi_copy): New function.
62808         (mbi_copy): New macro.
62809         * lib/mbuiter.h: Include <string.h>.
62810         (mbuiter_multi_copy): New function.
62811         (mbui_copy): New macro.
62812
62813 2007-02-11  Bruno Haible  <bruno@clisp.org>
62814
62815         New module mbslen.
62816         * modules/mbslen: New file.
62817         * lib/mbslen.c: New file.
62818         * lib/string_.h (mbslen): New declaration.
62819         * m4/mbslen.m4: New file.
62820         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62821         GNULIB_MBSLEN.
62822         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62823         * MODULES.html.sh (Internationalization functions): Add mbslen.
62824
62825 2007-02-11  Bruno Haible  <bruno@clisp.org>
62826
62827         Ensure O(n) worst-case complexity of strcasestr substitute.
62828         * lib/strcasestr.c: Include stdbool.h.
62829         (knuth_morris_pratt): New function.
62830         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62831         bookkeeping indicates that it's worth it.
62832         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62833
62834         * modules/strcasestr-tests: New file.
62835         * tests/test-strcasestr.c: New file.
62836
62837 2007-02-11  Bruno Haible  <bruno@clisp.org>
62838
62839         Ensure O(n) worst-case complexity of c_strcasestr.
62840         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62841         (knuth_morris_pratt): New function.
62842         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62843         the bookkeeping indicates that it's worth it.
62844         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62845
62846         * modules/c-strcasestr-tests: New file.
62847         * tests/test-c-strcasestr.c: New file.
62848
62849 2007-02-11  Bruno Haible  <bruno@clisp.org>
62850
62851         Ensure O(n) worst-case complexity of c_strstr.
62852         * lib/c-strstr.c: Include stdbool.h, string.h.
62853         (knuth_morris_pratt): New function.
62854         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62855         bookkeeping indicates that it's worth it.
62856         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62857
62858         * lib/c-strstr.c: Complete rewrite for maintainability.
62859
62860         * modules/c-strstr-tests: New file.
62861         * tests/test-c-strstr.c: New file.
62862
62863 2007-02-11  Bruno Haible  <bruno@clisp.org>
62864
62865         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62866         5.2.1 and earlier, whereby \055 was treated just like the range
62867         delimiter '-'.
62868         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62869
62870 2007-02-08  Bruno Haible  <bruno@clisp.org>
62871
62872         * modules/regex (Depends-on): Add stdbool.
62873         Reported by Dalibor Topic <robilad@kaffe.org>.
62874
62875 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62876
62877         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62878         Prefer returning from main to exiting from it.
62879         Remove unnecessary parens after sizeof.
62880
62881 2007-02-05  Bruno Haible  <bruno@clisp.org>
62882
62883         New module mbssep.
62884         * modules/mbssep: New file.
62885         * lib/mbssep.c: New file.
62886         * lib/string_.h (strsep): Add a conditional link warning.
62887         (mbssep): New declaration.
62888         * m4/mbssep.m4: New file.
62889         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62890         GNULIB_MBSSEP.
62891         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62892         * MODULES.html.sh (Internationalization functions): Add mbssep.
62893
62894 2007-02-05  Bruno Haible  <bruno@clisp.org>
62895
62896         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62897         Optimize search in case of 1 delimiter.
62898
62899 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62900
62901         * lib/acl.h: Include sys/types.h before sys/acl.h.
62902
62903 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62904
62905         Merge upstream fix for glibc bugzilla #3957:
62906
62907         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62908
62909         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62910         bit for RE_HAT_LISTS_NOT_NEWLINE.
62911         (build_charclass_op): Remove bogus comment.
62912
62913 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62914
62915         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62916
62917 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62918
62919         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62920         * lib/memmem.c [!defined _LIBC]: Include config.h.
62921
62922 2007-02-04  Bruno Haible  <bruno@clisp.org>
62923
62924         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62925         warning message.
62926
62927 2007-02-04  Bruno Haible  <bruno@clisp.org>
62928
62929         New module mbstok_r.
62930         * modules/mbstok_r: New file.
62931         * lib/mbstok_r.c: New file.
62932         * lib/string_.h (strtok_r): Change argument names to match the
62933         comments. Add a conditional link warning.
62934         (mbstok_r): New declaration.
62935         * m4/mbstok_r.m4: New file.
62936         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62937         GNULIB_MBSTOK_R.
62938         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
62939         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
62940
62941 2007-02-04  Bruno Haible  <bruno@clisp.org>
62942
62943         New module mbsspn.
62944         * modules/mbsspn: New file.
62945         * lib/mbsspn.c: New file.
62946         * lib/string_.h (strspn): Add a conditional link warning.
62947         (mbsspn): New declaration.
62948         * m4/mbsspn.m4: New file.
62949         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62950         GNULIB_MBSSPN.
62951         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
62952         * MODULES.html.sh (Internationalization functions): Add mbsspn.
62953
62954 2007-02-04  Bruno Haible  <bruno@clisp.org>
62955
62956         New module mbspbrk.
62957         * modules/mbspbrk: New file.
62958         * lib/mbspbrk.c: New file.
62959         * lib/string_.h (strpbrk): Add a conditional link warning.
62960         (mbspbrk): New declaration.
62961         * m4/mbspbrk.m4: New file.
62962         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62963         GNULIB_MBSPBRK.
62964         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
62965         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
62966
62967 2007-02-04  Bruno Haible  <bruno@clisp.org>
62968
62969         New module mbscspn.
62970         * modules/mbscspn: New file.
62971         * lib/mbscspn.c: New file.
62972         * lib/string_.h (strcspn): Add a conditional link warning.
62973         (mbscspn): New declaration.
62974         * m4/mbscspn.m4: New file.
62975         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62976         GNULIB_MBSCSPN.
62977         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
62978         * MODULES.html.sh (Internationalization functions): Add mbscspn.
62979
62980 2007-02-04  Bruno Haible  <bruno@clisp.org>
62981
62982         New module mbscasestr, reduced goal of strcasestr.
62983         * modules/mbscasestr: New file.
62984         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
62985         (mbscasestr): Renamed from strcasestr.
62986         * lib/strcasestr.c: Don't include mbuiter.h.
62987         (strcasestr): Remove support for multibyte locales.
62988         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
62989         Change the conditional link warning.
62990         (mbscasestr): New declaration.
62991         * m4/mbscasestr.m4: New file.
62992         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
62993         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
62994         REPLACE_STRCASESTR.
62995         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
62996         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62997         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
62998         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
62999         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63000         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63001         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63002         (Depends-on): Remove mbuiter.
63003         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63004
63005 2007-02-04  Bruno Haible  <bruno@clisp.org>
63006
63007         Simplify handling of strncasecmp.
63008         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63009         the conditional link warning.
63010         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63011         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63012         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63013         * modules/strcase (configure.ac): Don't invoke
63014         gl_STRING_MODULE_INDICATOR.
63015         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63016
63017 2007-02-04  Bruno Haible  <bruno@clisp.org>
63018
63019         New module mbscasecmp, reduced goal of strcasecmp.
63020         * modules/mbscasecmp: New file.
63021         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63022         (mbscasecmp): Renamed from strcasecmp.
63023         * lib/strcasecmp.c: Don't include mbuiter.h.
63024         (strcasecmp): Remove support for multibyte locales.
63025         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63026         Change the conditional link warning.
63027         (mbscasecmp): New declaration.
63028         * m4/mbscasecmp.m4: New file.
63029         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63030         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63031         REPLACE_STRCASECMP.
63032         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63033         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63034         GNULIB_MBSCASECMP.
63035         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63036         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63037         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63038         (Depends-on): Remove mbuiter.
63039         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63040
63041 2007-02-04  Bruno Haible  <bruno@clisp.org>
63042
63043         New module mbsstr. Remove module strstr.
63044         * modules/mbsstr: New file.
63045         * modules/strstr: Remove file.
63046         * lib/mbsstr.c: Renamed from lib/strstr.c.
63047         (mbsstr): Renamed from strstr.
63048         * lib/string_.h (strstr): Remove declaration. Change the conditional
63049         link warning.
63050         (mbsstr): New declaration.
63051         * m4/mbsstr.m4: New file.
63052         * m4/strstr.m4: Remove file.
63053         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63054         REPLACE_STRSTR.
63055         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63056         Don't initialize GNULIB_STRSTR.
63057         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63058         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63059         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63060         (Support for systems lacking ANSI C 89): Remove strstr.
63061
63062 2007-02-04  Bruno Haible  <bruno@clisp.org>
63063
63064         New module mbsrchr.
63065         * modules/mbsrchr: New file.
63066         * lib/mbsrchr.c: New file.
63067         * lib/string_.h (strrchr): Add a conditional link warning.
63068         (mbsrchr): New declaration.
63069         * m4/mbsrchr.m4: New file.
63070         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63071         GNULIB_MBSRCHR.
63072         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63073         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63074
63075 2007-02-04  Bruno Haible  <bruno@clisp.org>
63076
63077         New module mbschr.
63078         * modules/mbschr: New file.
63079         * lib/mbschr.c: New file.
63080         * lib/string_.h (strchr): Add a conditional link warning.
63081         (mbschr): New declaration.
63082         * m4/mbschr.m4: New file.
63083         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63084         GNULIB_MBSCHR.
63085         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63086         * MODULES.html.sh (Internationalization functions): Add mbschr.
63087
63088 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63089
63090         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63091
63092         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63093
63094 2007-02-04  Bruno Haible  <bruno@clisp.org>
63095
63096         New module description section 'configure.ac-early'.
63097         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63098         (func_get_autoconf_early_snippet): New function.
63099         (func_import, func_create_testdir): Use it. Remove special cases for
63100         modules 'extensions' and 'lock'.
63101         * modules/extensions (configure.ac-early): Require
63102         gl_USE_SYSTEM_EXTENSIONS.
63103         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63104
63105 2007-02-04  Bruno Haible  <bruno@clisp.org>
63106
63107         Make use of gcj-4.3's -fsource and -ftarget option.
63108         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63109         and if so try the options -fsource and -ftarget.
63110         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63111         source_version, ftarget_option, target_version arguments.
63112         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63113         (is_envjavac_oldgcj_14_14_usable): Renamed from
63114         is_envjavac_gcj_14_14_usable.
63115         (is_envjavac_oldgcj_14_13_usable): Renamed from
63116         is_envjavac_gcj_14_13_usable.
63117         (is_gcj_present): Update.
63118         (is_gcj_43, is_gcj43_usable): New functions.
63119         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63120         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63121         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63122         try the options -fsource and -ftarget.
63123
63124 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63125
63126         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63127         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63128         larger value.
63129
63130 2007-02-03  Jim Meyering  <jim@meyering.net>
63131
63132         Give tools a better chance to allocate space for very large buffers.
63133         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63134
63135         Make pwd and readlink work also when run with an unreadable parent dir
63136         on systems with openat support.
63137         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63138         provided getcwd function, even when we have openat support.
63139         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63140
63141 2007-02-02  Bruno Haible  <bruno@clisp.org>
63142
63143         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63144         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63145         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63146         portability problems if one of these functions is only used on specific
63147         platforms.
63148         Reported by Paul Eggert.
63149
63150 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63151
63152         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63153         is causing more trouble than it's curing.
63154         * lib/regex_internal.h (__mempcpy): Remove.
63155         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63156         (and make the code a tad smaller to boot).
63157         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63158
63159 2007-02-02  Jim Meyering  <jim@meyering.net>
63160
63161         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63162         section, not in the Makefile.am: one.
63163
63164 2007-02-02  Eric Blake  <ebb9@byu.net>
63165
63166         * lib/strchrnul.c: Always include config.h first.
63167
63168         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63169         gnulib strstr is not necessary here.
63170
63171 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63172
63173         * m4/socklen.m4: Fix typo.
63174
63175 2007-02-02  Eric Blake  <ebb9@byu.net>
63176
63177         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63178         * modules/netinet_in (Makefile.am): Likewise.
63179
63180 2007-02-01  Bruno Haible  <bruno@clisp.org>
63181
63182         * lib/string_.h (GL_LINK_WARNING): New macro.
63183         (strcasecmp, strstr, strcasestr): If provided by the system,
63184         conditionally define as a macro that leads to a warning instead of to
63185         an error.
63186         (strncasecmp): Conditionally define as a macro that leads to a warning.
63187
63188 2007-02-01  Karl Berry  <karl@gnu.org>
63189
63190         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63191
63192 2007-02-01  Bruno Haible  <bruno@clisp.org>
63193
63194         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63195         renamings.
63196
63197 2007-02-01  Eric Blake  <ebb9@byu.net>
63198
63199         * modules/regex (Depends-on): Revert dependence on mempcpy.
63200         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63201         module's definition of mempcpy.
63202         Reported by Paul Eggert.
63203
63204 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63205
63206         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63207         the symbol XYZ before redefining it.  This fixes a problem with
63208         programs that don't use XYZ, when compiled on systems that define
63209         XYZ to something else.
63210
63211 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63212
63213         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63214         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63215         writeable to group or other and (2) is intended to have a special
63216         mode bit that is set or cleared.  In such a case, the directory
63217         should be neither group- nor other-writeable until the special
63218         mode bits are right.
63219
63220 2007-01-31  Eric Blake  <ebb9@byu.net>
63221
63222         * modules/mountlist (Depends-on): Add strstr.
63223
63224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63225         bug.
63226         * modules/string (Makefile.am): Remove redundant replacement.
63227         * modules/regex (Depends-on): Add mempcpy.
63228
63229 2007-01-31  Bruno Haible  <bruno@clisp.org>
63230
63231         New module description field 'Link'.
63232         * gnulib-tool (func_usage): Document --extract-link-directive.
63233         (sed_extract_prog): Recognize 'Link' directive.
63234         (func_get_link_directive): New function.
63235         (func_import): Show summary of link directives.
63236         Handle --extract-link-directive option.
63237         * modules/acl (Link): New section.
63238         * modules/clock-time (Link): New section.
63239         * modules/euidaccess (Link): New section.
63240         * modules/gettext (Link): New section.
63241         * modules/iconv (Link): New section.
63242         * modules/lock (Link): New section.
63243         * modules/nanosleep (Link): New section.
63244         * modules/readline (Link): New section.
63245
63246 2007-01-27  Bruno Haible  <bruno@clisp.org>
63247
63248         Enforce the use of gnulib modules for unportable <string.h> functions.
63249         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63250         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63251         (gl_HEADER_STRING_H_BODY): Require it.
63252         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63253         the symbol XYZ to one that gives a link error.
63254         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63255         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63256         * modules/mempcpy (configure.ac): Likewise.
63257         * modules/memrchr (configure.ac): Likewise.
63258         * modules/stpcpy (configure.ac): Likewise.
63259         * modules/stpncpy (configure.ac): Likewise.
63260         * modules/strcase (configure.ac): Likewise.
63261         * modules/strcasestr (configure.ac): Likewise.
63262         * modules/strchrnul (configure.ac): Likewise.
63263         * modules/strdup (configure.ac): Likewise.
63264         * modules/strndup (configure.ac): Likewise.
63265         * modules/strnlen (configure.ac): Likewise.
63266         * modules/strpbrk (configure.ac): Likewise.
63267         * modules/strsep (configure.ac): Likewise.
63268         * modules/strstr (configure.ac): Likewise.
63269         * modules/strtok_r (configure.ac): Likewise.
63270
63271 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63272
63273         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63274
63275 2007-01-30  Jim Meyering  <jim@meyering.net>
63276
63277         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63278
63279 2007-01-29  Bruno Haible  <bruno@clisp.org>
63280
63281         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63282         * lib/execute.c: Likewise.
63283         * lib/pipe.c: Likewise.
63284         * lib/printf-args.h: Likewise.
63285         * lib/printf-args.c: Likewise.
63286         * lib/printf-parse.c: Likewise.
63287         * lib/vasnprintf.c: Likewise.
63288
63289 2007-01-29  Eric Blake  <ebb9@byu.net>
63290
63291         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63292         declaration.
63293
63294 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63295
63296         * lib/strptime.h (strptime): Use 'restrict' for args where
63297         POSIX requires this.
63298         * lib/strptime.c (strptime): Likewise.
63299         Change license notice from LGPL to GPL, since gnulib-tool will
63300         change this as needed.
63301         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63302         defined.
63303         Include "strptime.h" first, to check interface.
63304         Do not #undef _LIBC and _NL_CURRENT.
63305         Do not include <stdlib.h>; no longer needed.
63306         Include "time_r.h" and declare ptime_locale_status
63307         only if _LIBC is not defined.
63308         (__P): Remove unused macro.
63309         (match_string): Bring back glibc version, but use it only if _LIBC
63310         is defined.
63311         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63312         Remove unnecessary assertion and abort() call.
63313         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63314         * m4/strptime.m4: Fix serial number comment.
63315         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63316         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63317         (Depends-on): Add time_r.
63318
63319 2007-01-29  Bruno Haible  <bruno@clisp.org>
63320
63321         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63322         strptime.
63323         * modules/strptime (Depends-on): Add stdbool.
63324         * lib/strptime.h: Include <time.h> always. Add comments.
63325
63326 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63327
63328         * modules/strptime: New file.
63329         * lib/strptime.h: New file.
63330         * lib/strptime.c: New file.
63331         * m4/strptime.m4: New file.
63332
63333 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63334
63335         * MODULES.html.sh: New module mpsort.
63336         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63337
63338         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63339         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63340         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63341         All uses changed.
63342         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63343         All uses changed.
63344         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63345         to _Restrict_.
63346         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63347         the parameter matches the prototype.
63348
63349 2007-01-28  Jim Meyering  <jim@meyering.net>
63350
63351         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63352         sys/time.h here, reverting that part of the previous patch:
63353         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63354
63355 2007-01-28  Bruno Haible  <bruno@clisp.org>
63356
63357         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63358         value of $(SYS_TIME_H).
63359         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63360         remove it conditionally, too. [added by Jim Meyering]
63361         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63362         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63363         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63364         GETTIMEOFDAY_REPLACEMENT to 1.
63365
63366 2007-01-28  Bruno Haible  <bruno@clisp.org>
63367
63368         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63369         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63370         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63371         Set UNISTD_H instead of UNISTD_H2.
63372         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63373
63374 2007-01-28  Bruno Haible  <bruno@clisp.org>
63375
63376         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63377         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63378
63379 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63380
63381         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63382         (func_create_testdir): Ensure C locale for `grep' and `tr'
63383         character ranges.
63384         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63385         ACLOCAL_AMFLAGS parsing state machine.
63386
63387 2007-01-27  Bruno Haible  <bruno@clisp.org>
63388
63389         * modules/unistr/base: Update.
63390
63391 2007-01-27  Bruno Haible  <bruno@clisp.org>
63392
63393         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63394         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63395         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63396         modules/unistr/u32-mbtouc.
63397         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63398         * lib/unistr.h: Update.
63399         * lib/linebreak.c: Update.
63400         * modules/unistr/u32-mbtouc: Renamed from
63401         modules/unistr/u32-mbtouc-safe.
63402         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63403         * lib/unistr.h: Update.
63404         * lib/unistr/u32-to-u8.c: Update.
63405         * lib/unistr/u32-to-u16.c: Update.
63406
63407 2007-01-27  Bruno Haible  <bruno@clisp.org>
63408
63409         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63410         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63411         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63412         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63413         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63414         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63415         modules/unistr/u16-mbtouc.
63416         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63417         * lib/unistr.h: Update.
63418         * lib/linebreak.c: Update.
63419         * modules/linebreak: Update.
63420         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63421         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63422         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63423         * modules/unistr/u16-mbtouc: Renamed from
63424         modules/unistr/u16-mbtouc-safe.
63425         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63426         * lib/unistr.h: Update.
63427         * lib/unistr/u16-to-u8.c: Update.
63428         * modules/unistr/u16-to-u8: Update.
63429         * lib/unistr/u16-to-u32.c: Update.
63430         * modules/unistr/u16-to-u32: Update.
63431
63432 2007-01-27  Bruno Haible  <bruno@clisp.org>
63433
63434         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63435         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63436         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63437         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63438         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63439         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63440         modules/unistr/u8-mbtouc.
63441         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63442         * lib/unistr.h: Update.
63443         * lib/striconveh.c: Update.
63444         * modules/striconveh: Update.
63445         * lib/linebreak.c: Update.
63446         * modules/linebreak: Update.
63447         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63448         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63449         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63450         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63451         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63452         * lib/unistr.h: Update.
63453         * lib/striconveh.c: Update.
63454         * modules/striconveh: Update.
63455         * lib/unistr/u8-to-u16.c: Update.
63456         * modules/unistr/u8-to-u16: Update.
63457         * lib/unistr/u8-to-u32.c: Update.
63458         * modules/unistr/u8-to-u32: Update.
63459
63460 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63461
63462         Sync from Libtool.
63463         * lib/argz.c: Do not include strings.h nor memory.h, include
63464         string.h unconditionally.  Patch by Simon Josefsson.
63465
63466 2007-01-27  Bruno Haible  <bruno@clisp.org>
63467
63468         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63469         from gl_HEADER_STRING_H_BODY.
63470         (gl_HEADER_STRING_H_BODY): Require it.
63471         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63472         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63473         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63474         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63475         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63476         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63477         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63478         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63479         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63480         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63481         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63482         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63483         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63484         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63485         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63486
63487 2007-01-27  Bruno Haible  <bruno@clisp.org>
63488
63489         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63490         check_PROGRAMS into noinst_PROGRAMS.
63491         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63492         check_PROGRAMS in this case.
63493         (func_import): Set for_test to false.
63494         (func_create_testdir): Set for_test to true.
63495
63496 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63497             Bruno Haible  <bruno@clisp.org>
63498
63499         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63500         (Depends-on): Add string.
63501         (Includes): Use <string.h> instead of strcasestr.h.
63502         * modules/string (Makefile.am): Also substitute the value of
63503         REPLACE_STRCASESTR.
63504         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63505         assume strcasestr is declared in <string.h> not <strings.h>. Also
63506         set REPLACE_STRCASESTR.
63507         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63508         REPLACE_STRCASESTR.
63509         * lib/strcasestr.h: Remove file.
63510         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63511         * lib/string_.h (strcasestr): New declaration.
63512
63513 2007-01-27  Bruno Haible  <bruno@clisp.org>
63514
63515         * lib/string_.h: Use 'extern'.
63516
63517 2007-01-27  Jim Meyering  <jim@meyering.net>
63518
63519         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63520         of set-but-not-used local, "q".
63521
63522         * lib/mempcpy.c: Include <config.h> before <string.h>.
63523         This fixes a compilation error on HP-UX, due to the system's
63524         "restrict"-using mempcpy prototype.
63525
63526 2007-01-26  Bruno Haible  <bruno@clisp.org>
63527
63528         Small optimization.
63529         * lib/javacomp.c: Include c-strstr.h.
63530          (is_envjavac_gcj): Use c_strstr instead of strstr.
63531         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63532
63533 2007-01-26  Bruno Haible  <bruno@clisp.org>
63534
63535         * MODULES.html.sh (Unicode string functions): Add the new modules.
63536
63537         * modules/uniconv/u32-strconv-to-locale: New file.
63538         * lib/uniconv/u32-strconv-to-locale.c: New file.
63539
63540         * modules/uniconv/u16-strconv-to-locale: New file.
63541         * lib/uniconv/u16-strconv-to-locale.c: New file.
63542
63543         * modules/uniconv/u8-strconv-to-locale: New file.
63544         * lib/uniconv/u8-strconv-to-locale.c: New file.
63545
63546         * modules/uniconv/u32-strconv-from-locale: New file.
63547         * lib/uniconv/u32-strconv-from-locale.c: New file.
63548
63549         * modules/uniconv/u16-strconv-from-locale: New file.
63550         * lib/uniconv/u16-strconv-from-locale.c: New file.
63551
63552         * modules/uniconv/u8-strconv-from-locale: New file.
63553         * lib/uniconv/u8-strconv-from-locale.c: New file.
63554
63555         * modules/uniconv/u32-strconv-to-enc: New file.
63556         * lib/uniconv/u32-strconv-to-enc.c: New file.
63557         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63558         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63559
63560         * modules/uniconv/u16-strconv-to-enc: New file.
63561         * lib/uniconv/u16-strconv-to-enc.c: New file.
63562         * lib/uniconv/u-strconv-to-enc.h: New file.
63563         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63564         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63565
63566         * modules/uniconv/u8-strconv-to-enc: New file.
63567         * lib/uniconv/u8-strconv-to-enc.c: New file.
63568         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63569         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63570
63571         * modules/uniconv/u32-strconv-from-enc: New file.
63572         * lib/uniconv/u32-strconv-from-enc.c: New file.
63573         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63574         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63575
63576         * modules/uniconv/u16-strconv-from-enc: New file.
63577         * lib/uniconv/u16-strconv-from-enc.c: New file.
63578         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63579         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63580
63581         * modules/uniconv/u8-strconv-from-enc: New file.
63582         * lib/uniconv/u8-strconv-from-enc.c: New file.
63583         * lib/uniconv/u-strconv-from-enc.h: New file.
63584         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63585         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63586
63587         * modules/uniconv/u32-conv-from-enc: New file.
63588         * lib/uniconv/u32-conv-from-enc.c: New file.
63589         * modules/uniconv/u32-conv-from-enc-tests: New file.
63590         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63591
63592         * modules/uniconv/u16-conv-from-enc: New file.
63593         * lib/uniconv/u16-conv-from-enc.c: New file.
63594         * lib/uniconv/u-conv-from-enc.h: New file.
63595         * modules/uniconv/u16-conv-from-enc-tests: New file.
63596         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63597
63598         * modules/uniconv/u8-conv-from-enc: New file.
63599         * lib/uniconv/u8-conv-from-enc.c: New file.
63600         * modules/uniconv/u8-conv-from-enc-tests: New file.
63601         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63602
63603         * modules/uniconv/base: New file.
63604         * lib/uniconv.h: New file.
63605
63606 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63607
63608         * doc/gnulib-tool.texi (Initial import): Update to match current
63609         behavior with strdup module.
63610         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63611         * lib/memmem.h: Remove; all uses removed.  This is now done
63612         by <string.h>.
63613         * lib/mempcpy.h: Likewise.
63614         * lib/memrchr.h: Likewise.
63615         * lib/stpcpy.h: Likewise.
63616         * lib/stpncpy.h: Likewise.
63617         * lib/strcase.h: Likewise.
63618         * lib/strchrnul.h: Likewise.
63619         * lib/strdup.h: Likewise.
63620         * lib/strndup.h: Likewise.
63621         * lib/strnlen.h: Likewise.
63622         * lib/strpbrk.h: Likewise.
63623         * lib/strsep.h: Likewise.
63624         * lib/strstr.h: Likewise.
63625         * lib/strtok_r.h: Likewise.
63626         * lib/string_.h: New file.
63627         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63628         Rely on <string.h> instead.
63629         * lib/canon-host.c: Likewise.
63630         * lib/chdir-long.c: Likewise.
63631         * lib/concatpath.c: Likewise.
63632         * lib/exclude.c: Likewise.
63633         * lib/fchdir.c: Likewise.
63634         * lib/getaddrinfo.c: Likewise.
63635         * lib/getcwd.c: Likewise.
63636         * lib/getsubopt.c: Likewise.
63637         * lib/glob.c: Likewise.
63638         * lib/hard-locale.c: Likewise.
63639         * lib/iconvme.c: Likewise.
63640         * lib/javacomp.c: Likewise.
63641         * lib/mempcpy.c: Likewise.
63642         * lib/memrchr.c: Likewise.
63643         * lib/regex_internal.h: Likewise.
63644         * lib/stpncpy.c: Likewise.
63645         * lib/strcasecmp.c: Likewise.
63646         * lib/strchrnul.c: Likewise.
63647         * lib/strdup.c: Likewise.
63648         * lib/striconv.c: Likewise.
63649         * lib/striconveh.c: Likewise.
63650         * lib/striconveha.c: Likewise.
63651         * lib/strncasecmp.c: Likewise.
63652         * lib/strndup.c: Likewise.
63653         * lib/strnlen.c: Likewise.
63654         * lib/strsep.c: Likewise.
63655         * lib/strstr.c: Likewise.
63656         * lib/strtok_r.c: Likewise.
63657         * lib/userspec.c: Likewise.
63658         * lib/w32spawn.h: Likewise.
63659         * lib/xstrndup.c: Likewise.
63660         * lib/mountlist.c (strstr): Remove decl.
63661         * m4/string_h.m4: New file.
63662         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63663         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63664         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63665         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63666         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63667         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63668         Set REPLACE_STRCASECMP if necessary.
63669         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63670         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63671         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63672         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63673         HAVE_DECL_STRDUP if necessary.
63674         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63675         since gl_FUNC_STRNDUP does that now.
63676         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63677         Check for decl here...
63678         (gl_PREREQ_STRNLEN): ... not here.
63679         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63680         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63681         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63682         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63683         necessary.
63684         * modules/string: New file.
63685         * modules/memmem (Files): Remove special-purpose include file.
63686         (Depends-on): Add string.
63687         (Include): Include <string.h>, not the removed file.
63688         * modules/mempcpy: Likewise.
63689         * modules/memrchr: Likewise.
63690         * modules/stpcpy: Likewise.
63691         * modules/stpncpy: Likewise.
63692         * modules/strcase: Likewise.
63693         * modules/strchrnul: Likewise.
63694         * modules/strdup: Likewise.
63695         * modules/strndup: Likewise.
63696         * modules/strnlen: Likewise.
63697         * modules/strpbrk: Likewise.
63698         * modules/strsep: Likewise.
63699         * modules/strstr: Likewise.
63700         * modules/strtok_r: Likewise.
63701         * tests/test-dirname.c: Don't include "strdup.h", since
63702         <string.h> now suffices.
63703         * tests/test-memmem.c: Don't include "memmem.h", since
63704         <string.h> now suffices.
63705
63706 2007-01-25  Bruno Haible  <bruno@clisp.org>
63707
63708         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63709         *resultp is 0.
63710
63711         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63712         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63713         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63714         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63715
63716         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63717         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63718         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63719         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63720         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63721         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63722
63723 2007-01-24  Bruno Haible  <bruno@clisp.org>
63724
63725         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63726         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63727         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63728         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63729         gl_FUNC_FTS_CORE.
63730         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63731         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63732         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63733         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63734         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63735         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63736         gl_FUNC_FCHOWNAT.
63737         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63738         gl_FUNC_STRFTIME.
63739         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63740         Reported by Ralf Wildenhues.
63741
63742 2007-01-24  Bruno Haible  <bruno@clisp.org>
63743
63744         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63745         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63746         gl_GETADDRINFO.
63747         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63748         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63749         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63750
63751 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63752
63753         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63754         Don't use 'exit'; just return from 'main'.
63755         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63756
63757         * lib/fnmatch_.h: Readjust white space and comments to match
63758         glibc, to avoid spurious diffs.
63759
63760 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63761
63762         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63763         2004-12-01 change by Jakub Jelinek, since this code won't compile
63764         if !LIBC.  Problem reported by Bob Proulx.
63765
63766 2007-01-23  Bruno Haible  <bruno@clisp.org>
63767
63768         * lib/striconveh.c: Include c-strcaseeq.h.
63769         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63770         * modules/striconveh (Depends-on): Add c-strcaseeq.
63771
63772 2007-01-23  Bruno Haible  <bruno@clisp.org>
63773
63774         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63775
63776         * modules/c-strcaseeq: New file.
63777         * lib/c-strcaseeq.h: New file.
63778
63779         * modules/streq: New file.
63780         * lib/streq.h: New file.
63781
63782 2007-01-23  Bruno Haible  <bruno@clisp.org>
63783
63784         * modules/striconveha-tests: New file.
63785         * tests/test-striconveha.c: New file.
63786
63787         * lib/striconveha.h: Include <stdbool.h>.
63788         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63789         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63790         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63791         (mem_iconveha): New function.
63792         (str_iconveha_notranslit): Renamed from str_iconveha.
63793         (str_iconveha): New function.
63794         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63795         c-strcase.
63796
63797 2007-01-23  Bruno Haible  <bruno@clisp.org>
63798
63799         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63800         encodings without forgiving before trying any encoding with handler.
63801         (str_iconveha): Try all encodings without forgiving before trying any
63802         encoding with handler.
63803
63804 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63805
63806         Import the following changes from libc.
63807
63808         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63809
63810         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63811
63812         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63813
63814         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63815         normal_bracket label.
63816
63817         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63818
63819         [BZ #361]
63820         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63821         to normal_bracket after fetching the next character.
63822
63823 2007-01-22  Bruno Haible  <bruno@clisp.org>
63824
63825         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63826         argument.
63827         * lib/striconveh.c (iconv_carefully_1): New function.
63828         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63829         argument.
63830         (str_cd_iconveh): Update.
63831         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63832         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63833         * tests/test-striconveh.c (MAGIC): New macro.
63834         (new_offsets): New function.
63835         (main): Test call with and without offsets.
63836
63837 2007-01-22  Bruno Haible  <bruno@clisp.org>
63838
63839         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63840         * modules/sys_select (Makefile.am): Likewise.
63841         * modules/sys_socket (Makefile.am): Likewise.
63842         * modules/sys_time (Makefile.am): Likewise.
63843
63844 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63845
63846         * modules/gettimeofday (License): Change from GPL to LGPL, since
63847         gettimeofday is a library function.
63848
63849 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63850
63851         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63852
63853 2007-01-21  Bruno Haible  <bruno@clisp.org>
63854
63855         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63856
63857 2007-01-21  Bruno Haible  <bruno@clisp.org>
63858
63859         * modules/striconveha: New file.
63860         * lib/striconveha.h: New file.
63861         * lib/striconveha.c: New file.
63862         * MODULES.html.sh (Internationalization functions): Add striconveha.
63863         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63864         string.
63865         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63866
63867 2007-01-21  Bruno Haible  <bruno@clisp.org>
63868
63869         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63870         * lib/striconveh.c (str_iconveh): Likewise.
63871
63872 2007-01-21  Bruno Haible  <bruno@clisp.org>
63873
63874         * lib/striconveh.h (mem_iconveh): New declaration.
63875         * lib/striconveh.c (mem_iconveh): New function.
63876         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63877
63878 2007-01-21  Bruno Haible  <bruno@clisp.org>
63879
63880         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63881
63882         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63883         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63884         original result buffer.
63885         (str_cd_iconveh): Update.
63886         * tests/test-striconveh.c (main): Update.
63887
63888         * lib/striconv.h (mem_cd_iconv): Change specification.
63889         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63890         result buffer.
63891         (str_cd_iconv): Update.
63892         * tests/test-striconv.c (main): Update.
63893
63894 2007-01-21  Bruno Haible  <bruno@clisp.org>
63895
63896         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63897
63898 2007-01-20  Jim Meyering  <jim@meyering.net>
63899
63900         * lib/userspec.c (parse_with_separator): If a user or group string
63901         starts with "+", skip the corresponding name-to-ID look-up, since
63902         such a look-up must fail: user and group names may not include "+".
63903
63904 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63905
63906         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63907         since we now assume the sys_time module.
63908         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63909         check for sys/time.h; no longer needed.
63910         * modules/poll (Depends-on): Depend on sys_time.
63911
63912 2007-01-18  Bruno Haible  <bruno@clisp.org>
63913
63914         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63915         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63916
63917         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63918         gettimeofday.
63919
63920         * tests/test-gettimeofday.c: Include <time.h>.
63921         (dummy): Remove variable.
63922
63923         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63924         gl_HEADER_SYS_TIME_H.
63925         (gl_HEADER_SYS_TIME_H): New macro.
63926
63927         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
63928         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63929         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
63930         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
63931         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63932         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
63933         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
63934         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63935         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
63936         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
63937         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63938
63939         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
63940         last change; it caused a compilation error when cross-compiling to
63941         Cygwin.
63942
63943 2007-01-18  Jim Meyering  <jim@meyering.net>
63944
63945         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
63946         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
63947         than the race-prone "test -d sys || mkdir sys".
63948         (configure.ac): Use AC_PROG_MKDIR_P.
63949         * modules/sys_select: Likewise.
63950         * modules/sys_socket: Likewise.
63951         * modules/sys_time: Likewise.
63952
63953 2007-01-18  Eric Blake  <ebb9@byu.net>
63954
63955         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
63956         replace gettimeofday.
63957         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
63958         name, to avoid infinite recursion.
63959
63960 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
63961
63962         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
63963         module sys_time.
63964         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
63965         assume timespec.h defines struct timeval.
63966         * lib/settime.c: Likewise.
63967         * lib/utimens.c: Likewise.
63968         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
63969         since we now assume the gettimeofday module.
63970         * lib/tempname.c (__gen_tempname): Likewise.
63971         * lib/gettimeofday.h: Remove.
63972         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
63973         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
63974         Include <time.h>, for 'time()'.
63975         (localtime_buffer_addr): Also use this workaround if
63976         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
63977         to simplify the uses.  All uses changed.
63978         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
63979         that #undef is inside {}, and 'const' follows type name consistently.
63980         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
63981         (gettimeofday): Do not use the maximum possible value for
63982         tv->tv_usec, since that might break usages other than ls.c.
63983         Instead, we'll leave ls.c alone.  This undoes today's patch
63984         by Bruno.  Add a compile-time warning for 1s-clock resolution;
63985         we've never observed the problem but might as well keep the
63986         canary.
63987         * lib/nanosleep.c: Include timespec.h first, for interface check.
63988         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
63989         now assume the sys_time module.
63990         * lib/tempname.c: Likewise.
63991         * lib/timespec.h: Likewise.
63992         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
63993         needed.
63994         * lib/strftime.c: Likewise.
63995         * lib/timespec.h: Likewise.
63996         * lib/posixtm.c: Include posixtm.h first, for interface check.
63997         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
63998         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
63999         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64000         * lib/sys_time_.h: New file.
64001         * lib/timespec.h (struct timespec): Use long int, not long.
64002         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64003         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64004         Remove obsolescent call to AC_HEADER_TIME.
64005         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64006         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64007         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64008         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64009         Likewise.
64010         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64011         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64012         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64013         into the sys_time module.  Check for gettimeofday just once.
64014         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64015         for gettimeofday signature to just check the signature.  Merely
64016         compile it, since linking doesn't test signature.  Improve test for
64017         whether gettimeofday.o is actually needed.
64018         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64019         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64020         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64021         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64022         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64023         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64024         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64025         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64026         than worrying about sys/time.h.
64027         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64028         Don't bother worrying about TIME_WITH_SYS_TIME.
64029         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64030         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64031         * m4/sys_time_h.m4: New file.
64032         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64033         Don't include sys/time.h.  Return from main rather than exiting.
64034         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64035         all uses changed.
64036         * modules/gethrxtime (Depends-on): Add sys_time.
64037         * modules/gettime (Depends-on): Likewise.
64038         * modules/gettimeofday (Depends-on): Likewise.
64039         * modules/nanosleep (Depends-on): Likewise.
64040         * modules/settime (Depends-on): Likewise.
64041         * modules/tempname (Depends-on): Likewise.
64042         * modules/utimens (Depends-on): Likewise.
64043         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64044         (Include): Change back to <sys/time.h>.
64045         (Maintainer): Add self.
64046         * modules/sys_time: New file.
64047         * modules/tempname (Depends-on): Add gettimeofday.
64048         * tests/test-gettimeofday.c: Include <sys/time.h>
64049         rather than gettimeofday.h.
64050
64051 2007-01-17  Bruno Haible  <bruno@clisp.org>
64052
64053         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64054         the license default to GPL.
64055         (func_create_testdir): Don't complain if a module is LGPL and its
64056         tests module depends on GPLed modules.
64057
64058 2007-01-17  Bruno Haible  <bruno@clisp.org>
64059
64060         * lib/gettimeofday.c (gettimeofday): Add code for the case
64061         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64062         maximum possible value for tv->tv_usec, rather than the minimum one.
64063
64064 2005-10-08  Martin Lambers  <marlam@marlam.de>
64065 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64066 2007-01-16  Bruno Haible  <bruno@clisp.org>
64067
64068         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64069         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64070         gl_FUNC_GETTIMEOFDAY.
64071         (Include): Add gettimeofday.h.
64072         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64073         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64074         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64075         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64076         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64077         * lib/gettimeofday.h: New file.
64078         * lib/gettimeofday.c: Include <sys/timeb.h>.
64079         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64080         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64081         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64082         fall back on time().
64083
64084         * tests/test-gettimeofday.c: New file.
64085         * modules/gettimeofday-tests: New file.
64086
64087 2007-01-16  Eric Blake  <ebb9@byu.net>
64088
64089         * modules/fnmatch (Depends-on): Depend on wchar.
64090         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64091         * m4/fnmatch.m4: Likewise.
64092         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64093         * m4/mbchar.m4: Likewise.
64094         * modules/mbswidth (Depends-on): Depend on wchar.
64095         * lib/mbswidth.c: Assume <wchar.h>.
64096         * m4/mbswidth.m4: Likewise.
64097         * modules/quotearg (Depends-on): Depend on wchar.
64098         * lib/quotearg.c: Assume <wchar.h>.
64099         * m4/quotearg.m4: Likewise.
64100         * modules/regex (Depends-on): Depend on wchar.
64101         * lib/regex_internal.h: Assume <wchar.h>.
64102         * m4/regex.m4: Likewise.
64103         * modules/stdint (Depends-on): Depend on wchar.
64104         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64105         * m4/stdint.m4: Likewise.
64106         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64107         * modules/strftime (Depends-on): Depend on wchar.
64108         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64109         * modules/strtol (Depends-on): Depend on wchar.
64110         * lib/strtol.c: Assume <wchar.h>.
64111         * modules/wcwidth (Depends-on): Depend on wchar.
64112         * lib/wcwidth.h: Assume <wchar.h>.
64113         * m4/wcwidth.m4: Likewise.
64114
64115 2007-01-16  Bruno Haible  <bruno@clisp.org>
64116
64117         * modules/csharpexec-script: New, created from...
64118         * modules/csharpexec: ... this.
64119
64120 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64121
64122         * modules/javaexec-script: New, created from...
64123         * modules/javaexec: ... this.
64124
64125 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64126
64127         * modules/poll (Dependencies): Add sys_select.
64128
64129 2007-01-15  Jim Meyering  <jim@meyering.net>
64130
64131         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64132         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64133         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64134         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64135
64136 2007-01-15  Bruno Haible  <bruno@clisp.org>
64137
64138         * modules/striconveh: New file.
64139         * lib/striconveh.h: New file.
64140         * lib/striconveh.c: New file.
64141         * MODULES.html.sh (Internationalization functions): Add striconveh.
64142
64143         * modules/striconveh-tests: New file.
64144         * tests/test-striconveh.c: New file.
64145
64146 2007-01-15  Bruno Haible  <bruno@clisp.org>
64147
64148         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64149         not from GNU libiconv or GNU libc.
64150
64151 2007-01-15  Bruno Haible  <bruno@clisp.org>
64152
64153         * doc/gnulib-intro.texi (Copyright): Explain the different license
64154         terms for module descriptions, autoconf macros, tests, documentation.
64155
64156 2007-01-14  Bruno Haible  <bruno@clisp.org>
64157
64158         * modules/striconv-tests: New file.
64159         * tests/test-striconv.c: New file.
64160
64161 2007-01-14  Bruno Haible  <bruno@clisp.org>
64162
64163         * modules/iconv-tests: New file.
64164         * tests/test-iconv.c: New file.
64165
64166 2007-01-14  Bruno Haible  <bruno@clisp.org>
64167
64168         * gnulib-tool (func_get_license): For test modules, use the license of
64169         the main module.
64170
64171 2007-01-14  Bruno Haible  <bruno@clisp.org>
64172
64173         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64174         if iconv is found to exist.
64175
64176 2007-01-14  Bruno Haible  <bruno@clisp.org>
64177
64178         * modules/c-ctype-tests: New file.
64179         * tests/test-c-ctype.c: New file.
64180
64181 2007-01-14  Bruno Haible  <bruno@clisp.org>
64182
64183         * modules/binary-io-tests: New file.
64184         * tests/test-binary-io.sh: New file.
64185         * tests/test-binary-io.c: New file.
64186
64187 2007-01-14  Bruno Haible  <bruno@clisp.org>
64188
64189         * modules/array-oset-tests: New file.
64190         * tests/test-array_oset.c: New file.
64191
64192 2007-01-14  Bruno Haible  <bruno@clisp.org>
64193
64194         * modules/array-list-tests: New file.
64195         * tests/test-array_list.c: New file.
64196
64197 2007-01-14  Bruno Haible  <bruno@clisp.org>
64198
64199         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64200         and make.
64201         Reported by Simon Josefsson in
64202         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64203
64204 2007-01-14  Bruno Haible  <bruno@clisp.org>
64205
64206         * modules/allocsa-tests: New file.
64207         * tests/test-allocsa.c: New file.
64208
64209 2007-01-14  Bruno Haible  <bruno@clisp.org>
64210
64211         * modules/fchdir (Depends-on): Add absolute-header.
64212         * modules/unistd (Depends-on): Likewise.
64213
64214 2006-12-30  Bruno Haible  <bruno@clisp.org>
64215
64216         * modules/fchdir: New file.
64217         * modules/unistd (Files): Add lib/unistd_.h.
64218         (Makefile.am): Generate unistd.h from unistd_.h.
64219         * lib/fchdir.c: New file.
64220         * lib/dirent_.h: New file.
64221         * lib/unistd_.h: New file.
64222         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64223         * m4/fchdir.m4: New file.
64224         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64225         (gl_HEADER_UNISTD): Invoke it.
64226         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64227         function.
64228         * lib/backupfile.c (opendir, closedir): Undefine.
64229         * lib/chown.c (open, close): Undefine.
64230         * lib/clean-temp.c (open, close): Undefine.
64231         * lib/copy-file.c (open, close): Undefine.
64232         * lib/execute.c (open, close): Undefine.
64233         * lib/fsusage.c (open, close): Undefine.
64234         * lib/gc-gnulib.c (open, close): Undefine.
64235         * lib/getcwd.c (opendir, closedir): Undefine.
64236         * lib/glob.c (opendir, closedir): Undefine.
64237         * lib/javacomp.c (open, close): Undefine.
64238         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64239         * lib/openat-proc.c (open, close): Undefine.
64240         * lib/pagealign_alloc.c (open, close): Undefine.
64241         * lib/pipe.c (open, close): Undefine.
64242         * lib/progreloc.c (open, close): Undefine.
64243         * lib/savedir.c (opendir, closedir): Undefine.
64244         * lib/utime.c (open, close): Undefine.
64245         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64246
64247 2007-01-10  Bruno Haible  <bruno@clisp.org>
64248
64249         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64250
64251 2007-01-12  Eric Blake  <ebb9@byu.net>
64252
64253         Provide a robust <wchar.h>.  Further simplifications are now
64254         possible in other modules, but not included here.
64255         * modules/wchar: New module.
64256         * m4/wchar.m4: New file.
64257         * lib/wchar_.h: Likewise.
64258         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64259         of the new module.
64260         * MODULES.html.sh (Extended multibyte and wide character utilities):
64261         New section.
64262
64263 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64264
64265         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64266         to a reasonable default for memory allocation.
64267         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64268         file system that reports garbage st_size values for symlinks.
64269         Problem reported by Liyang Hu.
64270
64271 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64272
64273         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64274         Emacs .#* auto-save files).
64275
64276 2007-01-11  Bruno Haible  <bruno@clisp.org>
64277
64278         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64279         directory.
64280
64281 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64282
64283         Use @...@ consistently in lib/wctype_.h.
64284         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64285         on it being set to 1 or 0.
64286         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64287         go back to AC_SUBSTing it.
64288         * modules/wctype (Makefile.am): Undo previous change.
64289
64290 2007-01-10  Eric Blake  <ebb9@byu.net>
64291
64292         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64293         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64294         * modules/wctype (Makefile.am): Likewise.
64295         Reported by Chris McGuire.
64296
64297 2007-01-10  Jim Meyering  <jim@meyering.net>
64298
64299         fts.c: a small readability/maintainability improvement
64300         * lib/fts.c (fts_read): Make this code slightly more readable and
64301         maintainable by hoisting the "sp->fts_cur = p" assignments to
64302         immediately follow the statements that set P.  Derived from
64303         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64304
64305 2007-01-10  Eric Blake  <ebb9@byu.net>
64306
64307         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64308         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64309         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64310         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64311         Reported by Chris McGuire.
64312
64313 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64314
64315         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64316         in sed script.
64317
64318 2007-01-09  Bruno Haible  <bruno@clisp.org>
64319
64320         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64321         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64322         variables.
64323         (func_module): Use them.
64324
64325 2007-01-09  Bruno Haible  <bruno@clisp.org>
64326
64327         * modules/unistr/base: New file.
64328         * lib/unistr.h: New file.
64329
64330         * modules/unistr/u8-to-u16: New file.
64331         * lib/unistr/u8-to-u16.c: New file.
64332
64333         * modules/unistr/u8-to-u32: New file.
64334         * lib/unistr/u8-to-u32.c: New file.
64335
64336         * modules/unistr/u16-to-u8: New file.
64337         * lib/unistr/u16-to-u8.c: New file.
64338
64339         * modules/unistr/u16-to-u32: New file.
64340         * lib/unistr/u16-to-u32.c: New file.
64341
64342         * modules/unistr/u32-to-u8: New file.
64343         * lib/unistr/u32-to-u8.c: New file.
64344
64345         * modules/unistr/u32-to-u16: New file.
64346         * lib/unistr/u32-to-u16.c: New file.
64347
64348         * modules/unistr/u8-check: New file.
64349         * modules/unistr/u16-check: New file.
64350         * modules/unistr/u32-check: New file.
64351         * lib/unistr/u8-check.c: New file.
64352         * lib/unistr/u16-check.c: New file.
64353         * lib/unistr/u32-check.c: New file.
64354
64355         * modules/unistr/u8-chr: New file.
64356         * modules/unistr/u16-chr: New file.
64357         * modules/unistr/u32-chr: New file.
64358         * lib/unistr/u8-chr.c: New file.
64359         * lib/unistr/u16-chr.c: New file.
64360         * lib/unistr/u32-chr.c: New file.
64361
64362         * modules/unistr/u8-cmp: New file.
64363         * modules/unistr/u16-cmp: New file.
64364         * modules/unistr/u32-cmp: New file.
64365         * lib/unistr/u8-cmp.c: New file.
64366         * lib/unistr/u16-cmp.c: New file.
64367         * lib/unistr/u32-cmp.c: New file.
64368
64369         * modules/unistr/u8-cpy: New file.
64370         * modules/unistr/u16-cpy: New file.
64371         * modules/unistr/u32-cpy: New file.
64372         * lib/unistr/u8-cpy.c: New file.
64373         * lib/unistr/u16-cpy.c: New file.
64374         * lib/unistr/u32-cpy.c: New file.
64375         * lib/unistr/u-cpy.h: New file.
64376
64377         * modules/unistr/u8-cpy-alloc: New file.
64378         * modules/unistr/u16-cpy-alloc: New file.
64379         * modules/unistr/u32-cpy-alloc: New file.
64380         * lib/unistr/u8-cpy-alloc.c: New file.
64381         * lib/unistr/u16-cpy-alloc.c: New file.
64382         * lib/unistr/u32-cpy-alloc.c: New file.
64383         * lib/unistr/u-cpy-alloc.h: New file.
64384
64385         * modules/unistr/u8-endswith: New file.
64386         * modules/unistr/u16-endswith: New file.
64387         * modules/unistr/u32-endswith: New file.
64388         * lib/unistr/u8-endswith.c: New file.
64389         * lib/unistr/u16-endswith.c: New file.
64390         * lib/unistr/u32-endswith.c: New file.
64391         * lib/unistr/u-endswith.h: New file.
64392
64393         * modules/unistr/u8-mblen: New file.
64394         * modules/unistr/u16-mblen: New file.
64395         * modules/unistr/u32-mblen: New file.
64396         * lib/unistr/u8-mblen.c: New file.
64397         * lib/unistr/u16-mblen.c: New file.
64398         * lib/unistr/u32-mblen.c: New file.
64399
64400         * modules/unistr/u8-mbtouc: New file.
64401         * modules/unistr/u16-mbtouc: New file.
64402         * modules/unistr/u32-mbtouc: New file.
64403         * lib/unistr/u8-mbtouc.c: New file.
64404         * lib/unistr/u16-mbtouc.c: New file.
64405         * lib/unistr/u32-mbtouc.c: New file.
64406
64407         * modules/unistr/u8-mbtouc-safe: New file.
64408         * modules/unistr/u16-mbtouc-safe: New file.
64409         * modules/unistr/u32-mbtouc-safe: New file.
64410         * lib/unistr/u8-mbtouc-safe.c: New file.
64411         * lib/unistr/u16-mbtouc-safe.c: New file.
64412         * lib/unistr/u32-mbtouc-safe.c: New file.
64413
64414         * modules/unistr/u8-move: New file.
64415         * modules/unistr/u16-move: New file.
64416         * modules/unistr/u32-move: New file.
64417         * lib/unistr/u8-move.c: New file.
64418         * lib/unistr/u16-move.c: New file.
64419         * lib/unistr/u32-move.c: New file.
64420         * lib/unistr/u-move.h: New file.
64421
64422         * modules/unistr/u8-next: New file.
64423         * modules/unistr/u16-next: New file.
64424         * modules/unistr/u32-next: New file.
64425         * lib/unistr/u8-next.c: New file.
64426         * lib/unistr/u16-next.c: New file.
64427         * lib/unistr/u32-next.c: New file.
64428
64429         * modules/unistr/u8-prev: New file.
64430         * modules/unistr/u16-prev: New file.
64431         * modules/unistr/u32-prev: New file.
64432         * lib/unistr/u8-prev.c: New file.
64433         * lib/unistr/u16-prev.c: New file.
64434         * lib/unistr/u32-prev.c: New file.
64435
64436         * modules/unistr/u8-set: New file.
64437         * modules/unistr/u16-set: New file.
64438         * modules/unistr/u32-set: New file.
64439         * lib/unistr/u8-set.c: New file.
64440         * lib/unistr/u16-set.c: New file.
64441         * lib/unistr/u32-set.c: New file.
64442         * lib/unistr/u-set.h: New file.
64443
64444         * modules/unistr/u8-startswith: New file.
64445         * modules/unistr/u16-startswith: New file.
64446         * modules/unistr/u32-startswith: New file.
64447         * lib/unistr/u8-startswith.c: New file.
64448         * lib/unistr/u16-startswith.c: New file.
64449         * lib/unistr/u32-startswith.c: New file.
64450         * lib/unistr/u-startswith.h: New file.
64451
64452         * modules/unistr/u8-stpcpy: New file.
64453         * modules/unistr/u16-stpcpy: New file.
64454         * modules/unistr/u32-stpcpy: New file.
64455         * lib/unistr/u8-stpcpy.c: New file.
64456         * lib/unistr/u16-stpcpy.c: New file.
64457         * lib/unistr/u32-stpcpy.c: New file.
64458         * lib/unistr/u-stpcpy.h: New file.
64459
64460         * modules/unistr/u8-stpncpy: New file.
64461         * modules/unistr/u16-stpncpy: New file.
64462         * modules/unistr/u32-stpncpy: New file.
64463         * lib/unistr/u8-stpncpy.c: New file.
64464         * lib/unistr/u16-stpncpy.c: New file.
64465         * lib/unistr/u32-stpncpy.c: New file.
64466         * lib/unistr/u-stpncpy.h: New file.
64467
64468         * modules/unistr/u8-strcat: New file.
64469         * modules/unistr/u16-strcat: New file.
64470         * modules/unistr/u32-strcat: New file.
64471         * lib/unistr/u8-strcat.c: New file.
64472         * lib/unistr/u16-strcat.c: New file.
64473         * lib/unistr/u32-strcat.c: New file.
64474         * lib/unistr/u-strcat.h: New file.
64475
64476         * modules/unistr/u8-strchr: New file.
64477         * modules/unistr/u16-strchr: New file.
64478         * modules/unistr/u32-strchr: New file.
64479         * lib/unistr/u8-strchr.c: New file.
64480         * lib/unistr/u16-strchr.c: New file.
64481         * lib/unistr/u32-strchr.c: New file.
64482
64483         * modules/unistr/u8-strcmp: New file.
64484         * modules/unistr/u16-strcmp: New file.
64485         * modules/unistr/u32-strcmp: New file.
64486         * lib/unistr/u8-strcmp.c: New file.
64487         * lib/unistr/u16-strcmp.c: New file.
64488         * lib/unistr/u32-strcmp.c: New file.
64489
64490         * modules/unistr/u8-strcpy: New file.
64491         * modules/unistr/u16-strcpy: New file.
64492         * modules/unistr/u32-strcpy: New file.
64493         * lib/unistr/u8-strcpy.c: New file.
64494         * lib/unistr/u16-strcpy.c: New file.
64495         * lib/unistr/u32-strcpy.c: New file.
64496         * lib/unistr/u-strcpy.h: New file.
64497
64498         * modules/unistr/u8-strcspn: New file.
64499         * modules/unistr/u16-strcspn: New file.
64500         * modules/unistr/u32-strcspn: New file.
64501         * lib/unistr/u8-strcspn.c: New file.
64502         * lib/unistr/u16-strcspn.c: New file.
64503         * lib/unistr/u32-strcspn.c: New file.
64504         * lib/unistr/u-strcspn.h: New file.
64505
64506         * modules/unistr/u8-strdup: New file.
64507         * modules/unistr/u16-strdup: New file.
64508         * modules/unistr/u32-strdup: New file.
64509         * lib/unistr/u8-strdup.c: New file.
64510         * lib/unistr/u16-strdup.c: New file.
64511         * lib/unistr/u32-strdup.c: New file.
64512         * lib/unistr/u-strdup.h: New file.
64513
64514         * modules/unistr/u8-strlen: New file.
64515         * modules/unistr/u16-strlen: New file.
64516         * modules/unistr/u32-strlen: New file.
64517         * lib/unistr/u8-strlen.c: New file.
64518         * lib/unistr/u16-strlen.c: New file.
64519         * lib/unistr/u32-strlen.c: New file.
64520         * lib/unistr/u-strlen.h: New file.
64521
64522         * modules/unistr/u8-strmblen: New file.
64523         * modules/unistr/u16-strmblen: New file.
64524         * modules/unistr/u32-strmblen: New file.
64525         * lib/unistr/u8-strmblen.c: New file.
64526         * lib/unistr/u16-strmblen.c: New file.
64527         * lib/unistr/u32-strmblen.c: New file.
64528
64529         * modules/unistr/u8-strmbtouc: New file.
64530         * modules/unistr/u16-strmbtouc: New file.
64531         * modules/unistr/u32-strmbtouc: New file.
64532         * lib/unistr/u8-strmbtouc.c: New file.
64533         * lib/unistr/u16-strmbtouc.c: New file.
64534         * lib/unistr/u32-strmbtouc.c: New file.
64535
64536         * modules/unistr/u8-strncat: New file.
64537         * modules/unistr/u16-strncat: New file.
64538         * modules/unistr/u32-strncat: New file.
64539         * lib/unistr/u8-strncat.c: New file.
64540         * lib/unistr/u16-strncat.c: New file.
64541         * lib/unistr/u32-strncat.c: New file.
64542         * lib/unistr/u-strncat.h: New file.
64543
64544         * modules/unistr/u8-strncmp: New file.
64545         * modules/unistr/u16-strncmp: New file.
64546         * modules/unistr/u32-strncmp: New file.
64547         * lib/unistr/u8-strncmp.c: New file.
64548         * lib/unistr/u16-strncmp.c: New file.
64549         * lib/unistr/u32-strncmp.c: New file.
64550
64551         * modules/unistr/u8-strncpy: New file.
64552         * modules/unistr/u16-strncpy: New file.
64553         * modules/unistr/u32-strncpy: New file.
64554         * lib/unistr/u8-strncpy.c: New file.
64555         * lib/unistr/u16-strncpy.c: New file.
64556         * lib/unistr/u32-strncpy.c: New file.
64557         * lib/unistr/u-strncpy.h: New file.
64558
64559         * modules/unistr/u8-strnlen: New file.
64560         * modules/unistr/u16-strnlen: New file.
64561         * modules/unistr/u32-strnlen: New file.
64562         * lib/unistr/u8-strnlen.c: New file.
64563         * lib/unistr/u16-strnlen.c: New file.
64564         * lib/unistr/u32-strnlen.c: New file.
64565         * lib/unistr/u-strnlen.h: New file.
64566
64567         * modules/unistr/u8-strpbrk: New file.
64568         * modules/unistr/u16-strpbrk: New file.
64569         * modules/unistr/u32-strpbrk: New file.
64570         * lib/unistr/u8-strpbrk.c: New file.
64571         * lib/unistr/u16-strpbrk.c: New file.
64572         * lib/unistr/u32-strpbrk.c: New file.
64573         * lib/unistr/u-strpbrk.h: New file.
64574
64575         * modules/unistr/u8-strrchr: New file.
64576         * modules/unistr/u16-strrchr: New file.
64577         * modules/unistr/u32-strrchr: New file.
64578         * lib/unistr/u8-strrchr.c: New file.
64579         * lib/unistr/u16-strrchr.c: New file.
64580         * lib/unistr/u32-strrchr.c: New file.
64581
64582         * modules/unistr/u8-strspn: New file.
64583         * modules/unistr/u16-strspn: New file.
64584         * modules/unistr/u32-strspn: New file.
64585         * lib/unistr/u8-strspn.c: New file.
64586         * lib/unistr/u16-strspn.c: New file.
64587         * lib/unistr/u32-strspn.c: New file.
64588         * lib/unistr/u-strspn.h: New file.
64589
64590         * modules/unistr/u8-strstr: New file.
64591         * modules/unistr/u16-strstr: New file.
64592         * modules/unistr/u32-strstr: New file.
64593         * lib/unistr/u8-strstr.c: New file.
64594         * lib/unistr/u16-strstr.c: New file.
64595         * lib/unistr/u32-strstr.c: New file.
64596         * lib/unistr/u-strstr.h: New file.
64597
64598         * modules/unistr/u8-strtok: New file.
64599         * modules/unistr/u16-strtok: New file.
64600         * modules/unistr/u32-strtok: New file.
64601         * lib/unistr/u8-strtok.c: New file.
64602         * lib/unistr/u16-strtok.c: New file.
64603         * lib/unistr/u32-strtok.c: New file.
64604         * lib/unistr/u-strtok.h: New file.
64605
64606         * modules/unistr/u8-uctomb: New file.
64607         * modules/unistr/u16-uctomb: New file.
64608         * modules/unistr/u32-uctomb: New file.
64609         * lib/unistr/u8-uctomb.c: New file.
64610         * lib/unistr/u16-uctomb.c: New file.
64611         * lib/unistr/u32-uctomb.c: New file.
64612
64613         * MODULES.html.sh (Unicode string functions): Add the new modules.
64614
64615 2007-01-08  Bruno Haible  <bruno@clisp.org>
64616
64617         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64618         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64619         subdirectories.
64620
64621 2007-01-08  Karl Berry  <karl@gnu.org>
64622
64623         * doc/error.texi: mention that main() fns must set program_name
64624         when progname is used.
64625
64626 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64627
64628         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64629         WCTYPE_H is empty, for the benefit of builds from non-distclean
64630         directories.  Problem reported by Eric Blake in
64631         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64632
64633 2007-01-08  Bruno Haible  <bruno@clisp.org>
64634
64635         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64636         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64637         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64638         PROVIDE_CANONICALIZE_FILENAME_MODE.
64639         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64640
64641 2007-01-08  Bruno Haible  <bruno@clisp.org>
64642
64643         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64644         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64645         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64646         * lib/fts.c: Likewise.
64647         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64648
64649 2006-12-25  Bruno Haible  <bruno@clisp.org>
64650
64651         * modules/utf8-ucs4-safe: New file.
64652         * lib/utf8-ucs4-safe.h: New file.
64653         * lib/unistr/utf8-ucs4-safe.c: New file.
64654
64655         * modules/utf16-ucs4-safe: New file.
64656         * lib/utf16-ucs4-safe.h: New file.
64657         * lib/unistr/utf16-ucs4-safe.c: New file.
64658
64659         * MODULES.html.sh (Unicode string functions): Add the new modules.
64660
64661 2007-01-08  Bruno Haible  <bruno@clisp.org>
64662
64663         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64664         (Depends-on): Add unitypes.
64665         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64666         (u8_mbtouc_aux): Move out to separate file.
64667         (u8_mbtouc): Use ucs4_t, uint8_t types.
64668         * lib/unistr/utf8-ucs4.c: New file.
64669
64670         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64671         (Depends-on): Add unitypes.
64672         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64673         (u16_mbtouc_aux): Move out to separate file.
64674         (u16_mbtouc): Use ucs4_t, uint16_t types.
64675         * lib/unistr/utf16-ucs4.c: New file.
64676
64677         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64678         (Depends-on): Add unitypes.
64679         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64680         (u8_uctomb_aux): Move out to separate file.
64681         (u8_uctomb): Use ucs4_t, uint8_t types.
64682         * lib/unistr/ucs4-utf8.c: New file.
64683
64684         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64685         (Depends-on): Add unitypes.
64686         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64687         (u16_uctomb_aux): Move out to separate file.
64688         (u16_uctomb): Use ucs4_t, uint16_t types.
64689         * lib/unistr/ucs4-utf16.c: New file.
64690
64691 2006-12-25  Bruno Haible  <bruno@clisp.org>
64692
64693         * modules/unitypes: New file.
64694         * lib/unitypes.h: New file.
64695         * MODULES.html.sh (func_all_modules): New section "Unicode string
64696         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64697         this section. Add unitypes.
64698
64699 2007-01-08  Bruno Haible  <bruno@clisp.org>
64700
64701         Avoid variable names that conflict with those from libtool.
64702         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64703         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64704         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64705         library_names_spec to acl_library_names_spec, hardcode_* to
64706         acl_hardcode_*.
64707         Reported by Ralf Wildenhues.
64708
64709 2007-01-08  Bruno Haible  <bruno@clisp.org>
64710
64711         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64712         definition.
64713         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64714         definition.
64715         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64716         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64717         definition.
64718         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64719         definition.
64720         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64721         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64722         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64723         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64724         definition.
64725         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64726         definition.
64727         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64728         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64729         GC_USE_<algorithm>.
64730         * lib/gc-libgcrypt.c: Likewise.
64731         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64732         * modules/gc-arctwo (configure.ac): Likewise.
64733         * modules/gc-des (configure.ac): Likewise.
64734         * modules/gc-hmac-md5 (configure.ac): Likewise.
64735         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64736         * modules/gc-md2 (configure.ac): Likewise.
64737         * modules/gc-md4 (configure.ac): Likewise.
64738         * modules/gc-md5 (configure.ac): Likewise.
64739         * modules/gc-random (configure.ac): Likewise.
64740         * modules/gc-rijndael (configure.ac): Likewise.
64741         * modules/gc-sha1 (configure.ac): Likewise.
64742
64743 2007-01-08  Bruno Haible  <bruno@clisp.org>
64744
64745         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64746         macro definition.
64747         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64748         definition.
64749         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64750         definition.
64751         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64752         * modules/fcntl-safer (configure.ac): Likewise.
64753         * modules/fopen-safer (configure.ac): Likewise.
64754         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64755         GNULIB_FWRITEERROR macro definition.
64756
64757 2007-01-08  Bruno Haible  <bruno@clisp.org>
64758
64759         * m4/gnulib-common.m4: New file.
64760         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64761         (func_get_filelist): Add m4/gnulib-common.m4.
64762
64763 2007-01-08  Bruno Haible  <bruno@clisp.org>
64764
64765         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64766         command.
64767
64768 2007-01-08  Jim Meyering  <jim@meyering.net>
64769
64770         Use a more robust test for a "can't happen" condition.
64771         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64772         narrowed the st_size value.  Presuming the "can't happen" condition
64773         is true, that narrowing could conceivably convert an invalid st_size
64774         value into a valid one.  Instead, use a change based on Matthew
64775         Woehlke's original patch.
64776
64777         Slight readability improvement: use an assert-like macro
64778         in place of literal "abort ()" uses.
64779         * lib/fts.c (fts_assert): Define.
64780         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64781         Use this macro instead of a bare 'abort'.
64782
64783 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64784
64785         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64786         simply work around them.
64787         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64788         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64789         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64790         declaring.
64791         Don't bother to define as macros, since the standard doesn't require it.
64792         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64793         longer worry about IRIX 5.3.
64794         (HAVE_WCTYPE_CTMP_BUG): Remove.
64795
64796 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64797
64798         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64799         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64800         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64801         Problems reported by Georg Schwarz for IRIX 5.3.
64802
64803         * gnulib-tool (autoconf_minversion): Take the maximum version number
64804         found, not the minimum.  Problem reported by James Youngman.
64805
64806 2007-01-03  Karl Berry  <karl@gnu.org>
64807
64808         * doc/error.texi: new file, explaining interaction with progname.
64809         * doc/gnulib.texi: include it.  Update copyright.
64810
64811 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64812
64813         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64814         AC_CANONICAL_HOST, to improve autobuild outputs.
64815
64816 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64817             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64818
64819         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64820         sockets, server sockets, and other file descriptors.  Count errors
64821         to compute the return value.  Reorder the code a bit to be easier
64822         to follow.  Don't set event bits that were not requested (except
64823         POLLERR and POLLHUP).
64824
64825 2007-01-01  Bruno Haible  <bruno@clisp.org>
64826
64827         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64828
64829 2007-01-03  Jim Meyering  <jim@meyering.net>
64830
64831         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64832
64833 2007-01-02  Bruno Haible  <bruno@clisp.org>
64834
64835         * modules/settime (Include): Require timespec.h.
64836         * modules/nanosleep (Include): Likewise.
64837
64838 2007-01-01  Bruno Haible  <bruno@clisp.org>
64839
64840         * gnulib-tool (func_emit_copyright_notice): Bump year.
64841         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64842
64843 2007-01-01  Bruno Haible  <bruno@clisp.org>
64844
64845         Improve support for OpenBSD.
64846         * build-aux/config.rpath (libname_spec): Export.
64847         (library_names_spec): New variable. Export.
64848         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64849         library_names_spec from the config.rpath output. Locate shared library
64850         through the name pattern in library_names_spec.
64851
64852 2007-01-01  Eric Blake  <ebb9@byu.net>
64853
64854         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64855
64856 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64857
64858         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64859         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64860         assume the C locale, and avoid an "eval" that could cause trouble.
64861         Problem with SORT reported by Bob Proulx.
64862
64863         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64864         Define.  Trivial patch from Henning Nielsen Lund, originally
64865         sent to bug-grep@gnu.org today.
64866
64867 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64868
64869         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64870         struct stat.  Problem reported by Henning Nielsen Lund.
64871         * lib/acl.c: Include acl.h first, to check interface.  Don't
64872         bother to include sys/types.h and sys/stat.h again.
64873
64874 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64875
64876         Import the following change from libc; problem reported by
64877         Sven Verdoolaege.
64878
64879         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64880
64881         [BZ #1373]
64882         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64883
64884 2006-12-28  Jim Meyering  <jim@meyering.net>
64885
64886         * build-aux/announce-gen: Do not assume that the package
64887         builds any of tar.gz, tar.bz2, and .xdelta files.
64888         Suggestion from Simon Josefsson.
64889
64890 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64891
64892         * modules/announce-gen: New file.
64893
64894 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64895
64896         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64897         handles its gotchas now.
64898         * lib/mbswidth.c: Likewise.
64899         * lib/wcwidth.h: Likewise.
64900         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64901         and iswcntrl; the wctype module does this stuff now.
64902         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64903         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64904         * modules/mbchar (Depends-on): Add wctype.
64905         * modules/mbswidth (Depends-on): Likewise.
64906         * modules/wcwidth (Depends-on): Likewise.
64907
64908 2006-12-27  Eric Blake  <ebb9@byu.net>
64909
64910         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64911         module uses more than what <wctype.h> is required to provide.
64912
64913 2006-12-26  Eric Blake  <ebb9@byu.net>
64914
64915         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64916
64917 2006-12-26  Eric Blake  <ebb9@byu.net>
64918
64919         * modules/absolute-header: New module.
64920         * modules/fcntl (Depends-on): Depend on it.
64921         * modules/inttypes (Depends-on): Likewise.
64922         * modules/stdint (Depends-on): Likewise.
64923         * modules/sys_stat (Depends-on): Likewise.
64924         * modules/wctype (Depends-on): Likewise.
64925         * MODULES.html.sh (Support for building libraries and
64926         executables): Document it.
64927
64928 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
64929
64930         * gnulib-tool (SED): Remove, undoing previous change.
64931         The problem was that it broke coreutils on Solaris, because
64932         "sed --posix" leaked into a makefile.
64933         (sed): New alias, if 'alias' and GNU sed.
64934
64935 2006-12-24  Jim Meyering  <jim@meyering.net>
64936
64937         Work around an fchownat bug in glibc-2.4:
64938         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
64939         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
64940         in spite of the -P option.
64941         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
64942         New macros.
64943         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
64944         * modules/openat (Files): Add lib/fchownat.c.
64945         * lib/openat.c (fchownat): Don't define here.  Move to...
64946         * lib/fchownat.c: ...this new file.
64947
64948 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64949
64950         Fix bug reported by Bruno Haible in
64951         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
64952         where quotearg.c didn't compile on Mac OS X 10.2 because it
64953         lacks <wchar.h> and wint_t.
64954         * lib/wctype_.h (__wctype_wint_t): New type.
64955         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
64956         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
64957         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
64958         Arg is now of type __wctype_wint_t, not wint_t.
64959         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
64960         substitute HAVE_WINT_T.
64961         * modules/wctype (Files): Add m4/wint_t.m4.
64962         (wctype.h): Substitute HAVE_WINT_T.
64963
64964 2006-12-23  Bruno Haible  <bruno@clisp.org>
64965
64966         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
64967
64968 2006-12-23  Bruno Haible  <bruno@clisp.org>
64969
64970         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
64971         S_ISLNK.
64972         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
64973         mingw.
64974
64975 2006-12-22  Bruno Haible  <bruno@clisp.org>
64976
64977         * lib/copy-file.c: Include acl.h.
64978         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
64979         Close the file descriptors only after being done with copy_acl.
64980         * modules/copy-file (Depends-on): Add acl.
64981
64982 2006-12-22  Bruno Haible  <bruno@clisp.org>
64983
64984         * gnulib-tool (SED): New variable.
64985         Use $SED instead of sed everywhere.
64986
64987 2006-12-22  Bruno Haible  <bruno@clisp.org>
64988
64989         * modules/no-c++: New file.
64990         * m4/no-c++.m4: New file.
64991         * MODULES.html.sh (Support for building libraries and executables):
64992         Add no-c++.
64993
64994 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
64995
64996         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
64997         Include <limits.h>, and use its INT_MAX to rewrite the
64998         j loop so that it does not overflow 'int'.  Problem reported by
64999         Ralf Wildenhues in
65000         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65001         Play it safe by shifting left by 1 rather than multiplying by 2,
65002         as GCC is less likely to optimize this away when the value
65003         is signed (when it assumes overflow leads to undefined behavior).
65004         Also, don't assume time_t uses two's complement.
65005
65006 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65007
65008         * MODULES.html.sh: New module wctype.
65009         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65010         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65011         <wctype.h>, since the new wctype module should fix this.
65012         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65013         the wctype module should arrange for it.
65014         * lib/regex_internal.h: Likewise.
65015         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65016         since the wctype module should handle this now.
65017         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65018         * modules/fnmatch (Depends-on): Add wctype.
65019         * modules/quotearg (Depends-on): Likewise.
65020         * modules/regex (Depends-on): Likewise.
65021
65022 2006-12-19  Bruno Haible  <bruno@clisp.org>
65023
65024         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65025         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65026
65027 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65028
65029         * modules/savewd (Depends-on): Fix dependency on fcntl.
65030
65031 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65032
65033         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65034         conforms to C99, rather than relying on the user's environment
65035         setting of STDINT_H.
65036
65037 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65038         and Eric Blake  <ebb9@byu.net>
65039
65040         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65041         This is more consistent with the other defines here.
65042         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65043         Port to z/OS.  Problem reported by Paul Gilmartin.
65044         Change local vars to use gl_ prefix rather than ac_.
65045         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65046         with other defines.
65047         * modules/double-slash-root: New module.
65048         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65049         (Depends-on): Add double-slash-root.
65050         * MODULES.html.sh (File system functions): Mention new module.
65051
65052 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65053
65054         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65055         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65056         This is for the benefit of gzip, which doesn't do i18n.
65057
65058 2006-12-12  Jim Meyering  <jim@meyering.net>
65059
65060         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65061         Reported by Andreas Schwab <schwab@suse.de>.
65062
65063 2006-12-12  Bruno Haible  <bruno@clisp.org>
65064
65065         Merge these changes.
65066         2006-09-05  Bruno Haible  <bruno@clisp.org>
65067         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65068         iconv_alloc succeeded.
65069         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65070         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65071         test for " && dest " at the end - dest is always != NULL there. Call
65072         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65073         with 2xNULL arguments, also to flush the state storage. Handle the
65074         IRIX iconv behaviour. Realloc the final result, to throw away unused
65075         memory.
65076
65077 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65078
65079         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65080         and fchmodat unconditionally, since glibc 2.4 has them.
65081         Problem reported by Arkadiusz Miskiewicz.
65082
65083 2006-12-10  Bruno Haible  <bruno@clisp.org>
65084
65085         * gnulib-tool (func_import): Show the include files only for those
65086         modules that are copied and specified.
65087         Reported by Karl Berry.
65088
65089 2006-12-08  Jim Meyering  <jim@meyering.net>
65090
65091         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65092         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65093
65094         * build-aux/announce-gen: Add two new options, both optional:
65095         --bootstrap-tools=TOOL_LIST
65096               a comma-separated list of tools, e.g.,
65097               autoconf,automake,bison,gnulib
65098         --gnulib-snapshot-date=DATE
65099               if gnulib is in the bootstrap tool list,
65100               then report this as the snapshot date.
65101               If not specified, use the current date/time.
65102               If you specify a date here, be sure it's UTC.
65103
65104 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65105
65106         * tests/test-argp-2.sh: Fix test to match actual output.
65107         (func_compare): Fix sed script to be portable.
65108
65109 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65110
65111         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65112         workaround for this case.  It is not autoconfigured now; offhand
65113         it's hard to see how to autoconfigure it.
65114
65115 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65116
65117         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65118         a directory that is about to be chowned.  Such a directory's
65119         initial file permissions should permit the owner only and this
65120         should not be changed until after the chown, since the group and
65121         other bits would be incorrect if they granted permission before
65122         the chown.
65123
65124         Fix porting problem for iswctype reported by Georg Schwarz in:
65125         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65126         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65127         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65128         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65129         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65130
65131 2006-12-03  Jim Meyering  <jim@meyering.net>
65132
65133         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65134         p->fts_statp may not yet be defined.
65135         (fts_read): Instead, set it in the caller, once p->fts_statp is
65136         sure to be defined, and corresponds to a top-level directory.
65137         This bug made du -x fail.  Here's the coreutils test case:
65138         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65139         Reported by Mike Frysinger.
65140
65141 2006-12-01  Jim Meyering  <jim@meyering.net>
65142
65143         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65144         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65145         Reported by Simon Josefsson.
65146
65147 2006-11-30  Jim Meyering  <jim@meyering.net>
65148
65149         * m4/warning.m4: Use the all-permissive copyright notice
65150         recommended by RMS (rather than LGPL).
65151         * m4/vararrays.m4: Likewise.
65152         * m4/flexmember.m4: Likewise.
65153
65154 2006-11-29  Bruno Haible  <bruno@clisp.org>
65155
65156         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65157         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65158         using +=.
65159         Reported by Simon Josefsson <simon@josefsson.org>.
65160
65161 2006-11-28  James Youngman <jay@gnu.org>
65162
65163         * README: Advise users that they might find the bug-gnulib@gnu.org
65164         and autotools-announce@gnu.org mailing lists useful.
65165
65166 2006-11-28  Bruno Haible  <bruno@clisp.org>
65167
65168         * m4/ptrdiff_max.m4: Remove file.
65169
65170 2006-11-21  Bruno Haible  <bruno@clisp.org>
65171
65172         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65173         _AC_COMPUTE_INT.
65174         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65175         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65176         _AC_COMPUTE_INT.
65177         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65178         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65179         _AC_COMPUTE_INT.
65180         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65181
65182 2006-11-28  Jim Meyering  <jim@meyering.net>
65183
65184         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65185         warning from "gcc -Wshadow" about shadowing the builtin.
65186
65187 2006-11-27  Bruno Haible  <bruno@clisp.org>
65188
65189         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65190         _AC_COMPUTE_INT.
65191         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65192
65193 2006-11-27  Bruno Haible  <bruno@clisp.org>
65194             Paul Eggert  <eggert@cs.ucla.edu>
65195
65196         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65197
65198 2006-11-26  Bruno Haible  <bruno@clisp.org>
65199
65200         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65201         noinst_LTLIBRARIES.
65202
65203 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65204             Bruno Haible  <bruno@clisp.org>
65205
65206         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65207         if compiling with "gcc -ansi".
65208
65209 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65210
65211         Fix some incompatibilities with gcc -ansi -pedantic.
65212         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65213         if compiling pedantically with GCC, unless it's C99 or later.
65214         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65215         it mishandles gcc -ansi -pedantic as well.
65216         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65217         if gcc -pedantic.
65218         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65219         initializers for struct if -pedantic, unless it's C99 or later.
65220
65221 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65222
65223         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65224         Don't close an fd more than once. Identical atimes indicate
65225         success, not failure.
65226
65227 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65228
65229         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65230
65231 2006-11-23  Jim Meyering  <jim@meyering.net>
65232
65233         * build-aux/announce-gen: New file.  From coreutils.
65234
65235 2006-11-22  Jim Meyering  <jim@meyering.net>
65236
65237         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65238         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65239         (fts_read): Use a temporary to narrow the overused st_size member
65240         before using it in a switch statement.  Reported by Matthew Woehlke.
65241
65242         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65243         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65244
65245 2006-11-20  Bruno Haible  <bruno@clisp.org>
65246
65247         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65248         changequote instead of pairs of brackets.
65249         Reported by Andreas Schwab <schwab@suse.de>.
65250
65251 2006-11-21  Jim Meyering  <jim@meyering.net>
65252
65253         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65254         so as to remain compatible with older compilers.
65255         Patch from Michael Deutschmann.
65256
65257 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65258
65259         * MODULES.html.sh (File system functions): Add openat.
65260
65261         * lib/openat.h (rpl_fstatat): New macro, if
65262         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65263         (fstatat): Define to rpl_fstatat under the same conditions,
65264         unless COMPILING_FSTATAT.
65265         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65266         seems to have the bug.
65267         * lib/fstatat.c: New file.
65268         * modules/openat (Files): Add it.
65269
65270 2006-11-20  Bruno Haible  <bruno@clisp.org>
65271
65272         * Makefile: New file.
65273
65274 2006-11-20  Jim Meyering  <jim@meyering.net>
65275
65276         The beginnings of syntax-related checks for gnulib.
65277         * lib/Makefile: New file.
65278         * lib/t-idcache: New script.  Ensure that the two halves of
65279         idcache.c stay in sync.
65280
65281         * lib/idcache.c: Adjust comments in user- and group- portions to
65282         be more accurate, and to be consistent with one another.
65283
65284 2006-11-20  Jim Meyering  <jim@meyering.net>
65285
65286         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65287         continue using the flexible array member (thus, this module performs
65288         half as many malloc calls), with the addition that...
65289         (getgroup, getuser): Consistently record a non-match via an empty
65290         "name" string, and map an empty string match to a NULL return value.
65291         * modules/idcache (Depends-on): Re-add flexmember.
65292
65293         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65294         (getuidbyname, getgroup, getgidbyname): Likewise.
65295
65296         Use cleaner syntax: NULL rather than 0.
65297         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65298
65299 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65300
65301         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65302         It mishandled the case where the group was missing.
65303         Problem reported by Greg Schafer.
65304         * modules/idcache: Likewise.
65305
65306 2006-11-18  Jim Meyering  <jim@meyering.net>
65307
65308         * check-module (%exempt_header): Add exception for some
65309         conditionally-included headers.
65310
65311         * modules/i-ring (Depends-on): Add verify.
65312         (License): Change to LGPL.
65313
65314 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65315
65316         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65317         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65318         and inttostr.h.  Use snprintf rather than uinttostr, so that
65319         LGPLed code doesn't depend on GPLed.
65320
65321 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65322
65323         * modules/inline (License): Change from GPL to LGPL.
65324
65325 2006-11-17  Jim Meyering  <jim@meyering.net>
65326
65327         * modules/d-type (License): Switch to LGPL.
65328
65329 2006-11-15  Bruno Haible  <bruno@clisp.org>
65330
65331         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65332
65333 2006-11-15  Eric Blake  <ebb9@byu.net>
65334
65335         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65336         the module dependency.
65337
65338 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65339             Bruno Haible  <bruno@clisp.org>
65340
65341         * gnulib-tool (func_create_testdir): Add license consistency check.
65342
65343 2006-11-15  Eric Blake  <ebb9@byu.net>
65344
65345         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65346         random "(cached)" in configure output.
65347
65348 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65349
65350         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65351         test for conforming inttypes.h is both announced and cached.
65352
65353         * MODULES.html.sh (seen_modules, seen_files): New variables.
65354         (func_module): Rewrite to use a few less gnulib-tool and sed
65355         invocations.  Avoid a couple of quadratic algorithms for ...
65356         (missed_modules, missed_files): ... these, with ...
65357         (func_append, func_tmpdir): ... these new functions, from
65358         gnulib-tool.  Analogously, install traps for cleanup.
65359
65360         * tests/test-gc.c (main): Remove unused variables.
65361         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65362
65363 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65364
65365         * modules/inttostr (License): Change to LGPL.
65366
65367 2006-11-14  Eric Blake  <ebb9@byu.net>
65368
65369         * modules/tempname (License): Change to LGPL.
65370
65371 2006-11-14  Eric Blake  <ebb9@byu.net>
65372
65373         * doc/functions.texi (Function Portability): *printf functions on
65374         Cygwin now understand all POSIX size specifiers.
65375
65376 2006-11-14  Bruno Haible  <bruno@clisp.org>
65377
65378         * modules/c-ctype (License): Change to LGPL.
65379
65380 2006-11-12  Bruno Haible  <bruno@clisp.org>
65381
65382         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65383         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65384         for GNOME libraries, for which the include files are installed in
65385         subdirectories of $prefix/include.
65386
65387 2006-11-12  Bruno Haible  <bruno@clisp.org>
65388
65389         * m4/lib-link.m4: Require at least autoconf-2.54.
65390         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65391         name to underscores for the --with option.
65392
65393 2006-11-13  Bruno Haible  <bruno@clisp.org>
65394
65395         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65396         the tests directory.
65397         Reported by Ralf Wildenhues.
65398
65399 2006-11-13  Bruno Haible  <bruno@clisp.org>
65400
65401         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65402         (func_emit_initmacro_end): Undo the override here.
65403         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65404         Works around the famous automake error in coreutils.
65405
65406 2006-11-13  Eric Blake  <ebb9@byu.net>
65407
65408         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65409         element, not its node.
65410
65411 2006-11-12  Bruno Haible  <bruno@clisp.org>
65412
65413         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65414         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65415
65416 2006-11-12  Bruno Haible  <bruno@clisp.org>
65417
65418         * gnulib-tool: New option --local-symlink.
65419         (func_usage): Document it.
65420         (lsymbolic): New variable.
65421         (func_import, func_create_testdir): If --symlink was not specified,
65422         test whether --local-symlink was specified and the file comes from
65423         the local_gnulib_dir.
65424
65425 2006-11-12  Bruno Haible  <bruno@clisp.org>
65426
65427         * gnulib-tool (func_ln): New function.
65428         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65429
65430 2006-11-12  Bruno Haible  <bruno@clisp.org>
65431
65432         Finish support for source files in subdirectories.
65433         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65434         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65435         AUTOMAKE_OPTIONS.
65436         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65437
65438 2006-11-12  Bruno Haible  <bruno@clisp.org>
65439
65440         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65441         EXTRA_lib_SOURCES augmentation.
65442         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65443
65444 2006-11-12  Jim Meyering  <jim@meyering.net>
65445
65446         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65447         file descriptors.  This also averts a failure on systems with
65448         native openat support when a traversed directory lacks "x" access.
65449         * lib/fts_.h: Include "i-ring.h"
65450         (struct FTS) [fts_fd_ring]: New member.
65451         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65452         (FCHDIR): Add parentheses.
65453         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65454         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65455         When descending, rather than simply closing the previous
65456         fts_cwd_fd value, push that file descriptor onto the ring.
65457         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65458         (fts_open): Initialize the new fd_ring member.
65459         (fts_close): Clear the ring.
65460         (fts_safe_changedir): When possible, use our new fd_ring to skip
65461         the diropen and fstat and dev/ino comparison that would normally
65462         accompany a virtual `chdir ("..")'.
65463
65464         * modules/fts (Depends-on): Add i-ring.
65465         * modules/i-ring: New module.
65466         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65467         * m4/i-ring.m4: New file.
65468
65469 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65470
65471         * gnulib-tool (func_create_testdir): Fix replacement of
65472         `build-aux' in configure.ac.  Run autotools in gltests
65473         subdirectory.
65474         (func_create_testdir, func_create_megatestdir, test): There is
65475         no need for '--force' in most autotool invocations in a new
65476         tree.  Actually fail the whole test if any of the tools, or the
65477         configure or make stages fail.
65478
65479         Sync from Automake.
65480         * build-aux/gnupload: Revert last change.  Add pointer to upload
65481         instructions of the GNU Maintenance Instructions.
65482         Suggestion by Karl Berry.
65483
65484 2006-11-10  Jim Meyering  <jim@meyering.net>
65485
65486         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65487
65488 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65489
65490         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65491         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65492         (bind_textdomain_codeset) [! ENABLE_NLS]:
65493         Evaluate all the arguments.  That way, callers get compatible behavior
65494         if the arguments have side effects.  Also, it avoids some GCC
65495         diagnostics in some cases; Joel E. Denny reported problems when Bison
65496         was configured with --enable-gcc-warnigs.
65497
65498 2006-11-10  Jim Meyering  <jim@meyering.net>
65499
65500         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65501         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65502         account.
65503
65504 2006-11-10  Jim Meyering  <jim@meyering.net>
65505
65506         * modules/inline: New file/module.
65507         * modules/xalloc (Files): Remove m4/inline.m4.
65508         (Depends-on): Add inline, instead.
65509         * modules/oset: Likewise.
65510         * modules/list: Likewise.
65511
65512 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65513
65514         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65515         Problem reported by Matthew Woehlke.
65516
65517 2006-11-09  Bruno Haible  <bruno@clisp.org>
65518
65519         * lib/tempname.c (gen_tempname): Remove variant that invokes
65520         __gen_tempname.
65521         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65522         __gen_tempname.
65523
65524 2006-11-08  Bruno Haible  <bruno@clisp.org>
65525
65526         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65527         to 'yes' instead of 'cross-compiling'.
65528
65529 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65530
65531         * lib/quotearg.h (quotearg_free): New decl.
65532         * lib/quotearg.c (quotearg_free): New function.
65533         (slot0, nslots, slotvec0, slotvec):
65534         Now file-scope so that quotearg_free can get at them.
65535
65536 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65537
65538         Sync from Automake.
65539         * build-aux/gnupload: Add missing 'gnu' to example URL.
65540         Report by Karl Berry.
65541
65542 2006-11-08  Bruno Haible  <bruno@clisp.org>
65543
65544         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65545         Suggested by Paul Eggert.
65546
65547 2006-11-08  Jim Meyering  <jim@meyering.net>
65548
65549         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65550         It's already included if !_LIBC.
65551         (fts_safe_changedir): Add a comment.
65552
65553 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65554
65555         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65556         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65557         Matthew Woehlke.
65558
65559         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65560         definitions up, to avoid colliding with change below.
65561         (static_inline) [HAVE_INLINE]: New macro.
65562         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65563         Provide extern decls when !HAVE_INLINE.  Do not define unless
65564         static_inline is defined, either by us or by xmalloc.c.  Use
65565         static_inline rather than static inline.
65566         (XCALLOC): Optimize sizeof(T) = 1 case.
65567         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65568
65569 2006-11-07  Bruno Haible  <bruno@clisp.org>
65570
65571         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65572         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65573         AC_C_INLINE.
65574         * modules/xalloc (Files): Add m4/inline.m4.
65575
65576 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65577
65578         * README: Fix typo.
65579         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65580         (Miscellanous Notes): ...from this.
65581
65582 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65583
65584         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65585         Mention that offsetof should be used instead of sizeof.
65586         From Bruno Haible.
65587
65588 2006-11-07  Bruno Haible  <bruno@clisp.org>
65589
65590         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65591
65592 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65593
65594         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65595         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65596         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65597         (gl_tree_add_before, gl_tree_add_after):
65598         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65599         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65600         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65601         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65602         (gl_linked_add_after, gl_linked_add_at): Likewise.
65603         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65604         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65605         (gl_tree_add_before, gl_tree_add_after): Likewise.
65606         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65607         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65608         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65609
65610 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65611
65612         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65613
65614 2006-11-06  Bruno Haible  <bruno@clisp.org>
65615
65616         * m4/inline.m4: New file.
65617         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65618         * modules/list (Files): Add m4/inline.m4.
65619         * modules/oset (Files): Likewise.
65620
65621 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65622
65623         * lib/idcache.c: Include <stddef.h>, for offsetof.
65624         (struct userid.name): Change from char * to a flexible array member.
65625         All uses changed.
65626         * modules/idcache (Depends-on): Add flexmember.
65627
65628         * MODULES.html.sh (Core language properties): New module flexmember.
65629         * modules/flexmember, m4/flexmember.m4: New files.
65630
65631         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65632         inline functions that are identical with the old xnmalloc_inline,
65633         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65634         that we can avoid some unnecessary integer multiplications and
65635         divisions in the common case where the element size is known at
65636         compile time.
65637         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65638         needed.
65639         (xnboundedmalloc): Remove.
65640         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65641         arguments, for consistency with rest of this header.
65642         (xcharalloc): Rewrite using XNMALLOC.
65643         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65644         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65645         versions have been moved to lib/xalloc.h and renamed to be the
65646         non-*_inline versions.
65647         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65648         and xnrealloc functions, since those functions are now inline and
65649         now call us.
65650         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65651         renaming described above.
65652         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65653         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65654         captures the dependency in AC_C_INLINE.
65655
65656         New module canonicalize-lgpl, proposed by Charles Wilson in
65657         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65658         with a few small changes afterwards.
65659         * MODULES.html.sh (File system functions): New module
65660         canonicalize-lgpl.
65661         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65662         and canonicalize_file_name.
65663         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65664         * modules/canonicalize-lgpl: New files.
65665
65666 2006-11-05  Bruno Haible  <bruno@clisp.org>
65667
65668         * gnulib-tool (func_import, func_create_testdir): Create directories
65669         also for files in subdirectories of lib/.
65670
65671 2006-11-05  Bruno Haible  <bruno@clisp.org>
65672
65673         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65674         ANSI C compliant.
65675
65676 2006-11-03  Bruno Haible  <bruno@clisp.org>
65677
65678         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65679         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65680         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65681         (xnboundedmalloc): New inline function.
65682         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65683         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65684         xmalloc.
65685         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65686         xmalloc.
65687         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65688         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65689         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65690         xmalloc.
65691         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65692         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65693         xmalloc.
65694         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65695         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65696         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65697         xmalloc.
65698         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65699         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65700         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65701         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65702         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65703         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65704         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65705
65706 2006-11-03  Bruno Haible  <bruno@clisp.org>
65707
65708         * lib/c-ctype.h [C++]: Define functions without name mangling.
65709         * lib/fwriteerror.h [C++]: Likewise.
65710         * lib/gcd.h [C++]: Likewise.
65711         * lib/linebreak.h [C++]: Likewise.
65712
65713 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65714
65715         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65716         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65717         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65718         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65719         Check for functions and headers just once.
65720         Check for declaration of canonicalize_file_name.
65721         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65722
65723 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65724
65725         * gnulib-tool (func_import): Fix typo in actioncmd.
65726
65727 2006-11-02  Bruno Haible  <bruno@clisp.org>
65728
65729         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65730         newline sequence in the Makefile.am snippet as a space, like "make"
65731         does.
65732         Reported by Roger Persson <perrog@gmail.com>.
65733
65734 2006-11-01  Bruno Haible  <bruno@clisp.org>
65735
65736         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65737         already declared in <string.h>.
65738         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65739
65740 2006-11-01  Bruno Haible  <bruno@clisp.org>
65741
65742         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65743         * lib/strcase.h: Include <string.h>.
65744         (strcasecmp): Define to rpl_strcasecmp here.
65745
65746 2006-11-01  Bruno Haible  <bruno@clisp.org>
65747
65748         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65749
65750 2006-11-01  Eric Blake  <ebb9@byu.net>
65751
65752         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65753
65754         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65755
65756 2006-10-29  Bruno Haible  <bruno@clisp.org>
65757
65758         Make it compile in C++ mode.
65759         * lib/full-write.c (full_rw): Add a cast.
65760
65761 2006-11-01  Bruno Haible  <bruno@clisp.org>
65762
65763         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65764         be POSIX compliant.
65765         Reported by Roger Persson <perrog@gmail.com>.
65766
65767 2006-11-01  Eric Blake  <ebb9@byu.net>
65768
65769         * lib/getopt_.h: Fix comments.
65770
65771 2006-10-31  Eric Blake  <ebb9@byu.net>
65772
65773         * modules/tmpdir (Depends-on): Add sys_stat.
65774         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65775         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65776         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65777         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65778         tempname.
65779
65780 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65781
65782         Avoid some C++ diagnostics reported by Bruno Haible.
65783         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65784         xmalloc.
65785         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65786         (struct slotvec): Move to top level.
65787         (quotearg_n_options): Rewrite to avoid xmalloc.
65788         * lib/xalloc.h (xcharalloc): New function.
65789         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65790         [defined __cplusplus]: Add function template that provides result
65791         type propagation.  This part of the change is from Bruno Haible.
65792
65793 2006-10-29  Bruno Haible  <bruno@clisp.org>
65794
65795         Make it compile in C++ mode.
65796         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65797         * lib/strnlen1.c (strnlen1): Cast memchr result.
65798         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65799         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65800         (create_temp_dir): Rename local variable 'template'.
65801         (compile_csharp_using_sscli): Add cast.
65802         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65803         * lib/findprog.c (find_in_path): Likewise.
65804         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65805         * lib/wait-process.c (register_slave_subprocess): Likewise.
65806
65807 2006-10-22  Bruno Haible  <bruno@clisp.org>
65808
65809         * modules/tsearch: New file.
65810         * lib/tsearch.h: New file.
65811         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65812         * m4/tsearch.m4: New file.
65813         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65814
65815 2006-10-29  Eric Blake  <ebb9@byu.net>
65816
65817         * lib/arcfour.c: Assume config.h.
65818         * lib/arctwo.c: Likewise.
65819         * lib/base64.c: Likewise.
65820         * lib/check-version.c: Likewise.
65821         * lib/crc.c: Likewise.
65822         * lib/des.c: Likewise.
65823         * lib/gc-gnulib.c: Likewise.
65824         * lib/gc-libgcrypt.c: Likewise.
65825         * lib/gc-pbkdf2-sha1.c: Likewise.
65826         * lib/getaddrinfo.c: Likewise.
65827         * lib/getdelim.c: Likewise.
65828         * lib/getline.c: Likewise.
65829         * lib/hmac-md5.c: Likewise.
65830         * lib/hmac-sha1.c: Likewise.
65831         * lib/iconvme.c: Likewise.
65832         * lib/md2.c: Likewise.
65833         * lib/md4.c: Likewise.
65834         * lib/memxor.c: Likewise.
65835         * lib/read-file.c: Likewise.
65836         * lib/readline.c: Likewise.
65837         * lib/rijndael-alg-fst.c: Likewise.
65838         * lib/rijndael-api-fst.c: Likewise.
65839         * lib/xgetdomainname.c: Likewise.
65840
65841 2006-10-28  Eric Blake  <ebb9@byu.net>
65842
65843         * lib/xstrndup.c: Assume config.h.
65844
65845 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65846
65847         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65848         stat-macros.h is now for our own macros, whereas stat_h is for
65849         macros in the <sys/stat.h> name space.
65850         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65851         (STAT_MACROS_H): Remove.
65852         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65853         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65854         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65855         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65856         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65857         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65858         Move these macros to ...
65859         * lib/stat_.h: here.  Don't include stat-macros.h.
65860         * lib/canonicalize.c: Don't include stat-macros.h.
65861         * lib/chown.c: Likewise.
65862         * lib/euidaccess.c: Likewise.
65863         * lib/file-type.c: Likewise.
65864         * lib/filemode.c: Likewise.
65865         * lib/glob.c: Likewise.
65866         * lib/isapipe.c: Likewise.
65867         * lib/lchown.c: Likewise.
65868         * lib/lstat.c: Likewise.
65869         * lib/mkdir-p.c: Likewise.
65870         * lib/rmdir.c: Likewise.
65871         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65872         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65873         unless mkdir isn't declared, to speed up 'configure'.
65874         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65875         would define all the S_* symbols.
65876         * modules/canonicalize (Depends-on):
65877         Depend on sys_stat, not stat-macros.
65878         * modules/chown: Likewise.
65879         * modules/euidaccess: Likewise.
65880         * modules/filemode: Likewise.
65881         * modules/file-type: Likewise.
65882         * modules/glob: Likewise.
65883         * modules/isapipe: Likewise.
65884         * modules/lchown: Likewise.
65885         * modules/lstat: Likewise.
65886         * modules/mkancesdirs: Likewise.
65887         * modules/rmdir: Likewise.
65888         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65889         * modules/modechange: Likewise.
65890         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65891         (configure.ac): Remove gl_STAT_MACROS.
65892         * modules/sys_stat (Depends-on): Remove stat-macros.
65893
65894 2006-10-27  Bruno Haible  <bruno@clisp.org>
65895
65896         * m4/signed.m4: Remove file.
65897         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65898         invocation.
65899         * modules/vasnprintf (Files): Remove m4/signed.m4.
65900
65901 2006-10-27  Bruno Haible  <bruno@clisp.org>
65902
65903         Update to GNU gettext 0.16.
65904         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65905         m4/inttypes-h.m4, m4/signed.m4.
65906         * m4/gettext.m4: Update to GNU gettext 0.16.
65907         * m4/intl.m4: New file, from GNU gettext.
65908         * m4/intldir.m4: New file, from GNU gettext.
65909         * config/srclist.txt: Update
65910
65911 2006-10-27  Eric Blake  <ebb9@byu.net>
65912
65913         * MODULES.html.sh: Document tempname.
65914         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65915         dependencies.
65916         (Files): Move lib/tempname.c...
65917         * modules/tempname: ...to this new module.
65918         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65919         (gl_PREREQ_TEMPNAME): Move...
65920         * m4/tempname.m4: ...to this new file.
65921         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65922         * modules/sys_stat (Depends-on): Add stat-macros.
65923         * lib/stat_.h (includes): Pick up stat macros.
65924         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65925         if stat macros are broken.
65926         * lib/tempname.c (includes): No need to include "stat-macros.h".
65927         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
65928         (direxists, __path_search) [!_LIBC]: Don't compile these in
65929         gnulib; the tmpdir module covers that.
65930         * lib/tempname.h: New file.
65931
65932 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
65933
65934         * COPYING: Explain how gnulib-tool converts licence headers.
65935         Almost all wording by Eric Blake.
65936
65937 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
65938
65939         * lib/mbchar.h (is_basic_table): Make read-only.
65940         * lib/mbchar.c (is_basic_table): Likewise.
65941         Reported by John Darrington.
65942
65943 2006-10-25  Bruno Haible  <bruno@clisp.org>
65944
65945         * lib/progname.h (set_program_name): Undefine before defining.
65946
65947 2006-10-25  Bruno Haible  <bruno@clisp.org>
65948
65949         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
65950         false for non-gcc C++ compilers.
65951         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
65952
65953 2006-10-24  Bruno Haible  <bruno@clisp.org>
65954
65955         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
65956         iconv implementations like Irix iconv.
65957
65958 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65959
65960         * modules/vararrays: New file.
65961         * m4/vararrays.m4: New file, taken from diffutils.
65962         * MODULES.html.sh: New module vararrays.
65963
65964 2006-10-24  Karl Berry  <karl@gnu.org>
65965
65966         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
65967         Don't call GNU Unix.
65968
65969 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65970
65971         * users.txt: Add Libtool.
65972
65973         Sync from Libtool:
65974
65975         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65976
65977         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
65978         to gnulib's policy of including config.h unconditionally.
65979
65980 2006-10-24  Bruno Haible  <bruno@clisp.org>
65981
65982         * modules/wcwidth (Files): Add m4/wint_t.m4.
65983         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
65984         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
65985
65986 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65987
65988         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
65989         to pacify GCC with some -W flags enabled.  Problem reported by
65990         Bruno Haible.
65991
65992 2006-10-24  Jim Meyering  <jim@meyering.net>
65993
65994         * MODULES.html.sh: Remove uinttostr.  It's not a module.
65995         Reported by Karl Berry.
65996
65997 2006-10-23  Bruno Haible  <bruno@clisp.org>
65998
65999         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66000
66001 2006-10-24  Bruno Haible  <bruno@clisp.org>
66002
66003         * lib/gl_list.h: Use C comment style, not C++ comment style.
66004
66005 2006-10-23  Eric Blake  <ebb9@byu.net>
66006
66007         * lib/getaddrinfo.c (includes): Add missing include.
66008
66009 2006-10-23  Bruno Haible  <bruno@clisp.org>
66010             Paul Eggert  <eggert@cs.ucla.edu>
66011
66012         Ability to rename obstack_free.
66013         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66014         obstack_free.
66015         (obstack_free): Invoke the __obstack_free macro.
66016         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66017
66018 2006-10-23  Bruno Haible  <bruno@clisp.org>
66019             Paul Eggert  <eggert@cs.ucla.edu>
66020
66021         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66022         __argc, __argv from the declaration. (They are defined as macros on
66023         mingw.)
66024
66025 2006-10-22  Bruno Haible  <bruno@clisp.org>
66026
66027         * doc/gnulib-intro.texi: New file.
66028         * doc/gnulib.texi: Include it.
66029
66030 2006-10-21  Bruno Haible  <bruno@clisp.org>
66031
66032         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66033         "Introduction", "Miscellanous Notes", "Particular Modules".
66034
66035 2006-10-21  Bruno Haible  <bruno@clisp.org>
66036
66037         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66038         Change mostlyclean-local rule to avoid sh syntax error from bash
66039         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66040
66041 2006-10-23  Jim Meyering  <jim@meyering.net>
66042
66043         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66044         in place of snprintf.
66045
66046         * modules/inttostr (Files): Add lib/uinttostr.c.
66047         * lib/uinttostr.c (inttostr): New file/function.
66048         * lib/inttostr.h (uinttostr): Declare.
66049         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66050         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66051         Add uinttostr.
66052         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66053
66054 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66055
66056         * lib/canonicalize.c (ELOOP): Define if not already defined.
66057         Problem reported by Bruno Haible in
66058         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66059
66060 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66061
66062         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66063         Problem reported by Perry Smith and Ville Laurikari.
66064
66065         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66066         uses.
66067
66068 2006-10-19  Bruno Haible  <bruno@clisp.org>
66069
66070         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66071         for mingw.
66072
66073 2006-10-19  Bruno Haible  <bruno@clisp.org>
66074
66075         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66076         Needed for mingw.
66077
66078 2006-10-19  Bruno Haible  <bruno@clisp.org>
66079
66080         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66081
66082 2006-10-19  Bruno Haible  <bruno@clisp.org>
66083
66084         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66085         it.
66086
66087 2006-10-19  Bruno Haible  <bruno@clisp.org>
66088
66089         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66090         invocation.
66091
66092 2006-10-19  Bruno Haible  <bruno@clisp.org>
66093
66094         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66095         mountlist by default.
66096
66097 2006-10-16  Bruno Haible  <bruno@clisp.org>
66098
66099         * lib/c-strstr.c: Include c-strstr.h.
66100
66101 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66102
66103         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66104         in a slash.
66105
66106 2006-10-18  Bruno Haible  <bruno@clisp.org>
66107
66108         * lib/lock.h [C++]: Wrap definitions in extern "C".
66109
66110 2006-10-18  Bruno Haible  <bruno@clisp.org>
66111
66112         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66113         gl_LIBOBJS list.
66114
66115 2006-10-18  Bruno Haible  <bruno@clisp.org>
66116
66117         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66118
66119 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66120
66121         * lib/xstrtol.h: Include gettext.h.
66122         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66123         Problem reported by Eric Blake.
66124         * modules/xstrtol (Depends-on): Add gettext-h.
66125
66126 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66127
66128         * lib/strftime.c (advance): New macro.
66129         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66130         incomplete type, so you can't add 0 to it.  Problem and patch
66131         reported by Eelco Dolstra for dietlibc.
66132
66133 2006-10-18  Jim Meyering  <jim@meyering.net>
66134
66135         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66136         type for a local, and rename it: s/up/user_proc/.
66137
66138 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66139
66140         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66141         READ_UTMP_USER_PROCESS.
66142         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66143
66144 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66145
66146         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66147         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66148
66149 2006-10-17  Eric Blake  <ebb9@byu.net>
66150
66151         * lib/sigprocmask.c (sigprocmask): Fix typo.
66152
66153         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66154
66155         * modules/clean-temp (Makefile.am): Don't add to make output...
66156         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66157         config.h.
66158
66159 2006-10-17  Bruno Haible  <bruno@clisp.org>
66160
66161         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66162         differently if DEFAULT_TEXT_DOMAIN is set.
66163
66164 2006-10-16  Bruno Haible  <bruno@clisp.org>
66165
66166         * lib/clean-temp.c: Include fwriteerror.h.
66167
66168 2006-10-16  Bruno Haible  <bruno@clisp.org>
66169
66170         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66171
66172 2006-10-16  Bruno Haible  <bruno@clisp.org>
66173
66174         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66175         * lib/sigprocmask.h: Include <sys/types.h>.
66176         (sigset_t): Use the system's definition if present.
66177
66178 2006-10-17  Eric Blake  <ebb9@byu.net>
66179
66180         * lib/xvasprintf.c (includes): Assume config.h.
66181         * lib/xasprintf.c (includes): Likewise.
66182
66183 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66184
66185         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66186         at least as wide as intmax_t.
66187
66188 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66189
66190         (Imported from Automake.)
66191         * build-aux/gnupload: Update to version 1.1 of directive file.
66192
66193 2006-10-16  Eric Blake  <ebb9@byu.net>
66194
66195         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66196         match Automake 1.10a.
66197
66198 2006-10-14  Bruno Haible  <bruno@clisp.org>
66199
66200         * modules/sigprocmask: New file.
66201         * lib/sigprocmask.h: New file.
66202         * lib/sigprocmask.c: New file.
66203         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66204         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66205         request sigprocmask.o.
66206         (gl_PREREQ_SIGPROCMASK): New macro.
66207         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66208         (Depends-on): Add sigprocmask.
66209         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66210         gt_SIGNALBLOCKING. Test for 'raise' only once.
66211         * lib/fatal-signal.c: Include sigprocmask.h.
66212         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66213         unblock_fatal_signals): Define always.
66214         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66215         sigprocmask.
66216
66217 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66218
66219         Sync from Automake.
66220         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66221         which incorrectly sets the mode of an existing destination
66222         directory.  In some cases the unpatched install-sh could do the
66223         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66224         system.  We hope this is rare in practice, but it's clearly worth
66225         fixing.  Problem reported by Alex Unleashed in
66226         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66227         Also, don't bother to check for -m bugs unless we're using -m;
66228         suggested by Stepan Kasal.
66229
66230 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66231
66232         Sync from Automake.
66233         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66234         `-c' flag, so they appear at the same position as in %FASTDEP%
66235         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66236         which ignores unknown options only after the first non-option.
66237         Bug report against M4 by Nelson H. F. Beebe.
66238
66239 2006-10-13  Jim Meyering  <jim@meyering.net>
66240
66241         Fix a bug in yesterday's change.
66242         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66243         p->fts_statp->st_dev would be used uninitialized.
66244         Ensures that we always call fts_stat on the very first entry.
66245         Miklos Szeredi reported that find -xdev stopped working.
66246
66247 2006-10-12  Bruno Haible  <bruno@clisp.org>
66248
66249         * gnulib-tool (func_get_automake_snippet): Append an automatically
66250         computed EXTRA_DIST augmentation.
66251         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66252         * modules/alloca-opt (Makefile.am): Likewise.
66253         * modules/allocsa (Makefile.am): Likewise.
66254         * modules/arcfour (Makefile.am): Likewise.
66255         * modules/arctwo (Makefile.am): Likewise.
66256         * modules/argmatch (Makefile.am): Likewise.
66257         * modules/argz (Makefile.am): Likewise.
66258         * modules/atexit (Makefile.am): Likewise.
66259         * modules/backupfile (Makefile.am): Likewise.
66260         * modules/byteswap (Makefile.am): Likewise.
66261         * modules/c-strtod (Makefile.am): Likewise.
66262         * modules/c-strtold (Makefile.am): Likewise.
66263         * modules/calloc (Makefile.am): Likewise.
66264         * modules/canon-host (Makefile.am): Likewise.
66265         * modules/canonicalize (Makefile.am): Likewise.
66266         * modules/chdir-long (Makefile.am): Likewise.
66267         * modules/chdir-safer (Makefile.am): Likewise.
66268         * modules/check-version (Makefile.am): Likewise.
66269         * modules/chown (Makefile.am): Likewise.
66270         * modules/cloexec (Makefile.am): Likewise.
66271         * modules/close-stream (Makefile.am): Likewise.
66272         * modules/closeout (Makefile.am): Likewise.
66273         * modules/crc (Makefile.am): Likewise.
66274         * modules/csharpexec (Makefile.am): Likewise.
66275         * modules/cycle-check (Makefile.am): Likewise.
66276         * modules/des (Makefile.am): Likewise.
66277         * modules/dev-ino (Makefile.am): Likewise.
66278         * modules/dirfd (Makefile.am): Likewise.
66279         * modules/dirname (Makefile.am): Likewise.
66280         * modules/dup2 (Makefile.am): Likewise.
66281         * modules/eealloc (Makefile.am): Likewise.
66282         * modules/error (Makefile.am): Likewise.
66283         * modules/euidaccess (Makefile.am): Likewise.
66284         * modules/exclude (Makefile.am): Likewise.
66285         * modules/exitfail (Makefile.am): Likewise.
66286         * modules/fcntl-safer (Makefile.am): Likewise.
66287         * modules/fcntl (Makefile.am): Likewise.
66288         * modules/file-type (Makefile.am): Likewise.
66289         * modules/fileblocks (Makefile.am): Likewise.
66290         * modules/filemode (Makefile.am): Likewise.
66291         * modules/filenamecat (Makefile.am): Likewise.
66292         * modules/fnmatch (Makefile.am): Likewise.
66293         * modules/fopen-safer (Makefile.am): Likewise.
66294         * modules/fpending (Makefile.am): Likewise.
66295         * modules/fprintftime (Makefile.am): Likewise.
66296         * modules/free (Makefile.am): Likewise.
66297         * modules/fsusage (Makefile.am): Likewise.
66298         * modules/ftruncate (Makefile.am): Likewise.
66299         * modules/fts (Makefile.am): Likewise.
66300         * modules/gc-arcfour (Makefile.am): Likewise.
66301         * modules/gc-des (Makefile.am): Likewise.
66302         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66303         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66304         * modules/gc-md4 (Makefile.am): Likewise.
66305         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66306         * modules/gc-sha1 (Makefile.am): Likewise.
66307         * modules/gc (Makefile.am): Likewise.
66308         * modules/getaddrinfo (Makefile.am): Likewise.
66309         * modules/getcwd (Makefile.am): Likewise.
66310         * modules/getdelim (Makefile.am): Likewise.
66311         * modules/getdomainname (Makefile.am): Likewise.
66312         * modules/getgroups (Makefile.am): Likewise.
66313         * modules/gethostname (Makefile.am): Likewise.
66314         * modules/gethrxtime (Makefile.am): Likewise.
66315         * modules/getline (Makefile.am): Likewise.
66316         * modules/getloadavg (Makefile.am): Likewise.
66317         * modules/getlogin_r (Makefile.am): Likewise.
66318         * modules/getndelim2 (Makefile.am): Likewise.
66319         * modules/getopt (Makefile.am): Likewise.
66320         * modules/getpagesize (Makefile.am): Likewise.
66321         * modules/getpass-gnu (Makefile.am): Likewise.
66322         * modules/getpass (Makefile.am): Likewise.
66323         * modules/getsubopt (Makefile.am): Likewise.
66324         * modules/gettime (Makefile.am): Likewise.
66325         * modules/gettimeofday (Makefile.am): Likewise.
66326         * modules/getugroups (Makefile.am): Likewise.
66327         * modules/getusershell (Makefile.am): Likewise.
66328         * modules/glob (Makefile.am): Likewise.
66329         * modules/group-member (Makefile.am): Likewise.
66330         * modules/hard-locale (Makefile.am): Likewise.
66331         * modules/hash (Makefile.am): Likewise.
66332         * modules/hmac-md5 (Makefile.am): Likewise.
66333         * modules/hmac-sha1 (Makefile.am): Likewise.
66334         * modules/human (Makefile.am): Likewise.
66335         * modules/idcache (Makefile.am): Likewise.
66336         * modules/imaxabs (Makefile.am): Likewise.
66337         * modules/imaxdiv (Makefile.am): Likewise.
66338         * modules/inet_ntop (Makefile.am): Likewise.
66339         * modules/inet_pton (Makefile.am): Likewise.
66340         * modules/intprops (Makefile.am): Likewise.
66341         * modules/inttostr (Makefile.am): Likewise.
66342         * modules/inttypes (Makefile.am): Likewise.
66343         * modules/isapipe (Makefile.am): Likewise.
66344         * modules/javaversion (Makefile.am): Likewise.
66345         * modules/lchmod (Makefile.am): Likewise.
66346         * modules/lchown (Makefile.am): Likewise.
66347         * modules/localcharset (Makefile.am): Likewise.
66348         * modules/long-options (Makefile.am): Likewise.
66349         * modules/lstat (Makefile.am): Likewise.
66350         * modules/malloc (Makefile.am): Likewise.
66351         * modules/mathl (Makefile.am): Likewise.
66352         * modules/mbchar (Makefile.am): Likewise.
66353         * modules/md2 (Makefile.am): Likewise.
66354         * modules/md4 (Makefile.am): Likewise.
66355         * modules/md5 (Makefile.am): Likewise.
66356         * modules/memcasecmp (Makefile.am): Likewise.
66357         * modules/memchr (Makefile.am): Likewise.
66358         * modules/memcmp (Makefile.am): Likewise.
66359         * modules/memcoll (Makefile.am): Likewise.
66360         * modules/memcpy (Makefile.am): Likewise.
66361         * modules/memmem (Makefile.am): Likewise.
66362         * modules/memmove (Makefile.am): Likewise.
66363         * modules/mempcpy (Makefile.am): Likewise.
66364         * modules/memrchr (Makefile.am): Likewise.
66365         * modules/memset (Makefile.am): Likewise.
66366         * modules/memxor (Makefile.am): Likewise.
66367         * modules/mkancesdirs (Makefile.am): Likewise.
66368         * modules/mkdir-p (Makefile.am): Likewise.
66369         * modules/mkdir (Makefile.am): Likewise.
66370         * modules/mkdtemp (Makefile.am): Likewise.
66371         * modules/mkstemp (Makefile.am): Likewise.
66372         * modules/mktime (Makefile.am): Likewise.
66373         * modules/modechange (Makefile.am): Likewise.
66374         * modules/mountlist (Makefile.am): Likewise.
66375         * modules/nanosleep (Makefile.am): Likewise.
66376         * modules/obstack (Makefile.am): Likewise.
66377         * modules/openat (Makefile.am): Likewise.
66378         * modules/pagealign_alloc (Makefile.am): Likewise.
66379         * modules/pathmax (Makefile.am): Likewise.
66380         * modules/physmem (Makefile.am): Likewise.
66381         * modules/poll (Makefile.am): Likewise.
66382         * modules/posixtm (Makefile.am): Likewise.
66383         * modules/posixver (Makefile.am): Likewise.
66384         * modules/putenv (Makefile.am): Likewise.
66385         * modules/quote (Makefile.am): Likewise.
66386         * modules/quotearg (Makefile.am): Likewise.
66387         * modules/raise (Makefile.am): Likewise.
66388         * modules/read-file (Makefile.am): Likewise.
66389         * modules/readline (Makefile.am): Likewise.
66390         * modules/readlink (Makefile.am): Likewise.
66391         * modules/readtokens (Makefile.am): Likewise.
66392         * modules/readutmp (Makefile.am): Likewise.
66393         * modules/realloc (Makefile.am): Likewise.
66394         * modules/regex (Makefile.am): Likewise.
66395         * modules/rename-dest-slash (Makefile.am): Likewise.
66396         * modules/rename (Makefile.am): Likewise.
66397         * modules/rijndael (Makefile.am): Likewise.
66398         * modules/rmdir (Makefile.am): Likewise.
66399         * modules/rpmatch (Makefile.am): Likewise.
66400         * modules/safe-read (Makefile.am): Likewise.
66401         * modules/safe-write (Makefile.am): Likewise.
66402         * modules/same-inode (Makefile.am): Likewise.
66403         * modules/same (Makefile.am): Likewise.
66404         * modules/save-cwd (Makefile.am): Likewise.
66405         * modules/savedir (Makefile.am): Likewise.
66406         * modules/setenv (Makefile.am): Likewise.
66407         * modules/settime (Makefile.am): Likewise.
66408         * modules/sha1 (Makefile.am): Likewise.
66409         * modules/sig2str (Makefile.am): Likewise.
66410         * modules/snprintf (Makefile.am): Likewise.
66411         * modules/stat-macros (Makefile.am): Likewise.
66412         * modules/stat-time (Makefile.am): Likewise.
66413         * modules/stdbool (Makefile.am): Likewise.
66414         * modules/stdint (Makefile.am): Likewise.
66415         * modules/stdlib-safer (Makefile.am): Likewise.
66416         * modules/stpcpy (Makefile.am): Likewise.
66417         * modules/stpncpy (Makefile.am): Likewise.
66418         * modules/strcase (Makefile.am): Likewise.
66419         * modules/strcasestr (Makefile.am): Likewise.
66420         * modules/strchrnul (Makefile.am): Likewise.
66421         * modules/strcspn (Makefile.am): Likewise.
66422         * modules/strdup (Makefile.am): Likewise.
66423         * modules/strerror (Makefile.am): Likewise.
66424         * modules/strftime (Makefile.am): Likewise.
66425         * modules/strndup (Makefile.am): Likewise.
66426         * modules/strnlen (Makefile.am): Likewise.
66427         * modules/strpbrk (Makefile.am): Likewise.
66428         * modules/strsep (Makefile.am): Likewise.
66429         * modules/strstr (Makefile.am): Likewise.
66430         * modules/strtod (Makefile.am): Likewise.
66431         * modules/strtoimax (Makefile.am): Likewise.
66432         * modules/strtok_r (Makefile.am): Likewise.
66433         * modules/strtol (Makefile.am): Likewise.
66434         * modules/strtoll (Makefile.am): Likewise.
66435         * modules/strtoul (Makefile.am): Likewise.
66436         * modules/strtoull (Makefile.am): Likewise.
66437         * modules/strtoumax (Makefile.am): Likewise.
66438         * modules/strverscmp (Makefile.am): Likewise.
66439         * modules/sys_socket (Makefile.am): Likewise.
66440         * modules/sys_stat (Makefile.am): Likewise.
66441         * modules/sysexits (Makefile.am): Likewise.
66442         * modules/time_r (Makefile.am): Likewise.
66443         * modules/timegm (Makefile.am): Likewise.
66444         * modules/timespec (Makefile.am): Likewise.
66445         * modules/tmpfile-safer (Makefile.am): Likewise.
66446         * modules/trim (Makefile.am): Likewise.
66447         * modules/unistd-safer (Makefile.am): Likewise.
66448         * modules/unlinkdir (Makefile.am): Likewise.
66449         * modules/unlocked-io (Makefile.am): Likewise.
66450         * modules/userspec (Makefile.am): Likewise.
66451         * modules/utime (Makefile.am): Likewise.
66452         * modules/utimecmp (Makefile.am): Likewise.
66453         * modules/utimens (Makefile.am): Likewise.
66454         * modules/vasnprintf (Makefile.am): Likewise.
66455         * modules/vasprintf (Makefile.am): Likewise.
66456         * modules/vsnprintf (Makefile.am): Likewise.
66457         * modules/xalloc (Makefile.am): Likewise.
66458         * modules/xgetcwd (Makefile.am): Likewise.
66459         * modules/xnanosleep (Makefile.am): Likewise.
66460         * modules/xreadlink (Makefile.am): Likewise.
66461         * modules/xstrtod (Makefile.am): Likewise.
66462         * modules/xstrtol (Makefile.am): Likewise.
66463         * modules/xstrtold (Makefile.am): Likewise.
66464         * modules/yesno (Makefile.am): Likewise.
66465         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66466
66467 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66468
66469         * modules/error (Makefile.am): Distribute files through
66470         EXTRA_DIST, not lib_SOURCES.
66471
66472 2006-10-12  Eric Blake  <ebb9@byu.net>
66473
66474         * modules/error (Makefile.am): Distribute files in /lib.
66475         * modules/obstack (Makefile.am): Likewise.
66476
66477 2006-10-12  Bruno Haible  <bruno@clisp.org>
66478
66479         * modules/acl (Makefile.am): Distribute all files in lib/ through
66480         EXTRA_DIST.
66481         * modules/arcfour (Makefile.am): Likewise.
66482         * modules/arctwo (Makefile.am): Likewise.
66483         * modules/argmatch (Makefile.am): Likewise.
66484         * modules/argz (Makefile.am): Likewise.
66485         * modules/atexit (Makefile.am): Likewise.
66486         * modules/backupfile (Makefile.am): Likewise.
66487         * modules/c-strtod (Makefile.am): Likewise.
66488         * modules/c-strtold (Makefile.am): Likewise.
66489         * modules/calloc (Makefile.am): Likewise.
66490         * modules/canon-host (Makefile.am): Likewise.
66491         * modules/canonicalize (Makefile.am): Likewise.
66492         * modules/chdir-long (Makefile.am): Likewise.
66493         * modules/chdir-safer (Makefile.am): Likewise.
66494         * modules/check-version (Makefile.am): Likewise.
66495         * modules/chown (Makefile.am): Likewise.
66496         * modules/cloexec (Makefile.am): Likewise.
66497         * modules/close-stream (Makefile.am): Likewise.
66498         * modules/closeout (Makefile.am): Likewise.
66499         * modules/crc (Makefile.am): Likewise.
66500         * modules/cycle-check (Makefile.am): Likewise.
66501         * modules/des (Makefile.am): Likewise.
66502         * modules/dirfd (Makefile.am): Likewise.
66503         * modules/dirname (Makefile.am): Likewise.
66504         * modules/dup2 (Makefile.am): Likewise.
66505         * modules/euidaccess (Makefile.am): Likewise.
66506         * modules/exclude (Makefile.am): Likewise.
66507         * modules/exitfail (Makefile.am): Likewise.
66508         * modules/fcntl-safer (Makefile.am): Likewise.
66509         * modules/file-type (Makefile.am): Likewise.
66510         * modules/fileblocks (Makefile.am): Likewise.
66511         * modules/filemode (Makefile.am): Likewise.
66512         * modules/filenamecat (Makefile.am): Likewise.
66513         * modules/fnmatch (Makefile.am): Likewise.
66514         * modules/fopen-safer (Makefile.am): Likewise.
66515         * modules/fpending (Makefile.am): Likewise.
66516         * modules/fprintftime (Makefile.am): Likewise.
66517         * modules/free (Makefile.am): Likewise.
66518         * modules/fsusage (Makefile.am): Likewise.
66519         * modules/ftruncate (Makefile.am): Likewise.
66520         * modules/fts (Makefile.am): Likewise.
66521         * modules/gc (Makefile.am): Likewise.
66522         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66523         * modules/getaddrinfo (Makefile.am): Likewise.
66524         * modules/getcwd (Makefile.am): Likewise.
66525         * modules/getdelim (Makefile.am): Likewise.
66526         * modules/getdomainname (Makefile.am): Likewise.
66527         * modules/getgroups (Makefile.am): Likewise.
66528         * modules/gethostname (Makefile.am): Likewise.
66529         * modules/gethrxtime (Makefile.am): Likewise.
66530         * modules/getline (Makefile.am): Likewise.
66531         * modules/getloadavg (Makefile.am): Likewise.
66532         * modules/getlogin_r (Makefile.am): Likewise.
66533         * modules/getopt (Makefile.am): Likewise.
66534         * modules/getpass (Makefile.am): Likewise.
66535         * modules/getpass-gnu (Makefile.am): Likewise.
66536         * modules/getsubopt (Makefile.am): Likewise.
66537         * modules/gettime (Makefile.am): Likewise.
66538         * modules/gettimeofday (Makefile.am): Likewise.
66539         * modules/getugroups (Makefile.am): Likewise.
66540         * modules/getusershell (Makefile.am): Likewise.
66541         * modules/glob (Makefile.am): Likewise.
66542         * modules/group-member (Makefile.am): Likewise.
66543         * modules/hard-locale (Makefile.am): Likewise.
66544         * modules/hash (Makefile.am): Likewise.
66545         * modules/hmac-md5 (Makefile.am): Likewise.
66546         * modules/hmac-sha1 (Makefile.am): Likewise.
66547         * modules/human (Makefile.am): Likewise.
66548         * modules/idcache (Makefile.am): Likewise.
66549         * modules/imaxabs (Makefile.am): Likewise.
66550         * modules/imaxdiv (Makefile.am): Likewise.
66551         * modules/inet_ntop (Makefile.am): Likewise.
66552         * modules/inet_pton (Makefile.am): Likewise.
66553         * modules/inttostr (Makefile.am): Likewise.
66554         * modules/isapipe (Makefile.am): Likewise.
66555         * modules/lchown (Makefile.am): Likewise.
66556         * modules/long-options (Makefile.am): Likewise.
66557         * modules/lstat (Makefile.am): Likewise.
66558         * modules/malloc (Makefile.am): Likewise.
66559         * modules/mathl (Makefile.am): Likewise.
66560         * modules/mbchar (Makefile.am): Likewise.
66561         * modules/md2 (Makefile.am): Likewise.
66562         * modules/md4 (Makefile.am): Likewise.
66563         * modules/md5 (Makefile.am): Likewise.
66564         * modules/memcasecmp (Makefile.am): Likewise.
66565         * modules/memchr (Makefile.am): Likewise.
66566         * modules/memcmp (Makefile.am): Likewise.
66567         * modules/memcoll (Makefile.am): Likewise.
66568         * modules/memcpy (Makefile.am): Likewise.
66569         * modules/memmem (Makefile.am): Likewise.
66570         * modules/memmove (Makefile.am): Likewise.
66571         * modules/mempcpy (Makefile.am): Likewise.
66572         * modules/memrchr (Makefile.am): Likewise.
66573         * modules/memset (Makefile.am): Likewise.
66574         * modules/memxor (Makefile.am): Likewise.
66575         * modules/mkancesdirs (Makefile.am): Likewise.
66576         * modules/mkdir (Makefile.am): Likewise.
66577         * modules/mkdir-p (Makefile.am): Likewise.
66578         * modules/mkdtemp (Makefile.am): Likewise.
66579         * modules/mkstemp (Makefile.am): Likewise.
66580         * modules/mktime (Makefile.am): Likewise.
66581         * modules/modechange (Makefile.am): Likewise.
66582         * modules/mountlist (Makefile.am): Likewise.
66583         * modules/nanosleep (Makefile.am): Likewise.
66584         * modules/openat (Makefile.am): Likewise.
66585         * modules/pagealign_alloc (Makefile.am): Likewise.
66586         * modules/physmem (Makefile.am): Likewise.
66587         * modules/poll (Makefile.am): Likewise.
66588         * modules/posixtm (Makefile.am): Likewise.
66589         * modules/posixver (Makefile.am): Likewise.
66590         * modules/putenv (Makefile.am): Likewise.
66591         * modules/quote (Makefile.am): Likewise.
66592         * modules/quotearg (Makefile.am): Likewise.
66593         * modules/raise (Makefile.am): Likewise.
66594         * modules/read-file (Makefile.am): Likewise.
66595         * modules/readline (Makefile.am): Likewise.
66596         * modules/readlink (Makefile.am): Likewise.
66597         * modules/readtokens (Makefile.am): Likewise.
66598         * modules/readutmp (Makefile.am): Likewise.
66599         * modules/realloc (Makefile.am): Likewise.
66600         * modules/regex (Makefile.am): Likewise.
66601         * modules/rename (Makefile.am): Likewise.
66602         * modules/rename-dest-slash (Makefile.am): Likewise.
66603         * modules/rijndael (Makefile.am): Likewise.
66604         * modules/rmdir (Makefile.am): Likewise.
66605         * modules/rpmatch (Makefile.am): Likewise.
66606         * modules/safe-read (Makefile.am): Likewise.
66607         * modules/safe-write (Makefile.am): Likewise.
66608         * modules/same (Makefile.am): Likewise.
66609         * modules/save-cwd (Makefile.am): Likewise.
66610         * modules/savedir (Makefile.am): Likewise.
66611         * modules/setenv (Makefile.am): Likewise.
66612         * modules/settime (Makefile.am): Likewise.
66613         * modules/sha1 (Makefile.am): Likewise.
66614         * modules/sig2str (Makefile.am): Likewise.
66615         * modules/snprintf (Makefile.am): Likewise.
66616         * modules/stdlib-safer (Makefile.am): Likewise.
66617         * modules/stpcpy (Makefile.am): Likewise.
66618         * modules/stpncpy (Makefile.am): Likewise.
66619         * modules/strcase (Makefile.am): Likewise.
66620         * modules/strcasestr (Makefile.am): Likewise.
66621         * modules/strchrnul (Makefile.am): Likewise.
66622         * modules/strcspn (Makefile.am): Likewise.
66623         * modules/strdup (Makefile.am): Likewise.
66624         * modules/strerror (Makefile.am): Likewise.
66625         * modules/strftime (Makefile.am): Likewise.
66626         * modules/strndup (Makefile.am): Likewise.
66627         * modules/strnlen (Makefile.am): Likewise.
66628         * modules/strpbrk (Makefile.am): Likewise.
66629         * modules/strsep (Makefile.am): Likewise.
66630         * modules/strstr (Makefile.am): Likewise.
66631         * modules/strtod (Makefile.am): Likewise.
66632         * modules/strtoimax (Makefile.am): Likewise.
66633         * modules/strtok_r (Makefile.am): Likewise.
66634         * modules/strtol (Makefile.am): Likewise.
66635         * modules/strtoll (Makefile.am): Likewise.
66636         * modules/strtoul (Makefile.am): Likewise.
66637         * modules/strtoull (Makefile.am): Likewise.
66638         * modules/strtoumax (Makefile.am): Likewise.
66639         * modules/strverscmp (Makefile.am): Likewise.
66640         * modules/time_r (Makefile.am): Likewise.
66641         * modules/timegm (Makefile.am): Likewise.
66642         * modules/tmpfile-safer (Makefile.am): Likewise.
66643         * modules/unistd-safer (Makefile.am): Likewise.
66644         * modules/unlinkdir (Makefile.am): Likewise.
66645         * modules/userspec (Makefile.am): Likewise.
66646         * modules/utime (Makefile.am): Likewise.
66647         * modules/utimecmp (Makefile.am): Likewise.
66648         * modules/utimens (Makefile.am): Likewise.
66649         * modules/vasnprintf (Makefile.am): Likewise.
66650         * modules/vasprintf (Makefile.am): Likewise.
66651         * modules/vsnprintf (Makefile.am): Likewise.
66652         * modules/xalloc (Makefile.am): Likewise.
66653         * modules/xgetcwd (Makefile.am): Likewise.
66654         * modules/xnanosleep (Makefile.am): Likewise.
66655         * modules/xreadlink (Makefile.am): Likewise.
66656         * modules/xstrtod (Makefile.am): Likewise.
66657         * modules/xstrtol (Makefile.am): Likewise.
66658         * modules/xstrtold (Makefile.am): Likewise.
66659         * modules/yesno (Makefile.am): Likewise.
66660
66661 2006-10-12  Jim Meyering  <jim@meyering.net>
66662
66663         * m4/getloadavg.m4: Revert the change below.
66664
66665         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66666         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66667         fail with a symlink, which is what coreutils' ./bootstrap now
66668         creates by default.
66669
66670 2006-10-12  Bruno Haible  <bruno@clisp.org>
66671
66672         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66673         mingw.
66674         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66675         MSVC and mingw explicitly.
66676
66677 2006-10-11  Simon Josefsson  <jas@extundo.com>
66678             Bruno Haible  <bruno@clisp.org>
66679
66680         Add support for multiple gnulib-tool invocations in the scope of a
66681         single configure.ac file.
66682         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66683         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66684         with the same contents as the _LIBADD variable.
66685         (func_emit_initmacro_start, func_emit_initmacro_end,
66686         func_emit_initmacro_done): New functions.
66687         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66688         gl_LIBOBJS and gl_LTLIBOBJS.
66689
66690 2006-10-11  Bruno Haible  <bruno@clisp.org>
66691
66692         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66693         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66694         autoreconf. Instead, invoke autopoint explicitly but move back the
66695         *.m4 files from gnulib.
66696
66697 2006-10-11  Bruno Haible  <bruno@clisp.org>
66698
66699         * gnulib-tool (func_usage): Make module names after --create-testdir
66700         optional.
66701         (func_create_testdir): If no module was specified, use nearly all
66702         modules.
66703
66704 2006-10-12  Jim Meyering  <jim@meyering.net>
66705
66706         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66707         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66708         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66709         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66710         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66711         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66712         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66713         (fts_set_stat_required): New function.
66714         (fts_open): Defer the calls to fts_stat, if possible or requested.
66715         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66716         into fts_stat itself.
66717         (fts_read): Perform any required (deferred) fts_stat call.
66718         (fts_build): Likewise, for the directory we're about to open and read.
66719         In the readdir loop, carefully decide whether each entry will require
66720         an eventual call to fts_stat, using dirent.d_type info if available.
66721         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66722         a command line argument into this function.  Update all callers.
66723         Map a return value of FTS_DOT to FTS_D for a command line argument.
66724         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66725         Thanks to Miklos Szeredi for his tenacity and for the initial
66726         bug report about "find" failing on a FUSE-based file system.
66727
66728         * lib/fts.c (fts_open): Use consistent indentation.
66729
66730 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66731
66732         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66733         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66734         reported by Jim Meyering.  All uses of cache variables renamed
66735         to match Autoconf's.
66736         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66737         the other one.
66738
66739         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66740         Fix misspelling in diagnostic.
66741
66742 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66743
66744         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66745         defined.  Problem reported by Matthew Woehlke.
66746
66747         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66748         Add support for Tandem NonStop R series.
66749         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66750         Use new macro.
66751
66752         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66753         (has_trailing_slash): Omit size arg; all callers changed.
66754         Omit 'inline', since it doesn't help performance and we'd
66755         need to configure it.
66756         Don't count //, ///, etc. as having a trailing slash.
66757         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66758         (rpl_rename_dest_slash): On failure, use rename's errno rather
66759         than (in some cases) an incorrect or junk errno.
66760         Simplify code by removing need to compute length; this does
66761         cause it to make two passes instead of one over the file name,
66762         but it's worth it.
66763
66764         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66765         change, since Autoconf's version may no longer be appropriate now
66766         that we are using CVS Autoconf's version.  Add support for Tandem.
66767
66768 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66769             Bruno Haible  <bruno@clisp.org>
66770
66771         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66772         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66773         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66774         gl_AC_TYPE_LONG_LONG.
66775
66776         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66777         instead of HAVE_LONG_LONG.
66778         * lib/printf-args.c (printf_fetchargs): Likewise.
66779         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66780         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66781         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66782         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66783         gl_AC_TYPE_LONG_LONG.
66784
66785 2006-10-11  Bruno Haible  <bruno@clisp.org>
66786
66787         * m4/longlong.m4: Add comments.
66788         * m4/ulonglong.m4: Likewise.
66789
66790 2006-10-10  Bruno Haible  <bruno@clisp.org>
66791
66792         Make it possible to #define stpcpy, strdup to aliases.
66793         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66794         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66795
66796 2006-10-10  Bruno Haible  <bruno@clisp.org>
66797
66798         Make it possible to #define gcd to an alias.
66799         * lib/gcd.c: Include config.h.
66800
66801 2006-10-10  Bruno Haible  <bruno@clisp.org>
66802
66803         Make it possible to #define c_isascii to an alias.
66804         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66805         defined. Undefine the macros before defining them, to avoid gcc
66806         warnings.
66807         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66808         define NO_C_CTYPE_MACROS early.
66809
66810 2006-10-10  Bruno Haible  <bruno@clisp.org>
66811
66812         Make it possible to #define set_program_name to an alias.
66813         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66814         ENABLE_RELOCATABLE early.
66815
66816 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66817
66818         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66819         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66820         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66821         More generally, don't assume that 64-bit signed int is available
66822         if unsigned int is, and vice versa.
66823         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66824         unsigned symbols, not on their signed counterparts.
66825         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66826         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66827         (UINT64_C, UINTMAX_C):
66828         Likewise.
66829         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66830         unsigned counterparts.
66831         (Have_long_long, Unsigned): New macros.
66832         (Int): Renamed from INT.
66833         (strtoimax): Use the new macros.
66834         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66835         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66836         * modules/inttypes (inttypes.h): Substitute
66837         HAVE_UNSIGNED_LONG_LONG_INT.
66838         * modules/stdint (stdint.h): Likewise.
66839         (Files): Add m4/ulonglong.m4.
66840
66841 2006-10-10  Bruno Haible  <bruno@clisp.org>
66842
66843         Fix a gcc -Wshadow warning.
66844         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66845         to 'bucket'.
66846         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66847         gl_linked_indexof_from_to): Likewise.
66848         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66849         Likewise.
66850         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66851         Likewise.
66852         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66853         Reported by Eric Blake.
66854
66855 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66856
66857         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66858         for NetBSD.  Problem reported by Bruno Haible.
66859
66860 2006-10-09  Jim Meyering  <jim@meyering.net>
66861
66862         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66863         Patch from Bruno Haible.
66864
66865 2006-10-09  Jim Meyering  <jim@meyering.net>
66866
66867         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66868         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66869         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66870
66871 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66872
66873         Don't include <config.h> twice; this doesn't work in some cases,
66874         e.g., when config.h has "#define intmax_t long long int" and
66875         we include <config.h>, <inttypes.h>, <config.h> in that order.
66876         Problem reported by Matthew Woehlke in:
66877         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66878         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66879         * lib/fts-cycle.c: Don't include config.h.
66880         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66881         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66882         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66883         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66884         inttypes.h.
66885         * lib/xstrtoumax.c: Likewise.
66886         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66887         __strtol and the like, so that this module is more like its siblings.
66888         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66889         Remove; no longer needed now that we assume gnulib inttypes.h.
66890
66891 2006-10-08  Bruno Haible  <bruno@clisp.org>
66892
66893         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66894         option.
66895
66896 2006-10-07  Jim Meyering  <jim@meyering.net>
66897
66898         * modules/inttypes (inttypes.h): Revert what seems to have been
66899         an inadvertent part of today's change: use "|", not "/" in the
66900         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66901
66902 2006-10-07  Bruno Haible  <bruno@clisp.org>
66903
66904         * modules/sublist: New file.
66905
66906 2006-10-07  Bruno Haible  <bruno@clisp.org>
66907
66908         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66909         * modules/argz (argz.h): Likewise.
66910         * modules/arpa_inet (arpa/inet.h): Likewise.
66911         * modules/byteswap (byteswap.h): Likewise.
66912         * modules/configmake (configmake.h): Likewise.
66913         * modules/fcntl (fcntl.h): Likewise.
66914         * modules/fnmatch (fnmatch.h): Likewise.
66915         * modules/getopt (getopt.h): Likewise.
66916         * modules/glob (glob.h): Likewise.
66917         * modules/inttypes (inttypes.h): Likewise.
66918         * modules/netinet_in (netinet/in.h): Likewise.
66919         * modules/poll (poll.h): Likewise.
66920         * modules/stdbool (stdbool.h): Likewise.
66921         * modules/stdint (stdint.h): Likewise.
66922         * modules/sys_select (sys/select.h): Likewise.
66923         * modules/sys_socket (sys/socket.h): Likewise.
66924         * modules/sys_stat (sys/stat.h): Likewise.
66925         * modules/sysexits (sysexits.h): Likewise.
66926         * modules/unistd (unistd.h): Likewise.
66927         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66928         Add a "DO NOT EDIT" comment to the generated file.
66929         (func_import): Likewise for gnulib-comp.m4.
66930
66931 2006-10-07  Bruno Haible  <bruno@clisp.org>
66932
66933         * lib/gl_sublist.h: New file.
66934         * lib/gl_sublist.c: New file.
66935
66936 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66937
66938         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
66939         name (relative to the original working directory) and the file
66940         name component (relative to the temporary working directory).  All
66941         callers changed.
66942         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
66943         * lib/mkdir-p.c (make_dir_parents): Likewise.
66944         * lib/mkdir-p.h (make_dir_parents): Likewise.
66945
66946 2006-10-06  Eric Blake  <ebb9@byu.net>
66947
66948         Define several macros for use by the clean-temp module.
66949         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
66950         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
66951         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
66952
66953         * lib/clean-temp.h (close_stream_temp): New declaration.
66954         * lib/clean-temp.c (includes): Pull in headers according to what
66955         other modules are in use.
66956         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
66957
66958 2006-10-06  Bruno Haible  <bruno@clisp.org>
66959
66960         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
66961         instead of fopen, fwriteerror.
66962
66963 2006-10-06  Bruno Haible  <bruno@clisp.org>
66964
66965         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
66966         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
66967         int.
66968         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
66969         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
66970         Return an error indicator.
66971         Suggested by Eric Blake.
66972
66973 2006-10-06  Bruno Haible  <bruno@clisp.org>
66974
66975         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
66976         Reported by Eric Blake.
66977
66978 2006-10-06  Bruno Haible  <bruno@clisp.org>
66979
66980         * modules/closeout (Description): Mention stderr too.
66981
66982 2006-10-06  Bruno Haible  <bruno@clisp.org>
66983         and Paul Eggert  <eggert@cs.ucla.edu>
66984
66985         * lib/closeout.c (close_stdout): Also close stderr.
66986         * lib/closeout.h: Update comment.
66987
66988 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
66989
66990         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
66991         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
66992         * lib/dirchownmod.c: Include lchown.h.
66993         * lib/lchown.c: Don't include files that lchown.h now includes.
66994         Don't declare chown, since lchown.h now does that.
66995         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
66996         (lchown): Define to rpl_chown if lchown is declared but
66997         does not exist.  Declare using a prototype if lchown is not
66998         declared.  Add a copyright notice.
66999         * lib/mkstemp.h: Include <unistd.h>.
67000         * lib/openat.c: Include lchown.h.
67001
67002         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67003         we now test for that separately.
67004         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67005         rather than O_NOFOLLOW, when testing whether it's possible to
67006         avoid a race condition reliably.
67007         * lib/savewd.c (savewd_chdir): Likewise.
67008
67009         Remove macros that are no longer needed now that stdint.h is
67010         reliable.
67011         * lib/fsusage.c (UINTMAX_MAX): Remove.
67012         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67013         * lib/utimecmp.c (SIZE_MAX): Remove.
67014
67015         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67016
67017         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67018         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67019         O_NOATIME works.
67020
67021 2006-10-05  Bruno Haible  <bruno@clisp.org>
67022
67023         * lib/gl_list.h (gl_sortedlist_search_from_to,
67024         gl_sortedlist_indexof_from_to): New declarations.
67025         (gl_list_implementation): New fields sortedlist_search_from_to,
67026         sortedlist_indexof_from_to.
67027         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67028         inline functions.
67029         * lib/gl_list.c (gl_sortedlist_search_from_to,
67030         gl_sortedlist_indexof_from_to): New functions.
67031         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67032         function.
67033         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67034         (gl_array_sortedlist_search_from_to): New function.
67035         (gl_array_list_implementation): Update.
67036         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67037         function.
67038         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67039         (gl_carray_sortedlist_search_from_to): New function.
67040         (gl_carray_list_implementation): Update.
67041         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67042         gl_linked_sortedlist_indexof_from_to): New functions.
67043         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67044         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67045         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67046         gl_tree_sortedlist_indexof_from_to): New functions.
67047         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67048         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67049         Update.
67050         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67051         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67052         Update.
67053
67054 2006-10-05  Bruno Haible  <bruno@clisp.org>
67055
67056         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67057         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67058         (struct gl_list_implementation): Add fields search_from_to,
67059         indexof_from_to. Remove fields search, indexof.
67060         (gl_list_search): Use the search_from_to method.
67061         (gl_list_search_from, gl_list_search_from_to): New functions.
67062         (gl_list_indexof): Use the indexof_from_to method.
67063         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67064         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67065         (gl_list_search_from, gl_list_search_from_to): New functions.
67066         (gl_list_indexof): Use the indexof_from_to method.
67067         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67068         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67069         gl_array_indexof. Add start_index, end_index arguments.
67070         (gl_array_search_from_to): Renamed from gl_array_search. Add
67071         start_index, end_index arguments.
67072         (gl_array_remove, gl_array_list_implementation): Update.
67073         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67074         gl_carray_indexof. Add start_index, end_index arguments.
67075         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67076         start_index, end_index arguments.
67077         (gl_carray_remove, gl_carray_list_implementation): Update.
67078         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67079         gl_linked_search. Add start_index, end_index arguments.
67080         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67081         start_index, end_index arguments.
67082         (gl_linked_remove): Update.
67083         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67084         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67085         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67086         field to 'size_t'.
67087         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67088         gl_tree_search. Add start_index, end_index arguments.
67089         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67090         start_index, end_index arguments.
67091         (gl_tree_remove): Update.
67092         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67093         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67094         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67095         function.
67096         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67097         gl_tree_search. Add start_index, end_index arguments.
67098         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67099         start_index, end_index arguments.
67100         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67101         Update.
67102         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67103
67104 2006-10-05  Bruno Haible  <bruno@clisp.org>
67105
67106         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67107
67108         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67109         fwriteerror_temp): New declarations.
67110         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67111         (descriptors): New variable.
67112         (cleanup): First, close the descriptors.
67113         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67114         fclose_temp, fwriteerror_temp): New functions.
67115
67116 2006-10-04  Jim Meyering  <jim@meyering.net>
67117
67118         * lib/fts.c (fts_open): Tiny comment change.
67119
67120 2006-10-04  Bruno Haible  <bruno@clisp.org>
67121
67122         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67123         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67124         gl_LOCK_BODY.
67125         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67126         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67127         gl_LOCK_EARLY_BODY.
67128         (gl_LOCK): Require gl_LOCK_BODY.
67129
67130 2006-10-04  Bruno Haible  <bruno@clisp.org>
67131
67132         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67133         (gl_oset_search_atleast): New declaration.
67134         (struct gl_oset_implementation): Add field 'search_atleast'.
67135         (gl_oset_search_atleast): New inline function.
67136         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67137         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67138         (gl_array_oset_implementation): Update.
67139         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67140         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67141         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67142
67143 2006-10-04  Bruno Haible  <bruno@clisp.org>
67144
67145         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67146
67147 2006-10-03  Bruno Haible  <bruno@clisp.org>
67148
67149         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67150         from gl_avltreehash_list_implementation.
67151
67152 2006-10-03  Bruno Haible  <bruno@clisp.org>
67153
67154         * lib/gl_oset.c (gl_oset_add): Fix return type.
67155
67156 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67157
67158         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67159
67160 2006-10-02  Eric Blake  <ebb9@byu.net>
67161
67162         * modules/strnlen (Depends-on): Add extensions.
67163
67164 2006-10-02  Eric Blake  <ebb9@byu.net>
67165
67166         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67167         definition in 2.60+.
67168
67169 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67170
67171         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67172         checks.
67173
67174 2006-10-02  Bruno Haible  <bruno@clisp.org>
67175
67176         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67177         to the AUTOMAKE_OPTIONS.
67178         Reported by Jim Meyering.
67179
67180 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67181
67182         Work around bug in Solaris 10 /proc file system:
67183         /proc/self/fd/NNN/.. isn't the parent directory of
67184         the directory whose file descriptor is NNN.  This needs to
67185         be worked around at run time, not compile time, since a
67186         program might be built on Solaris 8, where things work, and
67187         run on Solaris 10.
67188         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67189         to use the following interface instead:
67190         (OPENAT_BUFFER_SIZE): New macro.
67191         (openat_proc_name): New function.
67192         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67193         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67194         Likewise.
67195         * lib/openat-proc.c: New file.
67196         * modules/openat (Files): Add lib/openat-proc.c.
67197         (Depends-on): Add same-inode, stdbool.
67198         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67199
67200 2006-09-29  Bruno Haible  <bruno@clisp.org>
67201
67202         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67203         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67204         argument. Set stdout_closed before testing for ferror, not after.
67205         (fwriteerror, fwriteerror_no_ebadf): New functions.
67206
67207 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67208
67209         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67210
67211 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67212
67213         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67214         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67215
67216 2006-09-28  Jim Meyering  <jim@meyering.net>
67217
67218         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67219         Include <unistd.h>.
67220
67221 2006-09-28  Bruno Haible  <bruno@clisp.org>
67222
67223         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67224         * modules/linkedhash-list (Depends-on): Likewise.
67225         * modules/rbtreehash-list (Depends-on): Likewise.
67226
67227 2006-09-28  Bruno Haible  <bruno@clisp.org>
67228
67229         * lib/strndup.h: Simplify the redefinition of strndup.
67230         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67231         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67232
67233 2006-09-28  Bruno Haible  <bruno@clisp.org>
67234
67235         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67236         * lib/gl_linkedhash_list.c: Likewise.
67237         * lib/gl_rbtreehash_list.c: Likewise.
67238
67239 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67240
67241         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67242         getaddrinfo.
67243
67244         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67245         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67246         it causes <stdio_ext.h> to cause a compile-time error.
67247         Problem reported by Nelson H. F. Beebe.
67248         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67249         of HAVE_DECL___PENDING.
67250
67251         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67252         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67253         declaration.
67254
67255 2006-09-27  Jim Meyering  <jim@meyering.net>
67256
67257         This file could end up with a definition for a function
67258         named __strndup, rather than rpl_strndup on a system with
67259         incomplete weak_alias support.
67260         * lib/strndup.c (strndup): Rename from __strndup.
67261         Remove #defines that used to map __strndup to strndup.
67262         Don't use K&R prototypes.
67263         Remove LIBC-related code, since this file is not sync'd with glibc.
67264         * lib/strndup.h: Revamp, accordingly.
67265         * m4/strndup.m4: Modernize.
67266
67267 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67268
67269         * modules/savewd (Depends-on): Add 'raise'.
67270         * lib/savewd.c: Include <signal.h>, for 'raise'.
67271
67272 2006-09-26  Jim Meyering  <jim@meyering.net>
67273
67274         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67275         when we detect Darwin 8.7.0's acl_get_file bug.
67276         Rearrange to perform the new (below) run-test while $LIBS
67277         contains any acl-related library.  Set USE_ACL at the end.
67278         (gl_ACL_GET_FILE): New function.
67279
67280 2006-09-26  Eric Blake  <ebb9@byu.net>
67281
67282         * lib/verror.c: Include <config.h> unconditionally.
67283
67284 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67285
67286         * modules/clock-time (Maintainer): Add self.
67287         * modules/getlogin_r (Depends-on): Add extensions.
67288
67289 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67290
67291         * modules/clock-time: New module.
67292         * modules/nanosleep (Depends-on): Add clock-time.
67293         * modules/gethrxtime (Depends-on): Likewise.
67294         * modules/gettime (Depends-on): Likewise.
67295         * modules/settime (Depends-on): Likewise.
67296
67297         * modules/fts-lgpl: Depend on openat.
67298         * modules/mkancesdirs: Depend on savewd.
67299         * modules/mkdir-p: Likewise.
67300
67301 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67302
67303         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67304
67305         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67306         `gl_have_arbitrary_file_name_length_limit' to
67307         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67308         actually works between configure runs.
67309
67310 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67311             Bruno Haible  <bruno@clisp.org>
67312
67313         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67314
67315 2006-09-25  Jim Meyering  <jim@meyering.net>
67316
67317         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67318         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67319
67320 2006-09-25  Eric Blake  <ebb9@byu.net>
67321
67322         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67323         exec's in 2006-09-18 patch when shuffling fds.
67324
67325 2006-09-25  Bruno Haible  <bruno@clisp.org>
67326
67327         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67328         Reported by Jim Meyering.
67329
67330 2006-09-24  Jim Meyering  <jim@meyering.net>
67331
67332         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67333         compare a pointer against a literal "0".  That caused failures with
67334         at least HP-UX's hpcc.
67335
67336 2006-09-22  Simon Josefsson  <jas@extundo.com>
67337
67338         * modules/gc-sha1:
67339         * modules/gc-md4:
67340         * modules/gc-hmac-sha1:
67341         * modules/gc-hmac-md5:
67342         * modules/gc-des:
67343         * modules/gc-arcfour: Distribute more files.
67344
67345 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67346
67347         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67348         (gl_linked_iterator_from_to): Initialize struct completely.
67349         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67350         (gl_tree_iterator_from_to): Likewise
67351         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67352         * lib/gl_array_list.c [lint] (gl_array_iterator)
67353         (gl_array_iterator_from_to): Likewise.
67354         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67355         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67356         (gl_carray_iterator_from_to): Likewise.
67357
67358         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67359         * lib/md4.c (md4_process_block): Remove unused variable.
67360         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67361         parentheses for clarity.
67362
67363 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67364
67365         * modules/bison-i18n (Depends-on): Add gettext.
67366
67367 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67368
67369         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67370         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67371         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67372         also add missing comma that caused broken test.
67373         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67374         stdlib.h, for `abort'.
67375         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67376         variables.
67377         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67378         include unistd.h if present, for `rmdir'.
67379         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67380         variables.
67381         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67382         in the process include standard headers for prototypes.
67383         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67384         gets declared on GNU/Linux.
67385         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67386         unistd.h, for `rmdir'.
67387         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67388
67389         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67390         always true.
67391         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67392
67393         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67394
67395 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67396
67397         * gnulib-tool (func_version): Create output all at once.  This
67398         may help avoid triggering unnecessary SIGPIPEs, and at any
67399         rate it doesn't hurt.
67400
67401 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67402             Bruno Haible  <bruno@clisp.org>
67403
67404         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67405         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67406         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67407
67408         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67409         (gl_FUNC_VASPRINTF): Invoke it.
67410
67411 2006-09-22  Bruno Haible  <bruno@clisp.org>
67412
67413         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67414         getloadavg.c as first argument.
67415
67416 2006-09-22  Bruno Haible  <bruno@clisp.org>
67417
67418         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67419         at the beginning of the gl_INIT macro.
67420         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67421         gl_GETLOADAVG.
67422
67423 2006-09-22  Bruno Haible  <bruno@clisp.org>
67424
67425         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67426         module.
67427         Suggested by Ralf Wildenhues.
67428
67429 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         Import this patch from libc:
67432
67433         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67434
67435         * lib/regex_internal.c (re_string_reconstruct): Handle
67436         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67437         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67438         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67439         re_string_context_at.
67440
67441         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67442         now requires it.
67443         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67444         gl_REGEX now does it for us.
67445         (gl_REGEX): Add test taken from
67446         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67447
67448         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67449         Check that large offsets work.  Modernize Autoconf usages.
67450         Prefer "yes" to mean a good thing rather than a bad.
67451         Don't put "#define mkstemp" in config.h, as this might interfere
67452         with standard system headers that "#define mkstemp mkstemp64".
67453
67454         * modules/mkstemp (Depends-on): Add extensions, so that
67455         mkstemp is visible on some platforms.
67456         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67457         (Include): Change to "mkstemp.h" from <stdlib.h>.
67458         (Files): Add mkstemp.h.
67459
67460         * lib/mkstemp.h: New file, since some standard headers
67461         #define mkstemp.
67462         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67463         Include "mkstemp.h".
67464         Make the _LIBC code resemble glibc original more,
67465         e.g., use K&R style.
67466         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67467         (mkstemp): Remove, since mkstemp.h does this for us.
67468         * lib/stdlib--.h: Include mkstemp.h.
67469
67470         Import this patch from libc:
67471
67472         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67473
67474         * lib/tempname.c (__gen_tempname): Change attempts_min
67475         into a macro.  Use preprocessor to decide how to initialize
67476         attempts [Coverity CID 67].
67477
67478 2006-09-20  Bruno Haible  <bruno@clisp.org>
67479
67480         * lib/mkdtemp.c: Import from libc.
67481         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67482                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67483                 attempts_min into a macro.  Use preprocessor to decide how to
67484                 initialize attempts [Coverity CID 67].
67485         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67486                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67487                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67488
67489 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67490
67491         * gnulib-tool (func_exit): New function, to allow to pass the
67492         exit status portably through the trap.  Use everywhere.
67493         (--help, --version): Signal a write error.
67494         (trap): catch SIGPIPE, for write errors.
67495         Exit at the end of the trap, with the correct exit status.
67496
67497 2006-09-19  Karl Berry  <karl@gnu.org>
67498
67499         * doc/gnulib.texi: note about the license texinfo files.
67500
67501 2006-09-19  Eric Blake  <ebb9@byu.net>
67502
67503         * gnulib-tool: Avoid space-tab.
67504
67505 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67506
67507         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67508         that prevented coreutils 6.1 from building.  Problem reported
67509         by Petter Reinholdtsen.
67510
67511 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67512
67513         * gnulib-tool (avoidlist): Fix typo that broke options like
67514         --avoid=lock that are used by coreutils bootstrap.
67515
67516 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67517
67518         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67519         more systematically.
67520
67521 2006-09-18  Jim Meyering  <jim@meyering.net>
67522
67523         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67524
67525 2006-09-18  Bruno Haible  <bruno@clisp.org>
67526
67527         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67528
67529 2006-09-18  Bruno Haible  <bruno@clisp.org>
67530
67531         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67532         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67533         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67534         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67535         * m4/gettext.m4: Require autoconf >= 2.52.
67536         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67537         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67538         of gl_cv_header_inttypes_h.
67539
67540 2006-09-18  Bruno Haible  <bruno@clisp.org>
67541
67542         * lib/javaversion.c: Include configmake.h.
67543
67544 2006-09-18  Bruno Haible  <bruno@clisp.org>
67545
67546         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67547         avoid that the while loops be executed in a subshell.
67548
67549 2006-09-18  Bruno Haible  <bruno@clisp.org>
67550
67551         * MODULES.html.sh (func_module): Break long lines.
67552         Suggested by Bruce Korb <bkorb@gnu.org>.
67553
67554 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67555
67556         Speed up by a factor of 1.12.
67557         * gnulib-tool (nl): New variable.
67558         (func_import): Rewrite include directive extraction to only read each
67559         directive once.
67560
67561 2006-09-17  Bruno Haible  <bruno@clisp.org>
67562
67563         * modules/javaversion (Makefile.am): Remove DEFS setting.
67564         (Depends-on): Add configmake, for PKGDATADIR definition.
67565
67566 2006-09-17  Bruno Haible  <bruno@clisp.org>
67567
67568         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67569
67570 2006-09-17  Bruno Haible  <bruno@clisp.org>
67571
67572         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67573         (func_modules_transitive_closure, func_modules_add_dummy,
67574         func_modules_to_filelist, func_import, func_create_testdir,
67575         func_create_megatestdir, ...): Use it wherever possible.
67576         Suggested by Ralf Wildenhues.
67577
67578 2006-09-16  Karl Berry  <karl@gnu.org>
67579
67580         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67581         to avoid sectioning errors.
67582         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67583         [ifinfo]: blank line after @center-ed titles.
67584         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67585         Spell FSF address consistently with others.
67586         (These changes approved by rms.)
67587
67588 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67589
67590         Speed up by a factor of 1.61.
67591         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67592         already checked module names again.
67593
67594 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67595
67596         Speed up by a factor of 1.13.
67597         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67598         for new_files, and the input to func_add_or_update.
67599
67600 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67601
67602         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67603         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67604
67605 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67606
67607         * modules/mkancesdirs (Depends-on): Add fcntl.
67608         * modules/savewd: New file.
67609         * MODULES.html.sh (File system functions): Add savewd.
67610
67611         * modules/configmake (Makefile.am): Add support for the
67612         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67613
67614 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67615
67616         * m4/savewd.m4: New file.
67617
67618 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67619
67620         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67621         (dirchownmod): New arg FD.  All callers changed.
67622         Use FD rather than opening the directory ourself, as opening is
67623         now the caller's responsibility.
67624         * lib/dirchownmod.h: Likewise.
67625         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67626         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67627         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67628         (test_dir): Remove.
67629         (mkancesdirs): Return length of prefix of FILE that has already
67630         been made, or -2 if there is a child doing the work.  Redo
67631         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67632         ".", and treat ".." specially since it might stray back into
67633         already-created areas.  Use a subprocess if necessary.  New arg
67634         WD; all users changed.  MAKE_DIR function should now return 1
67635         if it creates a directory that is not readable.  Return -2 if
67636         a child process is spun off.
67637         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67638         Adjust signature to match code.
67639         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67640         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67641         all users changed.
67642         * lib/savewd.c, lib/savewd.h: New files.
67643
67644 2006-09-15  Jim Meyering  <jim@meyering.net>
67645
67646         * modules/rename-dest-slash: New module.
67647         * MODULES.html.sh (posix_compat): Add it here.
67648
67649         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67650
67651 2006-09-15  Jim Meyering  <jim@meyering.net>
67652
67653         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67654         file.
67655
67656         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67657
67658 2006-09-15  Jim Meyering  <jim@meyering.net>
67659
67660         * lib/rename-dest-slash.c (has_trailing_slash): Use
67661         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67662         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67663         test before testing whether SRC is a directory.
67664         Suggestions from Bruno Haible.
67665
67666         Avoid a warning about an unused variable.
67667         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67668         into the #ifdef block where it's used.
67669
67670         * lib/rename-dest-slash.c: New file.
67671
67672 2006-09-14  Bruno Haible  <bruno@clisp.org>
67673
67674         * lib/allocsa.c: Include <config.h> unconditionally.
67675         * lib/asnprintf.c: Likewise.
67676         * lib/asprintf.c: Likewise.
67677         * lib/c-strcasecmp.c: Likewise.
67678         * lib/c-strcasestr.c: Likewise.
67679         * lib/c-strncasecmp.c: Likewise.
67680         * lib/c-strstr.c: Likewise.
67681         * lib/classpath.c: Likewise.
67682         * lib/clean-temp.c: Likewise.
67683         * lib/concatpath.c: Likewise.
67684         * lib/copy-file.c: Likewise.
67685         * lib/csharpcomp.c: Likewise.
67686         * lib/csharpexec.c: Likewise.
67687         * lib/execute.c: Likewise.
67688         * lib/fatal-signal.c: Likewise.
67689         * lib/findprog.c: Likewise.
67690         * lib/fwriteerror.c: Likewise.
67691         * lib/gl_array_list.c: Likewise.
67692         * lib/gl_array_oset.c: Likewise.
67693         * lib/gl_avltree_list.c: Likewise.
67694         * lib/gl_avltree_oset.c: Likewise.
67695         * lib/gl_avltreehash_list.c: Likewise.
67696         * lib/gl_carray_list.c: Likewise.
67697         * lib/gl_linked_list.c: Likewise.
67698         * lib/gl_linkedhash_list.c: Likewise.
67699         * lib/gl_list.c: Likewise.
67700         * lib/gl_oset.c: Likewise.
67701         * lib/gl_rbtree_list.c: Likewise.
67702         * lib/gl_rbtree_oset.c: Likewise.
67703         * lib/gl_rbtreehash_list.c: Likewise.
67704         * lib/imaxabs.c: Likewise.
67705         * lib/imaxdiv.c: Likewise.
67706         * lib/javacomp.c: Likewise.
67707         * lib/javaexec.c: Likewise.
67708         * lib/javaversion.c: Likewise.
67709         * lib/linebreak.c: Likewise.
67710         * lib/localcharset.c: Likewise.
67711         * lib/lock.c: Likewise.
67712         * lib/mbchar.c: Likewise.
67713         * lib/mbswidth.c: Likewise.
67714         * lib/mkdtemp.c: Likewise.
67715         * lib/pipe.c: Likewise.
67716         * lib/printf-args.c: Likewise.
67717         * lib/printf-parse.c: Likewise.
67718         * lib/progname.c: Likewise.
67719         * lib/progreloc.c: Likewise.
67720         * lib/readlink.c: Likewise.
67721         * lib/sh-quote.c: Likewise.
67722         * lib/stpcpy.c: Likewise.
67723         * lib/stpncpy.c: Likewise.
67724         * lib/strcasecmp.c: Likewise.
67725         * lib/strcasestr.c: Likewise.
67726         * lib/strcspn.c: Likewise.
67727         * lib/striconv.c: Likewise.
67728         * lib/strncasecmp.c: Likewise.
67729         * lib/strnlen1.c: Likewise.
67730         * lib/strstr.c: Likewise.
67731         * lib/strtok_r.c: Likewise.
67732         * lib/tls.c: Likewise.
67733         * lib/tmpdir.c: Likewise.
67734         * lib/unicodeio.c: Likewise.
67735         * lib/unsetenv.c: Likewise.
67736         * lib/vasnprintf.c: Likewise.
67737         * lib/vasprintf.c: Likewise.
67738         * lib/wait-process.c: Likewise.
67739         * lib/xallocsa.c: Likewise.
67740         * lib/xsetenv.c: Likewise.
67741         * lib/xstriconv.c: Likewise.
67742
67743 2006-09-13  Simon Josefsson  <jas@extundo.com>
67744
67745         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67746         that internally, suggested by Ralf Wildenhues
67747         <Ralf.Wildenhues@gmx.de>.
67748
67749 2006-09-13  Simon Josefsson  <jas@extundo.com>
67750
67751         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67752         @LIBOBJS@.
67753         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67754
67755 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67756
67757         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67758         longer worry about uses that don't define HAVE_CONFIG_H.
67759         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67760         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67761         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67762         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67763         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67764         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67765         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67766         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67767         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67768         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67769         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67770         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67771         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67772         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67773         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67774         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67775         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67776         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67777         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67778         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67779         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67780         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67781         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67782         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67783         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67784         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67785         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67786         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67787         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67788         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67789         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67790         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67791         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67792         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67793         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67794         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67795         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67796         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67797         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67798         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67799         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67800         Likewise.
67801
67802 2006-09-13  Eric Blake  <ebb9@byu.net>
67803
67804         * lib/getopt.c: Fix typo in last commit.
67805
67806 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67807
67808         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67809         dgettext.
67810
67811 2006-09-12  Jim Meyering  <jim@meyering.net>
67812
67813         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67814         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67815         Reported by Nelson H. F. Beebe.
67816
67817 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67818
67819         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67820         program_invocation_name and program_invocation_short_name are
67821         initialized.
67822         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67823         and program_invocation_short_name to argp.h, so they are visible
67824         to user programs.
67825         * lib/argp.h: Likewise
67826
67827 2006-09-10  Bruno Haible  <bruno@clisp.org>
67828
67829         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67830         m4/inttypes_h.m4, m4/uintmax_t.m4.
67831
67832 2006-09-10  Bruno Haible  <bruno@clisp.org>
67833
67834         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67835         gl_AC_TYPE_UINTMAX_T.
67836
67837 2006-09-10  Bruno Haible  <bruno@clisp.org>
67838
67839         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67840
67841 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67842
67843         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67844         convention.  Text proposed by Bruno Haible.
67845         (struct argp_option): Document the use of N_() wrappers.
67846
67847         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67848         '\v', and translate the two parts separately, instead of feeding
67849         the whole string to gettext.  This allows to exclude
67850         '\v' from the strings visible to the translator by writing doc
67851         strings as N_("..") "\v" N_("..").
67852
67853 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67854
67855         * config/srclist.txt: Undo latest change; the bug was fixed.
67856
67857 2006-09-09  Bruno Haible  <bruno@clisp.org>
67858
67859         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67860         assignments if building a library without libtool.
67861         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67862         in func_emit_lib_Makefile_am.
67863         (func_import): When building a static library libfoo.a, arrange to
67864         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67865         (func_create_testdir): Likewise.
67866         * modules/gc (configure.ac, Makefile.am): If building statically,
67867         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67868         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67869         * modules/striconv (configure.ac, Makefile.am): Likewise.
67870         Based on a suggestion by Ralf Wildenhues.
67871
67872 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67873
67874         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67875         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67876         Also:
67877
67878         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67879         Add year_2050_test to catch glibc bug 2821
67880         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67881
67882         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67883         Prefer #ifdef to #if.
67884
67885         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67886         Return from 'main' instead of calling 'exit'.
67887
67888 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67889
67890         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67891         returned the maximum time_t value rather than (time_t) -1.
67892         Problem originally reported by William Bardwell
67893         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67894
67895         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67896         Moved to here ...
67897         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67898         ... from here.
67899
67900 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67901
67902         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67903         2821 is fixed.
67904
67905 2006-09-08  Jim Meyering  <jim@meyering.net>
67906
67907         Don't make generated files read-only.  That would bother too many
67908         people.  However, do retain the ability to work when targets are
67909         read-only: remove the destination and temporary files before writing
67910         them (when generated via sed or echo), or by using the -f option for
67911         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67912         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67913         * modules/byteswap, modules/configmake, modules/fcntl:
67914         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67915         * modules/localcharset, modules/netinet_in, modules/poll:
67916         * modules/stdbool, modules/stdint, modules/sys_select:
67917         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67918
67919 2006-09-08  Jim Meyering  <jim@meyering.net>
67920
67921         Avoid new build failure on FreeBSD 6.0.
67922         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67923         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67924         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67925
67926 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67927
67928         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
67929
67930 2006-09-07  Jim Meyering  <jim@meyering.net>
67931
67932         Fix global typo in last change: use chmod u-w, not chmod u-x.
67933         Spotted by Paul Eggert and Bruce Korb.
67934         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67935         * modules/byteswap, modules/configmake, modules/fcntl:
67936         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67937         * modules/localcharset, modules/netinet_in, modules/poll:
67938         * modules/stdbool, modules/stdint, modules/sys_select:
67939         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67940
67941 2006-09-06  Jim Meyering  <jim@meyering.net>
67942
67943         Make generated files be read-only.
67944         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
67945         Ensure that each generated file is now read-only.
67946         * modules/argz: Likewise.
67947         * modules/arpa_inet: Likewise.
67948         * modules/byteswap: Likewise.
67949         * modules/configmake: Likewise.
67950         * modules/fcntl: Likewise.
67951         * modules/fnmatch: Likewise.
67952         * modules/getopt: Likewise.
67953         * modules/glob: Likewise.
67954         * modules/inttypes: Likewise.
67955         * modules/netinet_in: Likewise.
67956         * modules/poll: Likewise.
67957         * modules/stdbool: Likewise.
67958         * modules/stdint: Likewise.
67959         * modules/sys_select: Likewise.
67960         * modules/sys_socket: Likewise.
67961         * modules/sys_stat: Likewise.
67962         * modules/sysexits: Likewise.
67963         * modules/localcharset: Same as above, but continue using temporary
67964         file named "t-$@" (why different?) rather than the "$@-t" used
67965         everywhere else.
67966
67967         * modules/sysexits (Makefile.am): Replace literal occurrences
67968         of "sysexit.h" more readable, and more consistent, "$@".
67969
67970 2006-09-06  Bruno Haible  <bruno@clisp.org>
67971
67972         * modules/striconv: New file.
67973         * modules/xstriconv: New file.
67974         * MODULES.html.sh (Internationalization functions): Add striconv,
67975         xstriconv.
67976
67977 2006-09-06  Bruno Haible  <bruno@clisp.org>
67978
67979         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
67980         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
67981         not using libtool correctly.
67982
67983 2006-09-06  Bruno Haible  <bruno@clisp.org>
67984
67985         * lib/striconv.h: New file.
67986         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
67987         iconvstring.c.
67988         * lib/xstriconv.h: New file.
67989         * lib/xstriconv.c: New file.
67990
67991 2006-09-06  Bruno Haible  <bruno@clisp.org>
67992
67993         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67994         lib_..._LDFLAGS.
67995
67996 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67997
67998         * lib/argz_.h: Sync from Libtool.
67999
68000         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68001                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68002
68003         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68004
68005 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68006
68007         * modules/trim: New file.
68008
68009 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68010
68011         * lib/trim.h: New file.
68012         * lib/trim.c: New file.
68013
68014 2006-09-05  Bruno Haible  <bruno@clisp.org>
68015
68016         * MODULES.html.sh (String handling): Add trim.
68017
68018 2006-09-04  Karl Berry  <karl@gnu.org>
68019
68020         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68021         until next release.
68022
68023 2006-09-03  Bruno Haible  <bruno@clisp.org>
68024
68025         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68026         correctly.
68027
68028 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68029
68030         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68031         not gl_GETLOADAVG.  Omit unneeded semicolons.
68032         Problems reported by Ralf Wildenhues in
68033         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68034         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68035         at the end, which is the usual gnulib style.
68036
68037         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68038         of doing all the work ourselves.
68039         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68040         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68041
68042 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68045         Problem reported by Ralf Wildenhues in
68046         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68047
68048         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68049         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68050
68051 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68052
68053         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68054         yesterday's patch by changing test -n to test -z.
68055
68056 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68057
68058         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68059         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68060         the former is now obsolescent.
68061
68062         * modules/chdir-long (Depends-on): Add fcntl.
68063
68064 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68065
68066         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68067         obsolescent, and programs should use gnulib instead.
68068         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68069         but with prefixes changed.
68070
68071 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68072
68073         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68074         or stdbool.h, because they might not exist while configuring.
68075
68076         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68077         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68078         does that for us.
68079         (O_DIRECTORY): Remove.
68080
68081 2006-08-31  Eric Blake  <ebb9@byu.net>
68082
68083         * gnulib-tool: Don't let emacs change spaces to TAB.
68084
68085 2006-08-31  Bruno Haible  <bruno@clisp.org>
68086
68087         * gnulib-tool: When calling func_import more than once, do it in a
68088         subshell.
68089         Reported by Eric Blake <ebb9@byu.net>.
68090
68091 2006-08-31  Bruno Haible  <bruno@clisp.org>
68092
68093         * gnulib-tool (nl): Remove variable.
68094         (sed_transform_lib_file): Use more robust test for config-h module.
68095         (func_import): Fix typo in 2006-08-25 patch.
68096
68097 2006-08-31  Bruno Haible  <bruno@clisp.org>
68098
68099         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68100         specified, augment Makefile.am variables instead of assigning them.
68101
68102 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68103
68104         Work around a bug in both the Linux and SunOS 64-bit kernels:
68105         nanosleep mishandles sleeps for longer than 2**31 seconds.
68106         Problem reported by Frank v Waveren in
68107         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68108         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68109         Check for nanosleep bug.
68110         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68111
68112 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68113
68114         Work around a bug in both the Linux and SunOS 64-bit kernels:
68115         nanosleep mishandles sleeps for longer than 2**31 seconds.
68116         Problem reported by Frank v Waveren in
68117         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68118         * lib/nanosleep.c (BILLION): New constant.
68119         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68120         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68121         implementation.
68122
68123 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68124
68125         * modules/nanosleep (Depends-on): Add gettime.
68126
68127 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68128         and Simon Josefsson  <jas@extundo.com>
68129         and Oskar Liljeblad  <oskar@osk.mine.nu>
68130
68131         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68132         * gnulib-tool (func_import): New license type 'unmodifiable license
68133         text'.
68134         * modules/fdl: Use it.  Longer description.
68135         * module/gpl, module/lgpl: New files.
68136
68137 2006-08-30  Jim Meyering  <jim@meyering.net>
68138
68139         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68140         shadowing the parameter.
68141
68142 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68143
68144         Sync from Libtool:
68145
68146         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68147
68148         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68149         sharing with gnulib.  Report by Eric Blake.
68150
68151 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68152
68153         * modules/isapipe: New file.
68154         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68155
68156 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68157
68158         * modules/configmake (Makefile.am): Add a comment, and omit
68159         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68160         by Bruno Haible.
68161
68162 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68163
68164         * m4/isapipe.m4: New file.
68165
68166 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68167
68168         * lib/isapipe.c, lib/isapipe.h: New files.
68169
68170 2006-08-29  Jim Meyering  <jim@meyering.net>
68171
68172         * modules/configmake (Makefile.am): Make configmake.h depend on
68173         Makefile.  Otherwise, a stale configmake.h could hang around.
68174
68175 2006-08-29  Eric Blake  <ebb9@byu.net>
68176
68177         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68178         resolution of upstream bug 3044.
68179
68180 2006-08-29  Bruno Haible  <bruno@clisp.org>
68181
68182         * modules/localcharset (Depends-on): Add configmake.
68183         (Makefile.am): Remove setting of LIBDIR through DEFS.
68184
68185 2006-08-29  Bruno Haible  <bruno@clisp.org>
68186
68187         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68188         defined.
68189
68190 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68191
68192         * modules/fcntl: New file.
68193         * modules/chdir-safer (Depends-on): Add fcntl.
68194         * modules/fts: Likewise.
68195         * modules/mkdir-p: Likewise.
68196
68197         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68198         This undoes the most recent change, since we're now addressing the
68199         problem in a different way.
68200
68201         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68202         into output, since the output might be called Makefile.am even
68203         if $makefile_name is something different.
68204         (func_import): Use $makefile_am rather than
68205         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68206         empty.
68207
68208         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68209
68210 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68211
68212         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68213         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68214         recent change to stdint.m4, since we're now addressing the problem in a
68215         different way.
68216
68217 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68218
68219         * m4/fcntl_h.m4: New file.
68220
68221 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68222
68223         * lib/fcntl_.h: New file.
68224         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68225         the fcntl module.
68226         * lib/dirchownmod.c: Likewise.
68227         * lib/fts.c: Likewise.
68228
68229         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68230         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68231         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68232         just before including <inttypes.h>, to avoid circular inclusion.
68233
68234 2006-08-28  Jim Meyering  <jim@meyering.net>
68235
68236         * doc/visibility.texi: Actually read and correct the grammar of the
68237         sentence affected by yesterday's change.
68238
68239 2006-08-28  Eric Blake  <ebb9@byu.net>
68240
68241         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68242         needs wrapper.
68243
68244 2006-08-28  Eric Blake  <ebb9@byu.net>
68245
68246         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68247
68248 2006-08-28  Eric Blake  <ebb9@byu.net>
68249
68250         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68251
68252 2006-08-28  Bruno Haible  <bruno@clisp.org>
68253
68254         * modules/c-strstr: New file, from GNU gettext.
68255         * MODULES.html.sh (String handling): Add c-strstr.
68256
68257 2006-08-28  Bruno Haible  <bruno@clisp.org>
68258
68259         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68260         macros.
68261         Reported by Eric Blake.
68262
68263 2006-08-28  Bruno Haible  <bruno@clisp.org>
68264
68265         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68266         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68267         * lib/vasprintf.c: Include errno.h, limits.h.
68268         (EOVERFLOW): New fallback definition.
68269         (vasprintf): Test here whether the string length is > INT_MAX.
68270         * lib/vsnprintf.c: Include errno.h, limits.h.
68271         (EOVERFLOW): New fallback definition.
68272         (vsnprintf): Fix bug when generated string was too long for the buffer.
68273         Test here whether the string length is > INT_MAX.
68274
68275 2006-08-28  Bruno Haible  <bruno@clisp.org>
68276
68277         * lib/inttypes_.h (SCNX*): Remove definitions.
68278         Reported by Eric Blake.
68279
68280 2006-08-28  Bruno Haible  <bruno@clisp.org>
68281
68282         * lib/c-strstr.h: New file, from GNU gettext.
68283         * lib/c-strstr.c: New file, from GNU gettext.
68284
68285 2006-08-28  Bruno Haible  <bruno@clisp.org>
68286
68287         * gnulib-tool: Reorder some statements.
68288
68289 2006-08-28  Bruno Haible  <bruno@clisp.org>
68290
68291         * gnulib-tool: New option --makefile-name.
68292         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68293         $makefile_name.
68294         (func_import): Write $makefile_name to the cache file, and read it from
68295         there unless explicitly specified. Use $makefile_name as file name
68296         instead of Makefile.am. Adjust the recommendations accordingly.
68297
68298 2006-08-28  Bruno Haible  <bruno@clisp.org>
68299
68300         * gnulib-tool (func_verify_module): Check against misapplying patch.
68301
68302 2006-08-28  Bruno Haible  <bruno@clisp.org>
68303
68304         * gnulib-tool (func_relativize, func_relconcat): New functions.
68305         Give an error if --local-dir is given with --update.
68306         Remove trailing slashes from $local_gnulib_dir.
68307         (func_import): Store the relativized $local_gnulib_dir in
68308         gnulib-cache.m4, and read it from there if not specified explicitly.
68309
68310 2006-08-28  Bruno Haible  <bruno@clisp.org>
68311
68312         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68313         is the current directory. Respect also $local_gnulib_dir.
68314
68315 2006-08-28  Bruno Haible  <bruno@clisp.org>
68316             Simon Josefsson  <jas@extundo.com>
68317
68318         BeOS portability.
68319         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68320
68321 2006-08-27  Jim Meyering  <jim@meyering.net>
68322
68323         * doc/visibility.texi: Remove duplicate word: "pointer".
68324
68325 2006-08-26  Bruno Haible  <bruno@clisp.org>
68326
68327         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68328         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68329         (Makefile.am): Create inttypes.h from inttypes_.h.
68330         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68331
68332         * modules/imaxabs: New file.
68333
68334         * modules/imaxdiv: New file.
68335
68336 2006-08-26  Bruno Haible  <bruno@clisp.org>
68337
68338         * m4/inttypes.m4: New file.
68339         * m4/_inttypes_h.m4: Remove file.
68340         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68341         PRI_MACROS_BROKEN.
68342         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68343
68344         * m4/imaxabs.m4: New file.
68345
68346         * m4/imaxdiv.m4: New file.
68347
68348 2006-08-26  Bruno Haible  <bruno@clisp.org>
68349
68350         * lib/inttypes_.h: New file.
68351         * lib/inttypes.h: Remove file.
68352         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68353
68354         * lib/imaxabs.c: New file.
68355
68356         * lib/imaxdiv.c: New file.
68357
68358 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68359
68360         New config-h module, so that "make" output needn't be cluttered
68361         by -DHAVE_CONFIG_H.
68362         * MODULES.html.sh (Support for building libraries and executables):
68363         Add config-h.
68364         * modules/config-h: New file.
68365         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68366         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68367         the config-h module is used.
68368
68369         New configmake module, so that "make" output needn't be cluttered
68370         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68371         * MODULES.html.sh (Support for building libraries and executables):
68372         Add configmake.
68373         * modules/configmake: New file.
68374
68375 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68376
68377         * m4/config-h.m4: New file.
68378
68379 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68380
68381         * config/srclist.txt: Add elisp-comp.
68382
68383 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68384
68385         * MODULES.html.sh (Support for building libraries and executables):
68386         Add elisp-comp.
68387         * build-aux/elisp-comp: New file.
68388         * modules/elisp-comp: New file.
68389
68390 2006-08-24  Bruno Haible  <bruno@clisp.org>
68391
68392         * gnulib-tool (func_create_testdir): Use non-default values of
68393         sourcebase and m4base.
68394
68395 2006-08-24  Bruno Haible  <bruno@clisp.org>
68396
68397         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68398         HTML structure.
68399
68400 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68401
68402         * modules/openat (Depends-on): Add lchown.
68403
68404 2006-08-23  Bruno Haible  <bruno@clisp.org>
68405
68406         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68407         of gl_LOCK_EARLY instead of gl_LOCK.
68408
68409 2006-08-23  Bruno Haible  <bruno@clisp.org>
68410
68411         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68412         on OSF/1 to no.
68413         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68414
68415 2006-08-23  Bruno Haible  <bruno@clisp.org>
68416
68417         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68418         as unusable.
68419
68420         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68421         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68422         (gl_LOCK): New macro.
68423
68424 2006-08-22  Simon Josefsson  <jas@extundo.com>
68425
68426         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68427         to md5 module.
68428
68429 2006-08-22  Simon Josefsson  <jas@extundo.com>
68430
68431         * MODULES.html.sh: Add "Support for maintaining and release
68432         projects".
68433
68434         * build-aux/gnupload: New file, from coreutils.
68435
68436 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68437
68438         Avoid the need for AC_LIBSOURCES in m4 macros.
68439         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68440         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68441         * modules/check-version (EXTRA_DIST): Add check-version.h.
68442         * modules/crc (EXTRA_DIST): Add crc.h.
68443         * modules/des (EXTRA_DIST): Add des.h.
68444         * modules/gc (EXTRA_DIST): Add gc.h.
68445         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68446         * modules/getline (EXTRA_DIST): Add getline.h.
68447         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68448         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68449         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68450         * modules/md2 (EXTRA_DIST): Add md2.h.
68451         * modules/md4 (EXTRA_DIST): Add md4.h.
68452         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68453         * modules/read-file (EXTRA_DIST): Add read-file.h.
68454         * modules/readline (EXTRA_DIST): Add readline.h.
68455         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68456         rijndael-api-fst.h.
68457
68458 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68459
68460         * m4/rijndael.m4 (gl_ARCFOUR):
68461         * m4/arctwo.m4 (gl_ARCTWO):
68462         * m4/check-version.m4 (gl_CHECK_VERSION):
68463         * m4/crc.m4 (gl_CRC):
68464         * m4/des.m4 (gl_DES):
68465         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68466         * m4/gc.m4 (gl_GC):
68467         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68468         * m4/getline.m4 (gl_FUNC_GETLINE):
68469         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68470         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68471         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68472         * m4/md2.m4 (gl_MD2):
68473         * m4/md4.m4 (gl_MD4):
68474         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68475         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68476         * m4/readline.m4 (gl_FUNC_READLINE):
68477         * m4/rijndael.m4 (gl_RIJNDAEL):
68478         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68479         to get the necessary .h files and whatnot.
68480
68481 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68482
68483         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68484         gnulib rather than the other way around.
68485         * config/srclistvars.sh (COREUTILS): Remove.
68486
68487 2006-08-22  Jim Meyering  <jim@meyering.net>
68488
68489         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68490
68491         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68492
68493 2006-08-22  Eric Blake  <ebb9@byu.net>
68494
68495         * modules/regexprops-generic: New file.
68496         * MODULES.html.sh (Support for building documentation): List it.
68497
68498 2006-08-22  Eric Blake  <ebb9@byu.net>
68499
68500         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68501         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68502         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68503         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68504
68505 2006-08-22  Bruno Haible  <bruno@clisp.org>
68506
68507         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68508         and lib_LTLIBRARIES like the other lib_* variables.
68509
68510 2006-08-22  Bruno Haible  <bruno@clisp.org>
68511
68512         * build-aux/x-to-1.in: New file, from GNU gettext.
68513
68514 2006-08-22  Bruno Haible  <bruno@clisp.org>
68515
68516         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68517         <utmpx.h> exists.
68518
68519 2006-08-22  Bruno Haible  <bruno@clisp.org>
68520
68521         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68522         <utmpx.h> exists.
68523
68524 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68525
68526         BeOS portability.
68527         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68528         exist.
68529         Problem reported by Bruno Haible.
68530
68531 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68532
68533         Avoid the need for AC_LIBSOURCES in m4 macros.
68534         * modules/acl (EXTRA_DIST): Add acl.h.
68535         * modules/argmatch (Files): Add m4/argmatch.m4.
68536         (configure.ac): Add gl_ARGMATCH.
68537         (EXTRA_DIST): Renamed from lib_SOURCES, for
68538         consistency with the other modules.  Remove argmatch.c.
68539         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68540         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68541         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68542         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68543         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68544         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68545         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68546         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68547         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68548         * modules/closeout (EXTRA_DIST): Add closeout.h.
68549         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68550         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68551         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68552         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68553         dirname.h; remove basename.c and stripslash.c.
68554         * modules/exclude (EXTRA_DIST): Add exclude.h.
68555         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68556         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68557         * modules/file-type (EXTRA_DIST): Add file-type.h.
68558         * modules/filemode (EXTRA_DIST): Add filemode.h.
68559         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68560         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68561         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68562         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68563         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68564         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68565         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68566         * modules/getdate (EXTRA_DIST): Add getdate.c.
68567         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68568         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68569         * modules/getpass (EXTRA_DIST): Add getpass.h.
68570         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68571         * modules/group-member (EXTRA_DIST): Add group-member.h.
68572         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68573         * modules/hash (EXTRA_DIST): Add hash.h.
68574         * modules/human (EXTRA_DIST): Add human.h.
68575         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68576         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68577         * modules/lchown (EXTRA_DIST): Add lchown.h.
68578         * modules/long-options (EXTRA_DIST): Add long-options.h.
68579         * modules/lstat (EXTRA_DIST): Add lstat.h.
68580         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68581         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68582         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68583         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68584         * modules/memxor (EXTRA_DIST): Add memxor.h.
68585         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68586         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68587         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68588         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68589         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68590         * modules/physmem (EXTRA_DIST): Add physmem.h.
68591         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68592         * modules/posixver (EXTRA_DIST): Add posixver.h.
68593         * modules/quote (EXTRA_DIST): Add quote.h.
68594         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68595         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68596         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68597         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68598         regex_internal.h regexec.c.
68599         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68600         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68601         * modules/same (EXTRA_DIST): Add same.h.
68602         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68603         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68604         * modules/savedir (EXTRA_DIST): Add savedir.h.
68605         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68606         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68607         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68608         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68609         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68610         * modules/strdup (EXTRA_DIST): Add strdup.h.
68611         * modules/strftime (EXTRA_DIST): Add strftime.h.
68612         * modules/strndup (EXTRA_DIST): Add strndup.h.
68613         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68614         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68615         * modules/time_r (EXTRA_DIST): Add time_r.h.
68616         * modules/timespec (EXTRA_DIST): Add timespec.h.
68617         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68618         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68619         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68620         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68621         * modules/userspec (EXTRA_DIST): Add userspec.h.
68622         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68623         * modules/utimens (EXTRA_DIST): Add utimens.h.
68624         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68625         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68626         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68627         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68628         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68629         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68630         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68631         * modules/yesno (EXTRA_DIST): Add yesno.h.
68632
68633 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68634
68635         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68636
68637         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68638         * m4/dev-ino.m4, same-inode.m4: Remove.
68639
68640         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68641         * m4/acl.m4 (AC_FUNC_ACL):
68642         * m4/backupfile.m4 (gl_BACKUPFILE):
68643         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68644         * m4/canon-host.m4 (gl_CANON_HOST):
68645         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68646         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68647         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68648         * m4/cloexec.m4 (gl_CLOEXEC):
68649         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68650         * m4/closeout.m4 (gl_CLOSEOUT):
68651         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68652         * m4/dirname.m4 (gl_DIRNAME):
68653         * m4/exclude.m4 (gl_EXCLUDE):
68654         * m4/exitfail.m4 (gl_EXITFAIL):
68655         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68656         * m4/file-type.m4 (gl_FILE_TYPE):
68657         * m4/filemode.m4 (gl_FILEMODE):
68658         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68659         * m4/fpending.m4 (gl_FUNC_FPENDING):
68660         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68661         * m4/fts.m4 (gl_FUNC_FTS):
68662         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68663         * m4/getdate.m4 (gl_GETDATE):
68664         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68665         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68666         * m4/getpass.m4 (gl_FUNC_GETPASS):
68667         * m4/gettime.m4 (gl_GETTIME):
68668         * m4/getugroups.m4 (gl_GETUGROUPS):
68669         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68670         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68671         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68672         * m4/hash.m4 (gl_HASH):
68673         * m4/idcache.m4 (gl_IDCACHE):
68674         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68675         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68676         * m4/long-options.m4 (gl_LONG_OPTIONS):
68677         * m4/lstat.m4 (gl_FUNC_LSTAT):
68678         * m4/md5.m4 (gl_MD5):
68679         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68680         * m4/memcoll.m4 (gl_MEMCOLL):
68681         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68682         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68683         * m4/memxor.m4 (gl_MEMXOR):
68684         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68685         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68686         * m4/modechange.m4 (gl_MODECHANGE):
68687         * m4/mountlist.m4 (gl_MOUNTLIST):
68688         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68689         * m4/openat.m4 (gl_FUNC_OPENAT):
68690         * m4/pathmax.m4 (gl_PATHMAX):
68691         * m4/physmem.m4 (gl_PHYSMEM):
68692         * m4/posixtm.m4 (gl_POSIXTM):
68693         * m4/posixver.m4 (gl_POSIXVER):
68694         * m4/quote.m4 (gl_QUOTE):
68695         * m4/quotearg.m4 (gl_QUOTEARG):
68696         * m4/readtokens.m4 (gl_READTOKENS):
68697         * m4/readutmp.m4 (gl_READUTMP):
68698         * m4/regex.m4 (gl_REGEX):
68699         * m4/safe-read.m4 (gl_SAFE_READ):
68700         * m4/safe-write.m4 (gl_SAFE_WRITE):
68701         * m4/same.m4 (gl_SAME):
68702         * m4/save-cwd.m4 (gl_SAVE_CWD):
68703         * m4/savedir.m4 (gl_SAVEDIR):
68704         * m4/settime.m4 (gl_SETTIME):
68705         * m4/sha1.m4 (gl_SHA1):
68706         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68707         * m4/stat-macros.m4 (gl_STAT_MACROS):
68708         * m4/stat-time.m4 (gl_STAT_TIME):
68709         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68710         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68711         * m4/strdup.m4 (gl_FUNC_STRDUP):
68712         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68713         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68714         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68715         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68716         * m4/time_r.m4 (gl_TIME_R):
68717         * m4/timespec.m4 (gl_TIMESPEC):
68718         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68719         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68720         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68721         * m4/userspec.m4 (gl_USERSPEC):
68722         * m4/utimecmp.m4 (gl_UTIMECMP):
68723         * m4/utimens.m4 (gl_UTIMENS):
68724         * m4/xalloc.m4 (gl_XALLOC):
68725         * m4/xgetcwd.m4 (gl_XGETCWD):
68726         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68727         * m4/xreadlink.m4 (gl_XREADLINK):
68728         * m4/xstrtod.m4 (gl_XSTRTOD):
68729         * m4/yesno.m4 (gl_YESNO):
68730         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68731         to get the necessary .h files and whatnot.
68732
68733 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68734             Bruno Haible  <bruno@clisp.org>
68735
68736         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68737         /bin/sh understanding of '!' conditional negation.
68738
68739 2006-08-21  Jim Meyering  <jim@meyering.net>
68740
68741         * modules/openat (Depends-on): Really alphabetize.
68742
68743         * modules/acl (Depends-on): Add error and quote.
68744
68745         * check-module (find_included_lib_files): Add at-func.c to the
68746         ok-to-include-more-than-once white list.
68747
68748         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68749
68750 2006-08-21  Bruno Haible  <bruno@clisp.org>
68751
68752         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68753         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68754         Reported by Martin Lambers <marlam@marlam.de>.
68755
68756 2006-08-21  Bruno Haible  <bruno@clisp.org>
68757
68758         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68759         specify an installation location, don't emit a noinst_LIBRARIES or
68760         noinst_LTLIBRARIES assignment.
68761
68762 2006-08-21  Bruno Haible  <bruno@clisp.org>
68763
68764         BeOS portability.
68765         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68766         BeOS has mbrtowc() but no <wctype.h>.
68767
68768 2006-08-21  Bruno Haible  <bruno@clisp.org>
68769
68770         BeOS portability.
68771         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68772         exist.
68773
68774 2006-08-21  Bruno Haible  <bruno@clisp.org>
68775
68776         BeOS portability.
68777         * lib/mbchar.h: Include <wctype.h> only if it exists.
68778
68779 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68780
68781         Remove files that are no longer needed by their respective modules.
68782         * m4/obstack.m4: Remove.
68783         * m4/strerror_r.m4: Remove.
68784         * m4/uint32_t.m4: Remove.
68785         * m4/uintptr_t.m4: Remove.
68786         * m4/ullong_max.m4: Remove.
68787         * m4/xstrtoimax.m4: Remove.
68788         * m4/xstrtoumax.m4: Remove.
68789
68790         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68791         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68792         dependencies now capture this.
68793
68794         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68795         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68796         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68797         * m4/human.m4 (gl_HUMAN): Likewise.
68798         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68799         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68800
68801         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68802
68803         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68804         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68805         stdint.
68806         * m4/human.m4 (gl_HUMAN): Likewise.
68807         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68808         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68809         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68810         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68811         * m4/xstrtol (gl_XSTRTOL): Likewise.
68812
68813         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68814         AC_TYPE_LONG_LONG_INT.
68815         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68816         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68817         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68818         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68819
68820         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68821         on stdbool.
68822
68823         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68824         (gl_PREREQ_XSTRTOUL): Remove.
68825
68826         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68827
68828         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68829         mode.
68830
68831 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68832
68833         Add and change modules to make it easier for coreutils to use
68834         gnulib-tool.
68835         * modules/backupfile (Files): Remove m4/d-ino.m4.
68836         (Depends-on): Add d-ino.
68837         * modules/cycle-check (Depends-on): Add stdint.
68838         (lib_SOURCES): Add cycle-check.h.
68839         * modules/d-ino: New module.
68840         * modules/d-type: New module.
68841         * modules/error (Files): Remove m4/strerror_r.m4.
68842         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68843         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68844         m4/inttypes_h.m4, m4/uintmax_t.m4.
68845         (Depends-on): Add stdint.
68846         (lib_SOURCES): Add fsusage.h.
68847         * modules/getcwd (Files): Remove d-ino.m4.
68848         (Depends-on): Add d-ino.
68849         * modules/getndelim2 (Depends-on): Add stdint.
68850         * modules/glob (Files): Remove m4/d-type.m4.
68851         (Depends-on): Add d-type.
68852         * modules/host-os: New module.
68853         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68854         m4/inttypes_h.m4, m4/uintmax_t.m4.
68855         * Depends-on: Add stdint.
68856         (lib_SOURCES): Add human.h.
68857         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68858         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68859         m4/uintmax_t.m4, m4/ulonglong.m4.
68860         (Depends-on): Add stdint.
68861         (EXTRA_DIST): Add inttostr.h.
68862         * modules/lchmod: New module.
68863         * modules/link-follow: New module.
68864         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68865         (Depends-on): Add lchmod.
68866         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68867         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68868         (Depends-on): Add stdint.
68869         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68870         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68871         (Depends-on): Add stdint.
68872         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68873         * modules/perl: New module.
68874         * modules/regex (Depends-on): Add stdint.
68875         * modules/rmdir-errno: New module.
68876         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68877         m4/intmax_t.m4.
68878         (Depends-on): Add stdint.
68879         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68880         m4/uintmax_t.m4.
68881         (Depends-on): Add stdint.
68882         * modules/unlink-busy: New module.
68883         * modules/utimecmp (Depends-on): Add stdint.
68884         * modules/uptime: New module.
68885         * modules/winsz-ioctl: New module.
68886         * modules/winsz-termios: New module.
68887         * modules/xnanosleep (Depends-on): Add nanosleep.
68888         * modules/ullong_max: Remove.
68889         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68890         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68891         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68892         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68893         (Depends-on): Add inttypes.
68894         (lib_SOURCES): Add xstrtol.h.
68895         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68896         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68897         * MODULES.html.sh: Move 'assert' into the assert section.
68898         Move 'dummy' into the linking section.
68899         Remove ullong_max.
68900         Add section for compatibility checks for POSIX:2001 functions,
68901         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68902         winsz-ioctl, and winsz-termios into it.
68903         Add lchmod.
68904         Add top-level Misc section and put host-os, perl, and uptime
68905         into it.
68906
68907 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68908
68909         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68910         now assume the stdint module.  Do not include inttypes.h.
68911         * lib/fsusage.h: Likewise.
68912         * lib/getndelim2.c: Likewise.
68913         * lib/human.h: Likewise.
68914         * lib/inttostr.h: Likewise.
68915         * lib/obstack.c: Likewise.
68916         * lib/regex_internal.h: Likewise.
68917         * lib/tempname.c: Likewise.
68918         * lib/utimecmp.c: Likewise.
68919         * lib/xstrtol.h: Likewise.
68920
68921         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68922
68923         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68924         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68925         * lib/xtime.h: Likewise.
68926
68927 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68928
68929         * modules/openat (Files): Add lib/fchmodat.c.
68930         Fixes problem reported by Jay Youngman.
68931
68932 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68933
68934         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
68935         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
68936
68937 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
68938             Bruno Haible  <bruno@clisp.org>
68939
68940         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
68941         and is a script that invokes bison. Tighten the code. Add comments.
68942
68943 2006-08-18  Jim Meyering  <jim@meyering.net>
68944
68945         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
68946         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
68947         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
68948         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
68949
68950 2006-08-18  Bruno Haible  <bruno@clisp.org>
68951
68952         * modules/bison-i18n: New file.
68953         * MODULES.html.sh (Internationalization functions): Add it.
68954
68955 2006-08-18  Bruno Haible  <bruno@clisp.org>
68956
68957         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
68958         sys/statvfs.h. When getmntinfo was found, check its declaration and
68959         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
68960
68961 2006-08-18  Bruno Haible  <bruno@clisp.org>
68962
68963         * m4/bison-i18n.m4: New file, from bison.
68964
68965 2006-08-18  Bruno Haible  <bruno@clisp.org>
68966
68967         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
68968         (ME_DUMMY): Treat "kernfs" as a dummy.
68969         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
68970
68971 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68972
68973         Update from coreutils.
68974
68975         2006-08-15  Jim Meyering  <jim@meyering.net>
68976
68977         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
68978
68979         2006-01-17  Jim Meyering  <jim@meyering.net>
68980
68981         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
68982
68983         2006-01-11  Jim Meyering  <jim@meyering.net>
68984
68985         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
68986         Check for the lchmod function.
68987
68988 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68989
68990         Update from coreutils.
68991
68992         * lib/__fpending.h: Add copyright notice.
68993         * lib/fprintftime.h: Likewise.
68994         * lib/savedir.c: Use (C) in copyright notice.
68995         * lib/savedir.h: Likewise.
68996
68997         2006-08-15  Jim Meyering  <jim@meyering.net>
68998
68999         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69000         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69001         in support of the EXPECTED_ERRNO macro.
69002         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69003         definitions.  Instead, define the appropriate symbols and include
69004         "at-func.c".
69005         * lib/mkdirat.c (mkdirat): Likewise.
69006         * lib/fchmodat.c (fchmodat): Likewise.
69007         (ENOSYS): Remove definition.
69008         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69009         it.  Don't include "unistd--.h" -- it wasn't ever used.
69010
69011         2006-01-17  Jim Meyering  <jim@meyering.net>
69012
69013         Rewrite fts.c not to change the current working directory,
69014         by using openat, fstatat, fdopendir, etc..
69015
69016         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69017         (HAVE_OPENAT_SUPPORT): Define.
69018         [_LIBC] (fchdir): Don't undef or define; no longer used.
69019         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69020         Now, this `function' always succeeds, and consumes its file descriptor
69021         parameter -- so callers must not close such FDs.  Update callers.
69022         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69023         (diropen): Add parameter, SP.  Adjust all callers.
69024         Implement using diropen_fd, rather than open.
69025         (fts_open): Initialize new member, fts_cwd_fd.
69026         Remove fts_rft-setting code.
69027         (fts_close): Close fts_cwd_fd, if necessary.
69028         (__opendir2): Define in terms of opendir or opendirat,
69029         depending on whether the FST_NOCHDIR flag is set.
69030         (fts_build): Since fts_safe_changedir consumes its FD, and since
69031         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69032         and close the dup'd file descriptor upon failure.
69033         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69034         (fts_safe_changedir): Tweak semantics to reflect that this function
69035         now calls cwd_advance_fd and hence consumes its FD argument.
69036         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69037         [struct FTS] (fts_rft): Remove now-unused member.
69038         [struct FTS] (fts_cycle.state): Improve comment.
69039
69040         * lib/openat.c (openat_needs_fchdir): New function.
69041         * lib/openat.h (openat_needs_fchdir): Declare it.
69042
69043 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69044
69045         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69046         Problem and fix reported by Pádraig Brady in
69047         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69048
69049 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69050
69051         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69052
69053 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69054
69055         * lib/memcoll.c (memcoll): Optimize for the common case where the
69056         arguments are bytewise equal.
69057
69058 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69059
69060         * doc/regexprops-generic.texi: Add a copyright notice.
69061
69062 2006-08-15  Bruno Haible  <bruno@clisp.org>
69063
69064         * modules/tmpdir (License): Change to LGPL.
69065
69066 2006-08-15  Bruno Haible  <bruno@clisp.org>
69067
69068         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69069         module.
69070
69071 2006-08-14  Simon Josefsson  <jas@extundo.com>
69072
69073         * config/srclist.txt: Add gnupload.
69074
69075 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69076
69077         Change copyright notice from LGPL 2 to GPL 2, since that's the
69078         standard form used in the gnulib repository.
69079         * tests/test-lock.c: Likewise.
69080         * tests/test-stdint.c: Likewise.
69081         * tests/test-tls.c: Likewise.
69082
69083         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69084         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69085         Add copyright notice.
69086
69087         * check-module: Add copyright notice.  Output a copyright
69088         notice if "--version" is specified.
69089         * modules/COPYING: New file.
69090         * tests/test-getaddrinfo.c: Add copyright notice.
69091         * tests/test-verify.c: Likewise.
69092
69093 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69094
69095         Change copyright notice from LGPL 2 to GPL 2, since that's the
69096         standard form used in the gnulib repository.
69097         * lib/lock.c: LGPL -> GPL.
69098         * lib/lock.h: Likewise.
69099         * lib/strnlen1.c: Likewise.
69100         * lib/strnlen1.h: Likewise.
69101         * lib/tls.c: Likewise.
69102         * lib/tls.h: Likewise.
69103         * lib/tmpdir.c: Likewise.
69104
69105         * lib/TODO: Remove; this belongs only in coreutils.
69106
69107 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69108
69109         Add copyright notices to long-enough files that lack them, since
69110         otherwise the files aren't clearly free.  Use the same notice that
69111         getdate.texi already uses.
69112         * doc/alloca-opt.texi: Add copyright notice.
69113         * doc/alloca.texi: Likewise.
69114         * doc/ctime.texi: Likewise.
69115         * doc/functions.texi: Likewise.
69116         * doc/gcd.texi: Likewise.
69117         * doc/gnulib-tool.texi: Likewise.
69118         * doc/inet_ntoa.texi: Likewise.
69119         * doc/visibility.texi: Likewise.
69120
69121         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69122         * doc/quote.texi: Add copyright notice.
69123
69124         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69125         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69126         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69127         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69128         is now obsolete, and give a pointer to the Sun list.
69129         Add copyright notice.
69130
69131 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69132
69133         * config/srclistvars.sh: Add copyright notice.
69134
69135 2006-08-14  Eric Blake  <ebb9@byu.net>
69136
69137         Import the following change from libc:
69138
69139         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69140
69141         Upstream bug 2997.
69142         * lib/misc/error.c: Add space between program name and message if file
69143         name is missing.
69144
69145 2006-08-12  Karl Berry  <karl@gnu.org>
69146
69147         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69148         remove, these originate in gnulib now.
69149
69150 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69151
69152         * doc/Makefile (standards.info standards.html standards.dvi):
69153         Also depend on make-stds.texi.
69154
69155 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69156
69157         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69158         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69159
69160         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69161         in wchar_t.  Problem reported by Eric Blake.
69162
69163         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69164         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69165         Also, help the compiler to keep LEN in a register.
69166
69167 2006-08-11  Eric Blake  <ebb9@byu.net>
69168
69169         * users.txt: Sort.  Add tar.
69170
69171 2006-08-11  Bruno Haible  <bruno@clisp.org>
69172
69173         * users.txt: New file.
69174
69175 2006-08-11  Bruno Haible  <bruno@clisp.org>
69176
69177         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69178         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69179
69180 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69181
69182         * modules/snprintf (Depends-on): Remove minmax.
69183         (Maintainer): Add self and Bruno.
69184
69185 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69186
69187         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69188         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69189         (EOVERFLOW): Define if the system does not.
69190         Do not include "minmax.h"; it wasn't used.
69191         (snprintf): Don't assume size_t promotes to an unsigned type.
69192         Fix bug when generated string was too long for the buffer: the
69193         buffer's contents are supposed to be the initial prefix of the
69194         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69195         exceeds INT_MAX; do the check ourselves.
69196
69197         Import the following changes from libc:
69198
69199         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69200
69201         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69202         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69203         set wc to the byte which couldn't be converted.
69204         (re_string_reconstruct): Don't clear valid_raw_len before calling
69205         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69206         tip_context using re_string_context_at.
69207
69208         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69209
69210         * lib/posix/regex.h: g++ still cannot handled [restrict].
69211
69212         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69213
69214         * lib/posix/regex.h: Remove special handling for VMS.
69215
69216 2006-08-10  Jim Meyering  <jim@meyering.net>
69217
69218         * modules/same-inode: New module.
69219         * modules/dev-ino: New module.
69220         * modules/cycle-check: Depend on these modules, rather than simply
69221         including their .h files.
69222         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69223         required via m4/cycle-check.m4.
69224         * modules/same: Depend on new same-inode module, rather than
69225         including same-inode.h.
69226         * modules/chdir-safer: New file.
69227
69228         * modules/chown (Depends-on): Add stat-macros.
69229
69230 2006-08-10  Jim Meyering  <jim@meyering.net>
69231
69232         * m4/cycle-check.m4: New file.
69233         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69234         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69235
69236 2006-08-10  Eric Blake  <ebb9@byu.net>
69237
69238         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69239         in from original proposal.
69240
69241 2006-08-10  Eric Blake  <ebb9@byu.net>
69242         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69243
69244         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69245         namespace.
69246
69247 2006-08-10  Bruno Haible  <bruno@clisp.org>
69248
69249         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69250         as well.
69251
69252 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69253
69254         Sync from coreutils.
69255
69256         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69257
69258         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69259         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69260
69261 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69262
69263         * modules/restrict: Remove; no longer needed now that we assume
69264         Autoconf 2.59 or later.
69265         * MODULES.html.sh: Remove 'restrict'.
69266         * modules/argp (Depends-on): Remove 'restrict'.
69267         * modules/base64 (Depends-on): Likewise.
69268         * modules/gc (Depends-on): Likewise.
69269         * modules/getaddrinfo (Depends-on): Likewise.
69270         * modules/glob (Depends-on): Likewise.
69271         * modules/inet_ntop (Depends-on): Likewise.
69272         * modules/inet_pton (Depends-on): Likewise.
69273         * modules/memxor (Depends-on): Likewise.
69274         * modules/regex (Depends-on): Likewise.
69275         * modules/strtok_r (Depends-on): Likewise.
69276         * modules/time_r (Depends-on): Likewise.
69277
69278 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69279
69280         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69281         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69282         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69283         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69284         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69285         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69286         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69287         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69288
69289         Merge from coreutils.
69290         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69291         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69292         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69293         * m4/time_r.m4 (gl_TIME_R): Likewise.
69294
69295 2006-08-09  Karl Berry  <karl@gnu.org>
69296
69297         * config/srclist.txt: no more gettext-tools, per Bruno.
69298
69299 2006-08-08  Eric Blake  <ebb9@byu.net>
69300
69301         * modules/verror: New module.
69302         * MODULES.html.sh: Document it.
69303
69304 2006-08-08  Eric Blake  <ebb9@byu.net>
69305
69306         * lib/verror.h, lib/verror.c: New files.
69307
69308 2006-08-08  Eric Blake  <ebb9@byu.net>
69309
69310         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69311         verror_at_line output complies with GNU Coding Standards even when
69312         file is NULL.
69313
69314 2006-08-07  Bruno Haible  <bruno@clisp.org>
69315
69316         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69317         versions of AIX.
69318         Reported by Ralf Wildenhues.
69319
69320 2006-08-07  Bruno Haible  <bruno@clisp.org>
69321
69322         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69323         in an AC_DEFUN. Needed so that the autoconf snippets can use
69324         AC_REQUIRE.
69325
69326 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69327
69328         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69329         Initialize pkgdata_DATA.
69330         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69331         overriding it.
69332
69333 2006-08-06  Eric Blake  <ebb9@byu.net>
69334
69335         * lib/error.h: Fold in some upstream changes from glibc.
69336         * lib/error.c: Likewise.
69337
69338 2006-08-04  Bruno Haible  <bruno@clisp.org>
69339
69340         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69341         Make the mostlyclean-local rule depend on mostlyclean-generic.
69342         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69343
69344 2006-07-31  Bruno Haible  <bruno@clisp.org>
69345
69346         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69347         <stdlib.h>, <string.h>.
69348
69349 2006-07-30  Bruno Haible  <bruno@clisp.org>
69350
69351         * modules/readlink (License): Change to LGPL.
69352
69353 2006-07-30  Bruno Haible  <bruno@clisp.org>
69354
69355         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69356         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69357         set PKGDATADIR to point to it.
69358
69359 2006-07-30  Bruno Haible  <bruno@clisp.org>
69360
69361         * modules/csharpexec (configure.ac): Comment out macro invocation.
69362         * modules/javaexec (configure.ac): Likewise.
69363         * modules/javacomp-script (configure.ac): Likewise.
69364
69365         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69366
69367 2006-07-30  Bruno Haible  <bruno@clisp.org>
69368
69369         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69370         linked-list.
69371
69372 2006-07-30  Bruno Haible  <bruno@clisp.org>
69373
69374         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69375
69376 2006-07-30  Bruno Haible  <bruno@clisp.org>
69377
69378         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69379         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69380         get removed.
69381
69382 2006-07-29  Bruno Haible  <bruno@clisp.org>
69383
69384         Make it possible for gnulib-tool to work with locally modified or
69385         augmented gnulib repositories.
69386         * gnulib-tool (func_usage): Document --local-dir option.
69387         (local_gnulib_dir): New variable.
69388         Handle --local-dir option.
69389         (func_lookup_file): New function.
69390         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69391         (func_get_description, func_get_filelist, func_get_description,
69392         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69393         func_get_automake_snippet, func_get_include_directive,
69394         func_get_license, func_get_maintainer): Use func_lookup_file.
69395         (func_import, func_create_testdir): Use func_lookup_file.
69396
69397 2006-07-29  Bruno Haible  <bruno@clisp.org>
69398
69399         * modules/setenv (Depends-on): Add unistd.
69400
69401 2006-07-29  Bruno Haible  <bruno@clisp.org>
69402
69403         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69404
69405 2006-07-29  Bruno Haible  <bruno@clisp.org>
69406
69407         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69408
69409 2006-07-29  Bruno Haible  <bruno@clisp.org>
69410
69411         * gnulib-tool (import, update): If there is no Makefile.am, look at
69412         aclocal.m4, instead of bailing out.
69413
69414 2006-07-29  Bruno Haible  <bruno@clisp.org>
69415
69416         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69417         Categorize the options by when they are useful.
69418
69419 2006-07-29  Bruno Haible  <bruno@clisp.org>
69420
69421         * gnulib-tool (func_usage): Document option --no-libtool.
69422         Handle option --no-libtool.
69423         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69424         for changed semantics of $libtool variable.
69425         (func_import): Likewise. If libtool is not used, show this through
69426         an option --no-libtool.
69427         (func_create_testdir): Update.
69428
69429 2006-07-29  Bruno Haible  <bruno@clisp.org>
69430
69431         * gnulib-tool (func_import): Extend error message about missing
69432         --doc-base.
69433
69434 2006-07-29  Bruno Haible  <bruno@clisp.org>
69435
69436         * gnulib-tool (func_import): Don't create the $docbase directory if
69437         there is no file to store there.
69438
69439 2006-07-29  Bruno Haible  <bruno@clisp.org>
69440
69441         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69442         relevant, look for configure.ac there, not in the current directory.
69443         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69444
69445 2006-07-29  Bruno Haible  <bruno@clisp.org>
69446
69447         * gnulib-tool (SORT): New variable.
69448         (func_usage): Undocument --assume-autoconf option.
69449         Remove --assume-autoconf option handling.
69450         (autoconf_minversion): Determine from the contents of configure.ac.
69451         (func_import): Remove autoconf_minversion handling.
69452         Suggested by Eric Blake.
69453
69454 2006-07-29  Bruno Haible  <bruno@clisp.org>
69455
69456         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69457
69458 2006-07-29  Bruno Haible  <bruno@clisp.org>
69459
69460         * config/srclist.txt (*setenv.[ch]): Remove rules.
69461
69462 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69463
69464         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69465
69466 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69467
69468         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69469         arpa/inet.h.
69470
69471 2006-07-28  Simon Josefsson  <jas@extundo.com>
69472
69473         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69474         * modules/inet_pton (Depends-on): Likewise.
69475
69476 2006-07-28  Simon Josefsson  <jas@extundo.com>
69477
69478         * m4/netinet_in_h.m4: New file.
69479
69480 2006-07-28  Simon Josefsson  <jas@extundo.com>
69481
69482         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69483         #include's.
69484
69485 2006-07-28  Simon Josefsson  <jas@extundo.com>
69486
69487         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69488         #include's.
69489
69490 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69491
69492         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69493         setgid on directories only if they set these bits.
69494         * lib/modechange.h: Remove obsolete comment about masks.
69495
69496 2006-07-28  Eric Blake  <ebb9@byu.net>
69497
69498         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69499         macro expansion.
69500
69501 2006-07-28  Bruno Haible  <bruno@clisp.org>
69502
69503         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69504
69505 2006-07-28  Bruno Haible  <bruno@clisp.org>
69506
69507         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69508
69509 2006-07-28  Bruno Haible  <bruno@clisp.org>
69510
69511         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69512         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69513         Define fallbacks.
69514         Avoids link error on FreeBSD 4.x.
69515         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69516
69517         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69518         encoding.
69519         * lib/mbswidth.c (iswcntrl): Likewise.
69520
69521 2006-07-27  Bruno Haible  <bruno@clisp.org>
69522
69523         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69524         test.
69525
69526 2006-07-27  Bruno Haible  <bruno@clisp.org>
69527
69528         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69529         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69530         defined.
69531
69532 2006-07-26  Eric Blake  <ebb9@byu.net>
69533
69534         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69535
69536 2006-07-26  Eric Blake  <ebb9@byu.net>
69537
69538         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69539         like mingw that lack mkstemp.
69540         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69541         avoid compilation warning on mingw.
69542
69543 2006-07-26  Bruno Haible  <bruno@clisp.org>
69544
69545         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69546         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69547         INT_FAST*_MIN, INTPTR_MIN.
69548
69549 2006-07-25  Bruno Haible  <bruno@clisp.org>
69550
69551         * modules/version-etc (Depends-on): Add stdarg.
69552
69553 2006-07-25  Bruno Haible  <bruno@clisp.org>
69554
69555         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69556         complex commands.
69557
69558 2006-07-25  Bruno Haible  <bruno@clisp.org>
69559
69560         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69561         defined in <stdarg.h> or config.h.
69562
69563 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69564
69565         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69566         (gl_STDIO_SAFER): Remove.
69567
69568 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69569
69570         * MODULES.html.sh (File stream based Input/Output):
69571         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69572         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69573         * modules/fopen-safer, modules/tmpfile-safer: New files.
69574         * modules/stdio-safer: Remove.
69575
69576 2006-07-24  Bruno Haible  <bruno@clisp.org>
69577
69578         * modules/tmpdir: New file.
69579         * MODULES.html.sh (File system functions): Add it.
69580
69581 2006-07-24  Bruno Haible  <bruno@clisp.org>
69582
69583         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69584         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69585
69586 2006-07-24  Bruno Haible  <bruno@clisp.org>
69587
69588         * modules/clean-temp: New file.
69589
69590 2006-07-24  Bruno Haible  <bruno@clisp.org>
69591
69592         * m4/tmpdir.m4: New file, from GNU gettext.
69593
69594 2006-07-24  Bruno Haible  <bruno@clisp.org>
69595
69596         * lib/tmpdir.h: New file, from GNU gettext.
69597         * lib/tmpdir.c: New file, from GNU gettext.
69598
69599 2006-07-24  Bruno Haible  <bruno@clisp.org>
69600
69601         * lib/clean-temp.h: New file, from GNU gettext.
69602         * lib/clean-temp.c: New file, from GNU gettext.
69603
69604 2006-07-23  Eric Blake  <ebb9@byu.net>
69605
69606         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69607         (Depends-on): Add binary-io.
69608
69609 2006-07-23  Eric Blake  <ebb9@byu.net>
69610
69611         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69612
69613 2006-07-23  Eric Blake  <ebb9@byu.net>
69614
69615         * lib/tmpfile-safer.c: New file.
69616         * lib/stdio-safer.h (fopen_safer): Add prototype.
69617         * lib/stdio--.h (tmpfile): Make safer.
69618
69619 2006-07-23  Bruno Haible  <bruno@clisp.org>
69620
69621         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69622         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69623         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69624         gl_linked_remove_at): Use it.
69625
69626 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69627         and Simon Josefsson <jas@extundo.com>
69628
69629         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69630
69631         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69632
69633 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69634
69635         * modules/close-stream: New file.
69636         * modules/closeout (Description): Make it clear that it exits
69637         with a diagnostic on error.
69638         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69639         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69640
69641 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69642
69643         * m4/close-stream.m4: New file.
69644
69645 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69646
69647         * lib/close-stream.c, lib/close-stream.h: New files.
69648
69649 2006-07-22  Bruno Haible  <bruno@clisp.org>
69650
69651         Merge from GNU gettext 0.15.
69652
69653         2006-05-01  Bruno Haible  <bruno@clisp.org>
69654
69655                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69656
69657         2006-07-22  Bruno Haible  <bruno@clisp.org>
69658
69659                 * modules/javaversion: New file.
69660                 * MODULES.html.sh (Java): Add javaversion.
69661
69662         2006-03-12  Bruno Haible  <bruno@clisp.org>
69663
69664                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69665
69666         2005-12-04  Bruno Haible  <bruno@clisp.org>
69667
69668                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69669                 (untested).
69670
69671         2006-06-21  Bruno Haible  <bruno@clisp.org>
69672
69673                 Avoid warnings from recent versions of mcs.
69674                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69675                 -o, -L, -r any more. Use options documented since mcs-1.0
69676                 instead. Similarly for -g.
69677
69678         2005-12-04  Bruno Haible  <bruno@clisp.org>
69679
69680                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69681                 .resources, not .resource.
69682
69683         2005-07-09  Bruno Haible  <bruno@clisp.org>
69684
69685                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69686                 add a .dll suffix.
69687                 Reported by Mark Junker <mjscod@gmx.de>.
69688
69689         2006-07-22  Bruno Haible  <bruno@clisp.org>
69690
69691                 * modules/gettext: Upgrade to gettext-0.15.
69692                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69693                 m4/visibility.m4.
69694                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69695
69696 2006-07-22  Bruno Haible  <bruno@clisp.org>
69697
69698         Merge from GNU gettext 0.15.
69699
69700         2006-03-25  Bruno Haible  <bruno@clisp.org>
69701
69702                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69703
69704         2006-07-21  Bruno Haible  <bruno@clisp.org>
69705
69706                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69707                 "1.1".
69708
69709         2006-05-09  Bruno Haible  <bruno@clisp.org>
69710
69711                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69712                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69713                 for the conftestver execution.
69714
69715         2006-05-01  Bruno Haible  <bruno@clisp.org>
69716
69717                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69718                 optional target-version argument. Verify that the compiler
69719                 groks source of the specified source-version, or add -source
69720                 option as necessary. Verify that the compiler produces
69721                 bytecode in the specified target-version, or add -target and
69722                 -source options as necessary. Make the result of the test
69723                 available as variable CONF_JAVAC. Also log error output in
69724                 config.log.
69725
69726         2006-03-11  Bruno Haible  <bruno@clisp.org>
69727
69728                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69729
69730         2006-05-09  Bruno Haible  <bruno@clisp.org>
69731
69732                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69733                 CLASSPATH_SEPARATOR to a semicolon.
69734
69735         2006-03-12  Bruno Haible  <bruno@clisp.org>
69736
69737                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69738                 available as variable CONF_JAVA, for subsequent autoconf
69739                 tests. Also log error output in config.log.
69740
69741         2006-07-19  Bruno Haible  <bruno@clisp.org>
69742
69743                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69744                 that getline works on glibc2 systems. Needed to avoid trouble
69745                 in relocatable.c.
69746                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69747
69748         2005-12-04  Bruno Haible  <bruno@clisp.org>
69749
69750                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69751                 launcher (untested).
69752
69753         2005-12-04  Bruno Haible  <bruno@clisp.org>
69754
69755                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69756
69757         2006-07-22  Bruno Haible  <bruno@clisp.org>
69758
69759                 * gettext.m4: Update from GNU gettext-0.15.
69760                 * nls.m4: Likewise.
69761                 * po.m4: Likewise.
69762                 * inttypes-pri.m4: Likewise.
69763                 * inttypes-h.m4: Renamed from inttypes.m4.
69764                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69765
69766 2006-07-22  Bruno Haible  <bruno@clisp.org>
69767
69768         Merge from GNU gettext 0.15.
69769
69770         2005-07-05  Bruno Haible  <bruno@clisp.org>
69771
69772                 * printf-args.c (printf_fetchargs): Work around broken
69773                 definition of wint_t on mingw.
69774
69775         2005-02-12  Bruno Haible  <bruno@clisp.org>
69776
69777                 * xallocsa.h: Add extern "C" for C++.
69778
69779         2006-05-17  Bruno Haible  <bruno@clisp.org>
69780
69781                 Cygwin portability.
69782                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69783
69784         2006-04-30  Bruno Haible  <bruno@clisp.org>
69785
69786                 * progreloc.c: Include <mach-o/dyld.h> if available.
69787                 (find_executable): Use _NSGetExecutablePath when possible.
69788
69789         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69790
69791                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69792                 function.
69793
69794         2005-12-29  Bruno Haible  <bruno@clisp.org>
69795
69796                 * progreloc.c (set_program_name_and_installdir): Fix
69797                 compilation error.
69798
69799         2005-12-04  Bruno Haible  <bruno@clisp.org>
69800
69801                 Cygwin portability.
69802                 * progreloc.c: Include <windows.h> also on Cygwin.
69803                 (find_executable): Add support for Cygwin.
69804                 (set_program_name_and_installdir): Handle also platforms with
69805                 nonempty EXEEXT.
69806
69807         2006-07-11  Bruno Haible  <bruno@clisp.org>
69808
69809                 * javacomp.c: Fix a comment.
69810                 Reported by Jim Meyering.
69811
69812         2006-04-30  Bruno Haible  <bruno@clisp.org>
69813
69814                 * javacomp.h (compile_java_class): Add source_version,
69815                 target_version arguments.
69816                 * javacomp.c: Rewritten to choose only a compiler that
69817                 respects the specified source_version and target_version.
69818
69819         2006-06-27  Bruno Haible  <bruno@clisp.org>
69820
69821                 Assume correct S_ISDIR macro.
69822                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69823
69824         2006-07-22  Bruno Haible  <bruno@clisp.org>
69825
69826                 * javaversion.h: New file, from GNU gettext.
69827                 * javaversion.c: New file, from GNU gettext.
69828                 * javaversion.java: New file, from GNU gettext.
69829                 * javaversion.class: New file, from GNU gettext.
69830
69831         2006-05-17  Bruno Haible  <bruno@clisp.org>
69832
69833                 Cygwin portability.
69834                 * javaexec.c (execute_java_class): Test for jview program
69835                 also on Cygwin.
69836
69837         2006-04-09  Bruno Haible  <bruno@clisp.org>
69838
69839                 * fatal-signal.c: Don't include string.h.
69840                 (at_fatal_signal): Use a copying loop instead of memcpy.
69841
69842         2005-12-04  Bruno Haible  <bruno@clisp.org>
69843
69844                 * csharpexec.c: Add support for 'clix' launcher (untested).
69845                 (execute_csharp_using_sscli): New function.
69846                 (execute_csharp_program): Call it.
69847
69848         2006-06-21  Bruno Haible  <bruno@clisp.org>
69849
69850                 Avoid warnings from recent versions of mcs.
69851                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69852                 -o, -L, -r any more. Use options documented since mcs-1.0
69853                 instead. Similarly for -g.
69854
69855         2005-07-09  Bruno Haible  <bruno@clisp.org>
69856
69857                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69858                 add a .dll suffix.
69859                 Reported by Mark Junker <mjscod@gmx.de>.
69860
69861         2006-06-17  Bruno Haible  <bruno@clisp.org>
69862
69863                 * config.charset: Update for NetBSD 3.0.
69864
69865         2006-05-17  Bruno Haible  <bruno@clisp.org>
69866
69867                 Cygwin portability.
69868                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69869
69870         2006-05-16  Bruno Haible  <bruno@clisp.org>
69871
69872                 * localcharset.c [CYGWIN]: Include <windows.h>.
69873                 (get_charset_aliases): For Cygwin, return the same CPxxx
69874                 aliases list as under WIN32.
69875                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69876                 the environment variables. Fall back to GetACP().
69877
69878         2006-04-05  Bruno Haible  <bruno@clisp.org>
69879
69880                 * config.charset: Update Juan Manuel Guerrero's address.
69881
69882         2005-02-12  Bruno Haible  <bruno@clisp.org>
69883
69884                 * allocsa.h: Add extern "C" for C++.
69885
69886         2005-02-10  Bruno Haible  <bruno@clisp.org>
69887
69888                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69889                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69890
69891         2006-07-22  Bruno Haible  <bruno@clisp.org>
69892
69893                 * gettext.h: Update to GNU gettext-0.15.
69894
69895 2006-07-22  Bruno Haible  <bruno@clisp.org>
69896
69897         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69898         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69899         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69900
69901 2006-07-21  Eric Blake  <ebb9@byu.net>
69902
69903         * modules/stdlib-safer: New file.
69904         * MODULES.html.sh (File stream based Input/Output): Add
69905         stdlib-safer.
69906
69907 2006-07-21  Eric Blake  <ebb9@byu.net>
69908
69909         * lib/stdlib-safer.h: New file from coreutils, required by
69910         stdlib--.h.
69911
69912 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69913
69914         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69915
69916 2006-07-20  Bruno Haible  <bruno@clisp.org>
69917
69918         * gnulib-tool: Recognize new option --assume-autoconf.
69919         (autoconf_minversion): New variable.
69920         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69921
69922 2006-07-20  Bruno Haible  <bruno@clisp.org>
69923
69924         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69925
69926 2006-07-19  Derek R. Price  <derek@ximbiot.com>
69927
69928         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
69929         Reindent and repaginate.
69930
69931 2006-07-19  Derek Price  <derek@ximbiot.com>
69932
69933         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
69934         Correct grammar.
69935
69936 2006-07-17  Bruno Haible  <bruno@clisp.org>
69937
69938         * modules/list: New file.
69939         * modules/array-list: New file.
69940         * modules/carray-list, modules/carray-list-tests: New files.
69941         * modules/linked-list, modules/linked-list-tests: New files.
69942         * modules/avltree-list, modules/avltree-list-tests: New files.
69943         * modules/rbtree-list, modules/rbtree-list-tests: New files.
69944         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
69945         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
69946         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
69947         * modules/oset: New file.
69948         * modules/array-oset: New file.
69949         * modules/avltree-oset, modules/avltree-oset-tests: New files.
69950         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
69951         * tests/test-carray_list.c: New file.
69952         * tests/test-linked_list.c: New file.
69953         * tests/test-avltree_list.c: New file.
69954         * tests/test-rbtree_list.c: New file.
69955         * tests/test-linkedhash_list.c: New file.
69956         * tests/test-avltreehash_list.c: New file.
69957         * tests/test-rbtreehash_list.c: New file.
69958         * tests/test-avltree_oset.c: New file.
69959         * tests/test-rbtree_oset.c: New file.
69960         * MODULES.html.sh (Container data structures): New section.
69961
69962 2006-07-17  Bruno Haible  <bruno@clisp.org>
69963
69964         * m4/gl_list.m4: New file.
69965
69966 2006-07-17  Bruno Haible  <bruno@clisp.org>
69967
69968         * lib/gl_list.h: New file.
69969         * lib/gl_list.c: New file.
69970         * lib/gl_array_list.h: New file.
69971         * lib/gl_array_list.c: New file.
69972         * lib/gl_carray_list.h: New file.
69973         * lib/gl_carray_list.c: New file.
69974         * lib/gl_linked_list.h: New file.
69975         * lib/gl_linked_list.c: New file.
69976         * lib/gl_anylinked_list1.h: New file.
69977         * lib/gl_anylinked_list2.h: New file.
69978         * lib/gl_avltree_list.h: New file.
69979         * lib/gl_avltree_list.c: New file.
69980         * lib/gl_anyavltree_list1.h: New file.
69981         * lib/gl_anyavltree_list2.h: New file.
69982         * lib/gl_rbtree_list.h: New file.
69983         * lib/gl_rbtree_list.c: New file.
69984         * lib/gl_anyrbtree_list1.h: New file.
69985         * lib/gl_anyrbtree_list2.h: New file.
69986         * lib/gl_anytree_list1.h: New file.
69987         * lib/gl_anytree_list2.h: New file.
69988         * lib/gl_linkedhash_list.h: New file.
69989         * lib/gl_linkedhash_list.c: New file.
69990         * lib/gl_anyhash_list1.h: New file.
69991         * lib/gl_anyhash_list2.h: New file.
69992         * lib/gl_avltreehash_list.h: New file.
69993         * lib/gl_avltreehash_list.c: New file.
69994         * lib/gl_rbtreehash_list.h: New file.
69995         * lib/gl_rbtreehash_list.c: New file.
69996         * lib/gl_anytreehash_list1.h: New file.
69997         * lib/gl_anytreehash_list2.h: New file.
69998
69999         * lib/gl_oset.h: New file.
70000         * lib/gl_oset.c: New file.
70001         * lib/gl_array_oset.h: New file.
70002         * lib/gl_array_oset.c: New file.
70003         * lib/gl_avltree_oset.h: New file.
70004         * lib/gl_avltree_oset.c: New file.
70005         * lib/gl_rbtree_oset.h: New file.
70006         * lib/gl_rbtree_oset.c: New file.
70007         * lib/gl_anytree_oset.h: New file.
70008
70009 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70010
70011         * m4/mkancesdirs.m4: New file.
70012         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70013         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70014         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70015         it.
70016
70017 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70018
70019         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70020         * lib/mkancesdirs.h: New files.
70021         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70022         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70023         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70024         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70025         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70026         callers changed.  Revamp internals significantly, by not
70027         attempting to create directories that are temporarily more
70028         permissive than the final results.  Do not attempt to use
70029         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70030         This removes some race conditions, fixes some bugs, and simplifies
70031         things.  Use new dirchownmod function to do owner and mode changes.
70032         * lib/mkdir-p.h: Likewise.
70033         * lib/modechange.c (octal_to_mode): New function.
70034         (struct mode_change): New member mentioned.
70035         (make_node_op_equals): New arg mentioned.  All callers changed.
70036         (mode_compile): Keep track of which mode bits the user has explicitly
70037         mentioned.
70038         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70039         New arg PMODE_BITS, to keep track of which mode bits the user
70040         mentioned; it treats S_ISUID and S_ISGID speciall.
70041         All callers changed.
70042         * lib/modechange.h: Likewise.
70043
70044 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70045
70046         * MODULES.html.sh: Add mkancestors.
70047         * modules/mkancesdirs: New module.
70048         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70049         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70050         The chdir-safer and afs files are now orphans; I'll remove them
70051         unless someone speaks up.
70052         Add lib/dirchownmod.c, lib/dirchownmod.h.
70053         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70054         Add lchown, mkancesdirs.
70055         (Maintainer): Add self.
70056
70057 2006-07-15  Karl Berry  <karl@gnu.org>
70058
70059         * gnulib-tool: help message wording/arrangement.
70060
70061 2006-07-14  Simon Josefsson  <jas@extundo.com>
70062
70063         * doc/gnulib.texi (Libtool and Windows): New section.
70064
70065 2006-07-12  Simon Josefsson  <jas@extundo.com>
70066
70067         * modules/gendocs (License): Fix license, approved by Karl.
70068
70069 2006-07-12  Eric Blake  <ebb9@byu.net>
70070
70071         * MODULES.html.sh: Add gendocs.
70072
70073 2006-07-11  Eric Blake  <ebb9@byu.net>
70074
70075         * modules/fdl: New module, to install doc/fdl.texi.
70076         * MODULES.html.sh: Add new section for documentation modules.
70077         * gnulib-tool: Avoid space-tab.
70078         (--doc-base): New option, to manage files from doc.
70079
70080 2006-07-11  Eric Blake  <ebb9@byu.net>
70081
70082         * m4/absolute-header.m4: Fix comments to match recent change.
70083
70084 2006-07-11  Eric Blake  <ebb9@byu.net>
70085
70086         * gnulib-tool: List --doc-base before --tests-base.
70087
70088 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70089
70090         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70091
70092 2006-07-11  Bruno Haible  <bruno@clisp.org>
70093
70094         * README: Mention where to put documentation.
70095
70096 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70097
70098         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70099
70100 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70101
70102         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70103         to stdint.m4.
70104
70105 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70106
70107         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70108         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70109         "no/such/file/stdint.h" when there is no such file, so that
70110         the resulting C code can be parsed by dodgy compilers.
70111         Problems reported by Bob Proulx.
70112
70113 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70114
70115         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70116         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70117         macros into the GNU _D_EXACT_NAMLEN.
70118         * lib/savedir.c:  Likewise.
70119         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70120
70121 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70122         and Paul Eggert  <eggert@cs.ucla.edu>
70123
70124         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70125         * m4/savedir.m4:
70126         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70127         macros into the GNU _D_EXACT_NAMLEN.
70128
70129 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70130
70131         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70132         around the absolute name, to work around a problem with the HP-UX
70133         11.23 native C compiler, reported by Bob Proulx.
70134
70135 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70136
70137         * doc/maintain.texi, make-stds.texi: Sync from
70138         <http://savannah.gnu.org/projects/gnustandards>.
70139
70140 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70141
70142         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70143
70144 2006-07-09  Jim Meyering  <jim@meyering.net>
70145
70146         * m4/glob.m4: Remove a doubled word in a comment.
70147
70148 2006-07-09  Jim Meyering  <jim@meyering.net>
70149
70150         * lib/argp-pv.c: Remove a doubled word in a comment.
70151         * lib/check-version.c (check_version): Likewise.
70152         * lib/javacomp.c (compile_java_class): Likewise.
70153
70154 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70155
70156         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70157         for the benefit of people using Autoconf 2.60.  If you want to
70158         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70159         (or m4/onceonly.m4, if pre-2.57) manually.
70160
70161 2006-07-08  Jim Meyering  <jim@meyering.net>
70162
70163         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70164         comment.
70165         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70166         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70167         comment.
70168
70169 2006-07-08  Jim Meyering  <jim@meyering.net>
70170
70171         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70172
70173 2006-07-07  Simon Josefsson  <jas@extundo.com>
70174
70175         * tests/test-crc.c: Change expected crc value, the test vector
70176         were probably computed using the old broken crc.c?
70177
70178 2006-07-06  Simon Josefsson  <jas@extundo.com>
70179
70180         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70181         now the canonical place for the M4 file).
70182
70183         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70184         from the sys_socket dependency now.
70185
70186         * modules/inet_pton (Files): Ditto.
70187
70188         * modules/inet_ntop (Files): Ditto.
70189
70190 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70191
70192         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70193         not gl_PREREQ_GETUSERSHELL.
70194
70195 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70196
70197         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70198         with only one argument, for Autoconf 2.60.
70199         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70200         expand to nothing, so add a shell command to avoid syntax error.
70201         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70202
70203 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70204
70205         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70206
70207 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70208
70209         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70210         no longer needed.  Check for isblank decl.
70211         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70212         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70213         of existence.
70214
70215 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70216
70217         * lib/getloadavg.c: Use __VMS, not VMS.
70218         * lib/getopt.c: Likewise.
70219         * lib/getpagesize.h: Likewise.
70220         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70221         and probably does not work.
70222
70223 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70224
70225         * lib/.cppi-disable: Add wcwidth.
70226         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70227         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70228         (ISGRAPH): Remove.  All uses changed to isgraph.
70229         (FOLD) [!defined _LIBC]: Remove special case.
70230         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70231         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70232         HAVE_ISBLANK.
70233         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70234         case.
70235
70236 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70237
70238         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70239         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70240         brackets.  Other minor changes to suppress some compiler
70241         warnings.
70242
70243 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70244         and Paul Eggert  <eggert@cs.ucla.edu>
70245
70246         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70247         of invoking obsolescent AC_HEADER_DIRENT macro.
70248         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70249         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70250         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70251         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70252         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70253         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70254         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70255         * m4/readdir.m4: Remove; no longer needed.
70256
70257 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70258         and Paul Eggert  <eggert@cs.ucla.edu>
70259
70260         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70261         Don't worry about this obsolete case any more.
70262         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70263         directories.
70264         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70265         worry about this obsolete case any more.
70266         * lib/fts.c: Likewise.
70267         * lib/getcwd.c: Likewise.
70268         * lib/glob.h: Likewise.
70269         * lib/savedir.c: Likewise.
70270
70271 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70272
70273         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70274         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70275         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70276         needed.
70277         All uses removed.
70278         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70279         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70280         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70281         needed.
70282         * m4/getdate.m4 (gl_GETDATE): Likewise.
70283         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70284         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70285         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70286         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70287         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70288         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70289         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70290         needed.
70291
70292 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70293
70294         * lib/memcasecmp.c: Include <limits.h>.
70295         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70296         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70297         Don't assume isdigit succeeds only on '0' through '9'.
70298
70299 2006-07-05  Eric Blake  <ebb9@byu.net>
70300
70301         * modules/getaddrinfo (Depends-on): Add snprintf.
70302
70303 2006-07-05  Eric Blake  <ebb9@byu.net>
70304
70305         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70306         to avoid 'header present but could not be compiled' on cygwin.
70307
70308 2006-07-05  Eric Blake  <ebb9@byu.net>
70309
70310         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70311         missing from netdb.h.
70312         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70313
70314 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70315
70316         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70317         no longer needed.
70318         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70319         * m4/getdate.m4 (gl_GETDATE): Likewise.
70320         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70321         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70322         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70323         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70324         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70325
70326 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70327
70328         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70329         All uses of is_space replaced by isspace.
70330         * lib/exit.h: Don't talk about STDC_HEADERS.
70331         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70332         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70333         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70334         replaced by isprint etc.
70335         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70336         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70337         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70338         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70339         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70340         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70341
70342 2006-07-05  Bruno Haible  <bruno@clisp.org>
70343
70344         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70345         the function exists, before testing against AIX.
70346         Reported by Martin Lambers <marlam@marlam.de>.
70347
70348 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70349
70350         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70351         From Mark D. Baushke.
70352
70353 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70354
70355         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70356         to the absolute name, not just one, to bypass Sun C 5.8's
70357         "warning: #include of /usr/include/... may be non-portable".
70358
70359 2006-07-04  Eric Blake  <ebb9@byu.net>
70360
70361         * modules/dirname-tests: New test module.
70362         * tests/test-dirname.c: New file, replacing dirname.c
70363         TEST_DIRNAME section that was recently deleted.
70364
70365 2006-07-04  Bruno Haible  <bruno@clisp.org>
70366
70367         Assume ANSI C header files and <ctype.h> functions.
70368         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70369         (mbsnwidth): Use isprint, iscntrl instead.
70370
70371 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70372
70373         Merge from coreutils.
70374         * MODULES.html.sh: Add xstrtold.
70375         * modules/xstrtold: New file.
70376         * modules/cycle-check (Files): Add lib/same-inode.h.
70377         * modules/dirname (Files): Add m4/double-slash-root.m4.
70378         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70379         * modules/mkdir-p (Files): Add lib/same-inode.h.
70380         * modules/same (Files): Add lib/same-inode.h.
70381
70382 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70383
70384         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70385         This is to keep the terminology clean; POSIX talks about
70386         "absolute pathnames", not "full pathnames", but the GNU
70387         Coding Standards say to use "path" for something else;
70388         so use "absolute" to keep both sides happy.
70389         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70390         Set gl_absolute_header, not gl_full_header_path.
70391         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70392         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70393         All uses changed.
70394
70395         Merge from coreutils.
70396
70397         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70398
70399         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70400         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70401         want to require the building of c-strtod.o.
70402         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70403         needs -lm directly.
70404         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70405
70406         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70409         --as-needed option if available.  Problem reported by Albert Chin in
70410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70411         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70412         cc merely issues a bunch of annoying warnings for --as-needed
70413         (this problem was reported by Bob Proulx).  Also, try linking with
70414         -lm to detect a bug in binutils 2.16 (this problem was reported
70415         by Ralf Wildenhues).
70416
70417         2006-06-18  Jim Meyering  <jim@meyering.net>
70418
70419         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70420         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70421         macro.
70422         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70423         also check for glibc-2.4's abort-inducing bug.
70424
70425         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70426         Low-probability clean-up should be to use rmdir to get rid of
70427         the just-created directory, not unlink.
70428
70429         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70430         configure fail, and request a bug report to inform us about it.
70431         Add a comment that, barring reports to the contrary, in 2007 we'll
70432         assume ftruncate is universally available.
70433
70434         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70435
70436         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70437
70438         2006-03-12  Jim Meyering  <jim@meyering.net>
70439
70440         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70441         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70442         * m4/same.m4 (gl_SAME): Likewise.
70443         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70444
70445         2006-03-11  Eric Blake  <ebb9@byu.net>
70446
70447         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70448         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70449         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70450         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70451
70452 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70453
70454         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70455         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70456         reported by Mark D. Baushke, one in
70457         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70458
70459         Merge from coreutils.
70460
70461         * lib/.cppi-disable: Add stdint_.h.
70462         * lib/.cvsignore: Add stdint.h.
70463
70464         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70465
70466         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70467         both double and long double versions.
70468         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70469         * lib/xstrtold.c: New file.
70470         * lib/xstrtod.h (xstrtold): New decl.
70471
70472         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70473
70474         * lib/filemode.c (setst): Remove.
70475         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70476         (arguably) clearer, and the generated code is a bit smaller on my
70477         Debian GNU/Linux stable x86 host.
70478
70479         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70480
70481         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70482         Assume that filemode.h includes sys/types.h and sys/stat.h.
70483         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70484         (ftypelet): Reorder to put common cases first, for efficiency.
70485         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70486         to do 'M'.
70487         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70488         of 10, for compatibility with FreeBSD.  All callers changed.
70489         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70490         types that can't be deduced solely from st_mode.  First arg is now a
70491         const pointer.
70492         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70493         (strmode): Renamed from mode_string.
70494         (filemodestring): New decl.
70495         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70496         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70497         needed.
70498         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70499
70500         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70501
70502         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70503         fsusage.h now does that.  Include fsusage.h first, to test interface.
70504         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70505         at most one method (the old code could have generated decls that
70506         didn't conform to C89, not that this was ever exercised).
70507         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70508
70509         2006-03-19  Jim Meyering  <jim@meyering.net>
70510
70511         Work even in a chroot where d_ino values for entries in "/"
70512         don't match the stat.st_ino values for the same names.
70513         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70514         number, iterate through all entries again, using lstat instead.
70515         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70516         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70517
70518         * lib/getcwd.c (__getcwd): Clarify a comment.
70519         Use memcpy in place of a call to strcpy.
70520
70521         2006-03-12  Jim Meyering  <jim@meyering.net>
70522
70523         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70524         matches that of the current directory (which we're about to chdir ".."
70525         out of), then save the dev-ino of the parent, instead.
70526
70527         * lib/same-inode.h (SAME_INODE): New file/macro.
70528         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70529         Include "same-inode.h", instead.
70530         * lib/same.c: Likewise.
70531         * lib/cycle-check.h: Include "same-inode.h".
70532         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70533         * lib/cycle-check.c (SAME_INODE): Remove definition.
70534         * lib/root-dev-ino.h: Include "same-inode.h".
70535
70536         2006-03-11  Eric Blake  <ebb9@byu.net>
70537
70538         * lib/same.c (same_name): s/base_name/last_component/
70539         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70540         * lib/filenamecat.c (file_name_concat): Likewise.
70541
70542         2006-03-11  Eric Blake  <ebb9@byu.net>,
70543                     Paul Eggert  <eggert@cs.ucla.edu>
70544
70545         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70546         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70547         drive prefix.
70548         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70549         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70550         (last_component): New method.
70551         * lib/dirname.c (dir_len): Determine when drive letters need a
70552         subsequent slash.  Preserve // when it is special.
70553         (dir_name): Don't append dot when drive letter is absolute.
70554         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70555         * lib/basename.c (base_name): New semantics - malloc the result.
70556         Preserve // when it is special.  Preserve relative files that look
70557         like drive letters.
70558         (base_len): Preserve // when it is special.
70559         (last_component): New method, similar to old base_name semantics.
70560         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70561         base_name.  Strip redundant slashes from ///.
70562
70563 2006-07-03  Jim Meyering  <jim@meyering.net>
70564
70565         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70566         macro is used before the first cycle_check call.
70567
70568 2006-07-03  Eric Blake  <ebb9@byu.net>
70569
70570         * modules/dirname (Depends-on): Add xstrndup.
70571
70572 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70573
70574         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70575         test cases, so that config.log is a bit easier to follow.
70576
70577 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70578
70579         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70580         both are 64 bits, since this seems to be the tradition, and this
70581         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70582         we ever run into a host that prefers long long to long in this
70583         case, we'll need another configure-time test.  Problem reported by
70584         Jim Meyering.
70585
70586 2006-07-02  Eric Blake  <ebb9@byu.net>
70587
70588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70589
70590 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70591
70592         * modules/inttypes (Depends-on): No longer depends on stdint.
70593         * modules/stdint (Description): Say more about assumptions.
70594         Say that the fast types might differ.  Say macros are used.
70595         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70596         (Makefile.am): Revise list of substituted symbols to match
70597         new stdint.m4.
70598         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70599         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70600         * tests/test-stdint.c (verify_same_types)
70601         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70602         the code conforms to C99/C89.
70603         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70604         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70605
70606 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70607
70608         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70609         but fix a bug, by requiring at least 64 bits.
70610         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70611         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70612         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70613         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70614
70615         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70616         changes.  Make 2.59 a prerequisite.  Check and substitute for
70617         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70618         inttypes.h.  Do not use special include files; just use the
70619         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70620         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70621         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70622         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70623         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70624         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70625         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70626         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70627         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70628         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70629         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70630         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70631         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70632         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70633         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70634         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70635         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70636         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70637         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70638         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70639         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70640         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70641         not check for things that C99 does not require, e.g., int8_t.  If
70642         a test isn't needed unless <stdint.h> isn't working, and is
70643         unlikely to be needed for any other reason, then don't do it
70644         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70645         size_t, since we assume C89 freestanding at least.  Do not check
70646         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70647         the right thing even if the types are not defined.  Instead use:
70648         (gl_STDINT_TYPE_PROPERTIES): New macro.
70649         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70650         testing whether <sys/types.h> clashes, as Autoconf does this for
70651         us now.  All uses removed.
70652         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70653         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70654         (gl_CHECK_TYPE_SAME):
70655         Remove; no longer needed.
70656         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70657         exists, since we'll return 0 anyway in that case.
70658         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70659
70660 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70661
70662         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70663         possible collision with system files.
70664         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70665         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70666         WCHAR_MIN and WCHAR_MAX in this case.
70667         (<stddef.h>): Do not include; no longer needed.
70668         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70669         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70670         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70671         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70672         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70673         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70674         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70675         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70676         !defined(__c99))]: Include in this case too, since it's harmless
70677         now.
70678         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70679         dangerous to do so.
70680         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70681         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70682         (_STDINT_MIN, _STDINT_MAX): New macros.
70683         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70684         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70685         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70686         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70687         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70688         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70689         macros, not typedefs; this simplifies things quite a bit.
70690         Use long int for all types narrower than int64_t.
70691         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70692         Define in terms of long long int or int64_t or long int,
70693         not int64_t or int32_t.  This saves some compile-time testing.
70694         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70695         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70696         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70697         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70698         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70699         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70700         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70701         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70702         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70703         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70704         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70705         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70706         undef any previous version and define our own version, for
70707         simplicity and consistency with the new macros for types.
70708         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70709         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70710         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70711         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70712         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70713         @WINT_T_SUFFIX@ to keep things simple here.
70714         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70715         Simplify by assuming typical 8/16/32/64 host, since we're
70716         already doing that elsewhere anyway.
70717         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70718         and assume long long int is 64 bits if available.  This
70719         speeds up 'configure'.
70720
70721 2006-07-01  Eric Blake  <ebb9@byu.net>
70722
70723         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70724         Reported by Andreas Buening.
70725
70726 2006-07-01  Eric Blake  <ebb9@byu.net>
70727
70728         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70729
70730 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70731
70732         * lib/getaddrinfo.c: fixed typo
70733
70734 2006-06-29  Jim Meyering  <jim@meyering.net>
70735
70736         * modules/strftime (Maintainer): Add my name, since with the
70737         FPRINTFTIME changes strftime.c has forked from glibc.
70738
70739 2006-06-29  Eric Blake  <ebb9@byu.net>
70740
70741         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70742
70743 2006-06-29  Eric Blake  <ebb9@byu.net>
70744
70745         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70746
70747 2006-06-29  Eric Blake  <ebb9@byu.net>
70748
70749         * lib/stat_.h: New file.
70750
70751 2006-06-29  Eric Blake  <ebb9@byu.net>
70752
70753         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70754         unused static function.
70755
70756 2006-06-29  Eric Blake  <ebb9@byu.net>
70757
70758         * doc/functions.texi (Function Portability): Document missing lstat
70759         on mingw.
70760
70761 2006-06-29  Eric Blake  <ebb9@byu.net>
70762
70763         * MODULES.html.sh: Add sys_stat.
70764         * modules/sys_stat: New module.
70765         * modules/mkstemp (Depends-on): Add sys_stat.
70766
70767 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70768
70769         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70770
70771 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70772
70773         * m4/c-bs-a.m4: Removed.
70774
70775 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70776
70777         * lib/strftime.c: Assume strftime() exists.
70778
70779 2006-06-29  Derek Price  <derek@ximbiot.com>
70780
70781         * modules/c-bs-a: Removed - \a is C89.
70782         * MODULES.html.sh: Remove c-bs-a.
70783
70784 2006-06-29  Bruno Haible  <bruno@clisp.org>
70785
70786         * modules/wcwidth (License): Change to LGPL.
70787
70788 2006-06-28  Simon Josefsson  <jas@extundo.com>
70789
70790         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70791         on _WIN32.
70792
70793         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70794         getnameinfo.
70795
70796 2006-06-28  Simon Josefsson  <jas@extundo.com>
70797
70798         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70799
70800 2006-06-28  Simon Josefsson  <jas@extundo.com>
70801
70802         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70803         functions there.  It will succeed on Windows XP, but on Windows
70804         2000 and (presumably) earlier, it will fail, and use the internal
70805         re-implementation.
70806         (use_win32_p): New function.
70807         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70808         Support AI_NUMERICSERV to disable getservbyname.
70809         (getnameinfo): New function, only supports
70810         NI_NUMERICHOST|NI_NUMERICSERV for now.
70811
70812         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70813         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70814         getnameinfo.
70815
70816 2006-06-28  Eric Blake  <ebb9@byu.net>
70817
70818         * modules/wcwidth: New file.
70819         * modules/mbchar (Depends-on): Add wcwidth.
70820         * modules/mbswidth (Depends-on): Add wcwidth.
70821         * MODULES.html.sh: Add wcwidth.
70822
70823 2006-06-28  Eric Blake  <ebb9@byu.net>
70824
70825         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70826         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70827
70828 2006-06-28  Eric Blake  <ebb9@byu.net>
70829
70830         * lib/xvasprintf.h: Fix comments.
70831
70832 2006-06-28  Eric Blake  <ebb9@byu.net>
70833
70834         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70835         * lib/mbswidth.c (wcwidth): Move from here...
70836         * lib/wcwidth.h: ...to this new file.
70837
70838 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70839
70840         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70841
70842         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70843         it's obsolete.
70844         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70845
70846 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70847
70848         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70849         Autoconf 2.60 says this stuff was obsolete.
70850
70851 2006-06-28  Bruno Haible  <bruno@clisp.org>
70852
70853         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70854
70855 2006-06-28  Bruno Haible  <bruno@clisp.org>
70856
70857         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70858         gt_TYPE_WCHAR_T.
70859
70860 2006-06-28  Bruno Haible  <bruno@clisp.org>
70861
70862         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70863         declaration for wcwidth.
70864         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70865
70866 2006-06-28  Bruno Haible  <bruno@clisp.org>
70867
70868         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70869         (mkdir): Define using _mkdir.
70870
70871 2006-06-28  Bruno Haible  <bruno@clisp.org>
70872
70873         * lib/getaddrinfo.h: Fix POSIX URL.
70874         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70875         _WIN32.
70876         (use_win32_p): Make static.
70877         (getaddrinfo): Reject service name if it is empty or does not consist
70878         solely of decimal digits, or if its value is > 65535.
70879         (getnameinfo): Remove useless casts.
70880
70881 2006-06-27  Simon Josefsson  <jas@extundo.com>
70882
70883         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70884         Eggert and Martin Lambers.
70885
70886 2006-06-27  Simon Josefsson  <jas@extundo.com>
70887
70888         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70889         Eggert and Martin Lambers.
70890
70891 2006-06-27  Bruno Haible  <bruno@clisp.org>
70892
70893         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70894         result to 0, not to empty.
70895         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70896
70897 2006-06-27  Bruno Haible  <bruno@clisp.org>
70898
70899         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70900
70901 2006-06-26  Simon Josefsson  <jas@extundo.com>
70902
70903         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70904         present.
70905
70906 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70907
70908         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70909         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70910         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70911
70912 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70913
70914         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70915
70916 2006-06-26  Bruno Haible  <bruno@clisp.org>
70917
70918         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70919
70920 2006-06-26  Bruno Haible  <bruno@clisp.org>
70921
70922         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70923
70924 2006-06-26  Bruno Haible  <bruno@clisp.org>
70925
70926         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
70927         SGI C compiler in pre-C99 mode.
70928         Suggested by Mark D. Baushke and Larry Jones.
70929
70930 2006-06-26  Bruno Haible  <bruno@clisp.org>
70931
70932         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
70933         WCHAR_MAX.
70934         Reported by Mark D. Baushke and Larry Jones.
70935
70936 2006-06-26  Bruno Haible  <bruno@clisp.org>
70937
70938         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
70939         in pre-C99 mode.
70940         Suggested by Mark D. Baushke and Larry Jones.
70941
70942 2006-06-23  Simon Josefsson  <jas@extundo.com>
70943             Bruno Haible  <bruno@clisp.org>
70944
70945         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
70946         Emit mostlyclean-local rule.
70947         (func_emit_tests_Makefile_am): Likewise.
70948         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
70949
70950 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
70951
70952         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
70953
70954 2006-06-23  Bruno Haible  <bruno@clisp.org>
70955
70956         * tests/test-stdint.c: Update to match ISO C 99 Technical
70957         Corrigendum 1.
70958
70959 2006-06-23  Bruno Haible  <bruno@clisp.org>
70960
70961         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
70962
70963 2006-06-23  Bruno Haible  <bruno@clisp.org>
70964
70965         * lib/stdint_.h: Treat IRIX like OpenBSD.
70966
70967 2006-06-23  Bruno Haible  <bruno@clisp.org>
70968
70969         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
70970         ISO C 99 Technical Corrigendum 1.
70971
70972 2006-06-22  Simon Josefsson  <jas@extundo.com>
70973
70974         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
70975         MinGW.
70976
70977 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70978
70979         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
70980         needed.  Some compiler complained about some of them.  Problem reported
70981         by Larry Jones in
70982         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
70983
70984 2006-06-21  Simon Josefsson  <jas@extundo.com>
70985
70986         * tests/test-getaddrinfo.c: New file.
70987
70988         * modules/getaddrinfo-tests: New file.
70989
70990         * MODULES.html.sh: Add inet_pton.
70991
70992         * modules/inet_pton: New file.
70993
70994 2006-06-21  Simon Josefsson  <jas@extundo.com>
70995
70996         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
70997         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
70998         of using the (limited) gnulib implementation on Windows XP.
70999
71000         * m4/inet_pton.m4: New file.
71001
71002 2006-06-21  Simon Josefsson  <jas@extundo.com>
71003
71004         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71005         variable.
71006
71007         * lib/socket_.h: Don't define WINVER.
71008
71009         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71010         slightly modified to work in gnulib.
71011
71012 2006-06-21  Simon Josefsson  <jas@extundo.com>
71013
71014         * doc/gnulib.texi (Windows sockets): Add.
71015
71016 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71017
71018         * lib/read-file.c (fread_file): Start with buffer allocation of
71019         0 bytes rather than 1 byte; this simplifies the code.
71020         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71021         code to free buffer and save/restore errno.
71022         (internal_read_file): Remove unused local.
71023
71024 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71025
71026         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71027         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71028         Problem reported by Denis Excoffier in
71029         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71030
71031 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71032
71033         * modules/sys_socket, modules/socklen: Include sys/types since
71034         FreeBSD 4.x's sys/socket.h needs it.
71035
71036 2006-06-19  Simon Josefsson  <jas@extundo.com>
71037
71038         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71039
71040 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71041
71042         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71043
71044 2006-06-19  Bruno Haible  <bruno@clisp.org>
71045
71046         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71047         and FULL_PATH_INTTYPES_H in angle brackets.
71048         Reported by Mark D. Baushke <mdb@gnu.org>.
71049
71050 2006-06-17  Eric Blake  <ebb9@byu.net>
71051
71052         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71053         errno.
71054
71055 2006-06-17  Bruno Haible  <bruno@clisp.org>
71056
71057         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71058         <sys/inttypes.h>.
71059
71060 2006-06-17  Bruno Haible  <bruno@clisp.org>
71061
71062         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71063         whether errno is declared. Assume <errno.h> declares errno.
71064
71065 2006-06-17  Bruno Haible  <bruno@clisp.org>
71066
71067         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71068
71069 2006-06-17  Bruno Haible  <bruno@clisp.org>
71070
71071         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71072         problem on Solaris 2.5.1.
71073
71074 2006-06-16  Eric Blake  <ebb9@byu.net>
71075
71076         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71077         * lib/unicodeio.c [!defined errno]: Likewise.
71078         * lib/strtol.c [!defined errno]: Likewise.
71079         * lib/strtod.c [!defined errno]: Likewise.
71080
71081 2006-06-15  Eric Blake  <ebb9@byu.net>
71082
71083         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71084
71085 2006-06-15  Eric Blake  <ebb9@byu.net>
71086
71087         * config/srclist.txt (ssize_t.m4): Lose sync.
71088
71089 2006-06-15  Bruno Haible  <bruno@clisp.org>
71090
71091         * modules/stdint (Files): Include m4/full-header-path.m4,
71092         m4/size_max.m4, m4/wchar_t.m4.
71093         (Makefile.am): Many more substitutions.
71094         * modules/stdint-tests: New file.
71095         * tests/test-stdint.c: New file.
71096
71097 2006-06-15  Bruno Haible  <bruno@clisp.org>
71098
71099         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71100         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71101         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71102         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71103         gl_CHECK_TYPE_SAME): New macros.
71104
71105 2006-06-15  Bruno Haible  <bruno@clisp.org>
71106
71107         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71108
71109 2006-06-15  Bruno Haible  <bruno@clisp.org>
71110
71111         * lib/stdint_.h: Rewritten to be fully auto-configured.
71112         Fixes bug on HP-UX/IA64.
71113
71114 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71115
71116         * lib/getdate.y (__attribute__): Don't define if already defined.
71117         Problem reported by Larry Jones.
71118         * lib/utimens.c (__attribute__): Likewise.
71119
71120 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71121
71122         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71123         reported by Andreas Schwab.
71124
71125 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71126             Bruno Haible  <bruno@clisp.org>
71127
71128         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71129         check for the declaration of strnlen and a run test that exposes the
71130         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71131         rpl_strndup.
71132
71133 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71134             Bruno Haible  <bruno@clisp.org>
71135
71136         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71137
71138 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71139
71140         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71141         compile test, for Tru64 4.0D.
71142
71143 2006-05-28  Karl Berry  <karl@gnu.org>
71144
71145         * config/srclist.txt (printf-args.c): lose sync.
71146
71147 2006-05-26  Martin Lambers  <marlam@marlam.de>
71148
71149         * lib/getpass.c: Updates the test for the native W32 API, and adds
71150         missing includes, thus fixing compilation warnings.
71151
71152 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71153
71154         * lib/exclude.c (exclude_fnmatch): New function.
71155         (excluded_file_name): Call exclude_fnmatch.
71156         * lib/exclude.h (excluded_file_name): New prototype
71157
71158 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71159
71160         * lib/tempname.c (small_open, large_open): New macros.
71161         (__open, __open64) [!_LIBC]: Remove.
71162         (__gen_tempname): Use small_open and large_open instead of __open
71163         and __open64.  This fixes a portability bug on HP-UX 11.11i
71164         reported by Simon Wing-Tang in
71165         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71166
71167 2006-05-24  Bruno Haible  <bruno@clisp.org>
71168
71169         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71170         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71171         Reported by Thorsten Maerz <torte@netztorte.de> via
71172         Aaron Stone <aaron@serendipity.cx>.
71173
71174 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71175
71176         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71177         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71178         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71179         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71180         not really conditional on the cache.
71181         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71182
71183 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71184
71185         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71186         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71187         (my_usleep): Don't mishandle maximum value.
71188
71189 2006-05-19  Jim Meyering  <jim@meyering.net>
71190
71191         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71192
71193 2006-05-17  Bruno Haible  <bruno@clisp.org>
71194
71195         Cygwin portability.
71196         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71197
71198 2006-05-17  Bruno Haible  <bruno@clisp.org>
71199
71200         * lib/stdint_.h: Fix recognition of Cygwin.
71201
71202 2006-05-15  Bruno Haible  <bruno@clisp.org>
71203
71204         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71205         on libtool patch by Ralf Wildenhues.
71206
71207 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71208
71209         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71210         test for C99 conformance; (bool) 0.5 is an integer constant
71211         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71212         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71213
71214 2006-05-11  Simon Josefsson  <jas@extundo.com>
71215
71216         * m4/xvasprintf.m4: Fix obvious typo.
71217
71218 2006-05-11  Jim Meyering  <jim@meyering.net>
71219
71220         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71221         James Lemley.
71222
71223 2006-05-10  Simon Josefsson  <jas@extundo.com>
71224
71225         * lib/md4.c: Typo fix, update copyright years.
71226         (K1, K2): Don't use L because it turn computations into 64-bit on
71227         64-bit platforms.
71228
71229 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71230
71231         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71232         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71233         unwanted sign propagation, e.g., on hosts with 64-bit int.
71234         There still are some problems with reeelly weird theoretical hosts
71235         (e.g., 33-bit int) but it's not worth worrying about now.
71236         * lib/sha1.c (rol): Likewise.
71237         (K1, K2, K3, K4): Remove unnecessary L suffix.
71238
71239 2006-05-10  Bruno Haible  <bruno@clisp.org>
71240
71241         * lib/des.c: Cast to avoid warnings.
71242
71243 2006-05-09  Bruno Haible  <bruno@clisp.org>
71244
71245         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71246         (Depends-on): Depend also on xsize, stdarg.
71247         (configure.ac): Add gl_XVASPRINTF.
71248
71249 2006-05-09  Bruno Haible  <bruno@clisp.org>
71250
71251         * m4/xvasprintf.m4: New file.
71252
71253 2006-05-09  Bruno Haible  <bruno@clisp.org>
71254
71255         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71256         (EOVERFLOW): Define fallback value.
71257         (xstrcat): New function.
71258         (xvasprintf): Recognize the special case of a string concatenation.
71259
71260 2006-05-08  Eric Blake  <ebb9@byu.net>
71261
71262         * gnulib-tool (func_version): Base copyright year on CVS date.
71263         (func_emit_copyright_notice): New function.
71264         (func_emit_lib_Makefile_am): Use it.
71265         (func_emit_tests_Makefile_am): Likewise.
71266         (func_import): Likewise.
71267
71268 2006-05-08  Bruno Haible  <bruno@clisp.org>
71269
71270         * modules/stdarg: New file.
71271         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71272
71273 2006-05-08  Bruno Haible  <bruno@clisp.org>
71274
71275         * m4/stdarg.m4: New file, from GNU gettext.
71276
71277 2006-05-08  Bruno Haible  <bruno@clisp.org>
71278
71279         * config/srclist.txt (build-aux/config.rpath): different from latest
71280         release.
71281
71282 2006-05-08  Bruno Haible  <bruno@clisp.org>
71283
71284         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71285
71286 2006-05-05  Jim Meyering  <jim@meyering.net>
71287
71288         * m4/warning.m4: New file, derived from bison's file by the same name.
71289
71290 2006-05-03  Bruno Haible  <bruno@clisp.org>
71291
71292         * lib/stdint_.h: Shorter URL.
71293         * lib/inttypes.h: Likewise.
71294
71295 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71296
71297         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71298
71299 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71300
71301         * lib/verify.h: Document the internals better.  Most of this change
71302         was written by Bruno Haible.
71303
71304 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71305
71306         * doc/verify.texi: New file, partly based on a proposal by
71307         Bruno Haible.
71308
71309 2006-05-02  Bruno Haible  <bruno@clisp.org>
71310
71311         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71312         test from here...
71313         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71314
71315 2006-04-29  Bruno Haible  <bruno@clisp.org>
71316
71317         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71318         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71319
71320 2006-04-29  Bruno Haible  <bruno@clisp.org>
71321
71322         * gnulib-tool: Make --update option actually work.
71323
71324 2006-04-29  Bruno Haible  <bruno@clisp.org>
71325
71326         * doc/gcd.texi: New file.
71327         * doc/gnulib.texi: Include it.
71328
71329 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71330
71331         * lib/getdate.y (get_date): When adding relative date, start with the
71332         initial time, not with the result of the first mktime call.
71333
71334 2006-04-25  Bruno Haible  <bruno@clisp.org>
71335
71336         * gnulib-tool (func_import): Output the include directives in three
71337         blocks, sorted separately.
71338         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71339
71340 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71341
71342         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71343         to define main with arguments, for C++.  Reported by Eric Blake.
71344         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71345         Prefer 'int main ()' to 'int main (void)', for C++.
71346         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71347         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71348         for 'main', for C99 and C++.
71349
71350 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71351
71352         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71353         Don't assume that exit status -1 is valid.
71354         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71355         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71356         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71357         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71358         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71359         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71360         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71361         functions can be used without declaring them, or that you can
71362         exit with status -1.
71363         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71364
71365 2006-04-24  Karl Berry  <karl@gnu.org>
71366
71367         * config/srclist.txt (longdouble.m4): sync lost.
71368
71369 2006-04-24  Eric Blake  <ebb9@byu.net>
71370
71371         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71372
71373 2006-04-24  Bruno Haible  <bruno@clisp.org>
71374
71375         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71376         poll() implementation in AIX.
71377         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71378
71379 2006-04-24  Bruno Haible  <bruno@clisp.org>
71380
71381         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71382         assigned exactly once.
71383
71384 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71385             Bruno Haible  <bruno@clisp.org>
71386
71387         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71388         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71389         for AM_CPPFLAGS.
71390
71391 2006-04-23  Bruno Haible  <bruno@clisp.org>
71392
71393         * modules/copy-file: Depend on unistd.
71394         * modules/execute: Likewise.
71395         * modules/fatal-signal: Likewise.
71396         * modules/findprog: Likewise.
71397         * modules/mkdtemp : Likewise.
71398         * modules/pipe: Likewise.
71399         * modules/wait-process: Likewise.
71400
71401 2006-04-23  Bruno Haible  <bruno@clisp.org>
71402
71403         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71404         condition was already detected.
71405         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71406
71407 2006-04-23  Bruno Haible  <bruno@clisp.org>
71408
71409         * lib/copy-file.c: Include <unistd.h> unconditionally.
71410         * lib/execute.c: Likewise.
71411         * lib/fatal-signal.c: Likewise.
71412         * lib/findprog.c: Likewise.
71413         * lib/mkdtemp.c: Likewise.
71414         * lib/pipe.h: Likewise.
71415         * lib/pipe.c: Likewise.
71416         * lib/wait-process.h: Likewise.
71417
71418 2006-04-23  Bruno Haible  <bruno@clisp.org>
71419
71420         * gnulib-tool (func_usage): Fix --import description. Document
71421         --update.
71422         (func_import): Create temporary file in a temporary directory, if
71423         --dry-run is specified. Silence errors from 'grep' when there are no
71424         m4 files in $m4dir.
71425         (func_create_testdir): Silence errors from 'grep' when there are no
71426         m4 files in $m4dir.
71427         Reported by Karl Berry <karl@freefriends.org>.
71428
71429 2006-04-20  Bruno Haible  <bruno@clisp.org>
71430
71431         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71432         one argument, so that the code will be portable to Autoconf 2.60.
71433         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71434         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71435         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71436
71437 2006-04-19  Derek Price  <derek@ximbiot.com>
71438             Eric Blake  <ebb9@byu.net>
71439
71440         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71441         rather than "/full/path.h".  Update comment to match.  Shorten &
71442         generalize m4_translit call via AS_TR_CPP.
71443
71444 2006-04-19  Derek Price  <derek@ximbiot.com>
71445             Eric Blake  <ebb9@byu.net>
71446
71447         * lib/inttypes.h: Correct grammar in comment.
71448
71449 2006-04-18  Derek Price  <derek@ximbiot.com>
71450             Paul Eggert  <eggert@cs.ucla.edu>
71451
71452         * modules/inttypes: New file.
71453         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71454
71455 2006-04-18  Derek Price  <derek@ximbiot.com>
71456             Paul Eggert  <eggert@cs.ucla.edu>
71457
71458         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71459         New files.
71460
71461 2006-04-18  Derek Price  <derek@ximbiot.com>
71462             Paul Eggert  <eggert@cs.ucla.edu>
71463
71464         * lib/inttypes.h: New file.
71465         * lib/strtoimax.c: Assume <inttypes.h>.
71466
71467 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71468
71469         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71470         isn't mounted.  Problem reported by Kir Kolyshkin.
71471
71472 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71473
71474         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71475         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71476         Derek R. Price.
71477         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71478         implementation.
71479
71480 2006-04-12  Eric Blake  <ebb9@byu.net>
71481
71482         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71483         is now done automatically by the corresponding Autoconf macro.
71484
71485 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71488         time_r.h.
71489
71490 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71491
71492         Merge regex changes from libc, removing some of our
71493         POSIX-conformance changes that were rejected and redoing them in a
71494         less-intrusive way.
71495
71496         * lib/regcomp.c (re_compile_internal, init_dfa):
71497         Length arg is now size_t, not Idx.  All uses changed.
71498         (peek_token): Forward decl now says internal_function.
71499         (__re_error_msgid, __re_error_msgid_idx):
71500         Now static rather than extern with attribute_hidden.
71501         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71502         For some reason libc prefers K&R style defns for external functions.
71503         (regerror) [!defined _LIBC]: Likewise.
71504         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71505         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71506         (build_range_exp, build_collating_symbol):
71507         Use K&R-style defn.
71508         (re_compile_fastmap): Use '\0' to memset, not 0.
71509         (utf8_sb_map): Make the calculations more obvious.
71510         (init_dfa, parse_bracket_exp, build_charclass_op):
71511         Call calloc and cast result, as glibc does.
71512         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71513         (build_range_exp, build_collating_symbol):
71514         Now internal functions.
71515
71516         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71517
71518         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71519         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71520         Don't depend on VMS; depend on __VMS instead, for POSIX
71521         namespace cleanness.
71522         (regoff_t): Define to ssize_t, not long int.
71523
71524         Remove the REG_ macros named below.  Instead, make the old names
71525         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71526         __USE_GNU_REGEX.
71527         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71528         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71529         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71530         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71531         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71532         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71533         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71534         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71535         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71536         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71537         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71538         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71539         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71540         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71541         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71542         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71543         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71544         (REG_NREGS):
71545         Remove.  All uses replaced by the old RE_* names.
71546         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71547         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71548         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71549         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71550         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71551         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71552         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71553         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71554         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71555         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71556         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71557         Don't bother having these macros be independent of each others'
71558         values, since they no longer exist in the POSIX name space.
71559
71560         Rename the following member names back to their old names,
71561         unless !__USE_GNU_REGEX.  All uses changed back.
71562         (buffer): Renamed from re_buffer.
71563         (allocated): Renamed from re_allocated.
71564         (used): Renamed from re_used.
71565         (syntax): Renamed from re_syntax.
71566         (fastmap): Renamed from re_fastmap.
71567         (translate): Renamed from re_translate.
71568         (can_be_null): Renamed from re_can_be_null.
71569         (regs_allocated): Renamed from re_regs_allocated.
71570         (fastmap_accurate): Renamed from re_fastmap_accurate.
71571         (no_sub): Renamed from re_no_sub.
71572         (not_bol): Renamed from re_not_bol.
71573         (not_eol): Renamed from re_not_eol.
71574         (newline_anchor): Renamed from re_newline_anchor.
71575         (num_regs): Renamed from rm_num_regs.
71576         (start): Renamed from rm_start.
71577         (end): Renamed from rm_end.
71578
71579         (free_state): Move up a bit.
71580
71581         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71582         #define to be empty.
71583         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71584         when that is what is intended.
71585         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71586         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71587         (MAX): New macro.
71588         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71589         All uses changed back to re_malloc, etc.  It's now the caller's
71590         responsibility to check for overflow; all callers changed.
71591         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71592         (re_x2nrealloc): Remove.
71593         (free_state): Remove decl.
71594
71595         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71596         (re_set_registers, re_exec):
71597         Use K&R-style defn.
71598
71599         2006-01-31  Roland McGrath  <roland@redhat.com>
71600
71601         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71602         Reported by Mike Frysinger <vapier@gentoo.org>.
71603
71604         2006-01-15  Andreas Jaeger  <aj@suse.de>
71605
71606         [BZ #1950]
71607         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71608         build_wcs_upper_buffer change.
71609         (build_wcs_upper_buffer): Change return type.
71610
71611         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71612
71613         * lib/regex_internal.h: Include <stdint.h> if available.
71614
71615         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71616
71617         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71618
71619         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71620
71621         * lib/regcomp.c: Adjust for changed secondary hash function.
71622
71623         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71624
71625         * lib/regex.h: Pretty printing.
71626         Clean up namespace a bit.
71627
71628         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71629
71630         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71631         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71632
71633         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71634                     Ulrich Drepper  <drepper@redhat.com>
71635
71636         [BZ #1302]
71637         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71638         changed.
71639         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71640
71641         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71642
71643         [BZ #281]
71644         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71645         * lib/regcomp.c: Remove unnecessary uses of
71646         unsigned RE_TRANSLATE_TYPE.
71647         * lib/regex_internal.h: Likewise.
71648         * lib/regex_internal.c: Likewise.
71649         * lib/regexec.c: Likewise.
71650         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71651
71652         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71653
71654         * lib/regexec.c (find_recover_state): Remove unnecessary
71655         initialization.
71656         (transit_state_bkref): Make DFA a const pointer.
71657         (get_subexp): Likewise.
71658         (check_arrival): Likewise.
71659         (update_cur_sifted_state): Likewise.
71660         (re_search_internal): Likewise.
71661         (prune_impossible_nodes): Likewise.
71662         (acquire_init_state_context): Likewise.
71663         (proceed_next_node): Likewise.
71664         (set_regs): Likewise.
71665         (free_fail_stack_return): Likewise.
71666         (check_arrival_expand_ecl): Mark DFA parameter as const.
71667         (check_arrival_expand_ecl_sub): Likewise.
71668         (check_subexp_limits): Likewise.
71669         (sub_epsilon_src_nodes):  Likewise.
71670         (add_epsilon_src_nodes):  Likewise.
71671         (merge_state_array): Likewise.
71672         (update_regs): Likewise.
71673         (build_trtable): Likewise.
71674         (sift_states_backward): Mark MCTX parameter as const.
71675         (build_sifted_states): Likewise.
71676         (update_cur_sifted_state): Likewise.
71677         (sift_states_mkref): Likewise.
71678         (check_arrival_expand_ecl): Mark eclosure as const.
71679         (check_dst_limits_calc_pos_1): Likewise.
71680         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71681         pointer.
71682
71683         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71684
71685         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71686         (transit_state_sb): Likewise.
71687         (transit_state_mb): Likewise.
71688         (sift_states_iter_mb): Likewise.
71689         (check_arrival_add_next_nodes): Likewise.
71690         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71691         [_LIBC] (re_search_2_stub): Use mempcpy.
71692
71693         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71694         mbrtowc for very simple UTF-8 case.
71695
71696         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71697         a pointer-to-const.
71698         (re_acquire_state_context): Likewise.
71699         * lib/regex_internal.h: Adjust prototypes.
71700
71701         * lib/regex.c: Prevent using C++ compilers.
71702
71703         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71704         (re_acquire_state_context): Likewise.
71705
71706 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71707
71708         * modules/regex (Depends-on): Add ssize_t.
71709
71710 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71711
71712         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71713         translation table.
71714
71715 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71716
71717         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71718
71719 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71720             Bruno Haible  <bruno@clisp.org>
71721
71722         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71723         <sys/types.h> and <inttypes.h>.
71724
71725 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71726
71727         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71728         `__error_t_defined', so argp.h will not typedef the former.
71729
71730 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71731
71732         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71733         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71734         glibc names.  Even if glibc is changed to conform to POSIX, the
71735         traditional names will be available anyway, since regex depends on
71736         the extensions module.  Also, fix a longstanding typo in the
71737         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71738         reported by Emanuele Giaquinta.  Also, change sense of cached
71739         variable, so that the message makes sense.
71740
71741 2006-03-24  Simon Josefsson  <jas@extundo.com>
71742
71743         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71744         including some doc fixes.
71745         (base64_encode_alloc): Fix +1 bug on allocation failures.
71746
71747 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71748
71749         * lib/base64.c (base64_encode): Do not read past end of array with
71750         unsanitized input on systems with CHAR_BIT > 8.
71751
71752 2006-03-24  Eric Blake  <ebb9@byu.net>
71753
71754         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71755
71756 2006-03-22  Karl Berry  <karl@gnu.org>
71757
71758         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71759         * config/srclistvars.sh (COREUTILS): new var.
71760
71761 2006-03-17  Jim Meyering  <jim@meyering.net>
71762
71763         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71764         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71765
71766 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71767
71768         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71769         no longer needs it.  Instead, check that regoff_t is as least
71770         as wide as ptrdiff_t.
71771
71772         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71773         so that our regex.h stays compatible with the installed regex.
71774         This is helpful for installers who configure --without-included-regex.
71775         Problem reported by Emanuele Giaquinta.
71776
71777 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71778
71779         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71780         Typedef to long int, not to off_, as POSIX will likely change
71781         in that direction.
71782
71783 2006-03-15  Eric Blake  <ebb9@byu.net>
71784
71785         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71786
71787 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71788
71789         * lib/argp-help.c (validate_uparams): Fix typo
71790         * lib/argp-parse.c (argp_default_options): Consistently begin help
71791         messages with a lowercase letter.
71792
71793 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71794
71795         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71796         overrun buffers and shouldn't be used (much as gets shouldn't be
71797         used).
71798         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71799
71800 2006-03-08  Simon Josefsson  <jas@extundo.com>
71801
71802         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71803         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71804
71805 2006-03-08  Simon Josefsson  <jas@extundo.com>
71806
71807         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71808         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71809
71810 2006-03-08  Simon Josefsson  <jas@extundo.com>
71811
71812         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71813         signal that configure disabled the device.
71814
71815 2006-03-08  Simon Josefsson  <jas@extundo.com>
71816
71817         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71818         languages.
71819
71820 2006-03-07  Simon Josefsson  <jas@extundo.com>
71821
71822         * modules/getopt (Depends-on): Add unistd.
71823
71824         * modules/unistd: New file.
71825
71826 2006-03-07  Simon Josefsson  <jas@extundo.com>
71827
71828         * modules/gc-random: New file.
71829
71830 2006-03-07  Simon Josefsson  <jas@extundo.com>
71831
71832         * m4/unistd_h.m4: New file.
71833
71834 2006-03-07  Simon Josefsson  <jas@extundo.com>
71835
71836         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71837         test to be side-effect free by storing the result in the cache
71838         variable gl_cv_lib_readline, and moving the assignment of
71839         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71840         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71841
71842 2006-03-07  Simon Josefsson  <jas@extundo.com>
71843
71844         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71845         error on missing devices (the functions will return an error).
71846
71847         * m4/gc.m4: Move random stuff to gc-random.m4
71848
71849 2006-03-07  Simon Josefsson  <jas@extundo.com>
71850
71851         * lib/unistd_.h: New file.
71852
71853 2006-03-07  Simon Josefsson  <jas@extundo.com>
71854
71855         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71856
71857 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71858
71859         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71860         Problem reported by Juan Manuel Guerrero.
71861
71862 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71863
71864         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71865         the unistd module.
71866         * lib/getlogin_r.c: Likewise.
71867         * lib/getlogin_r.h: Likewise.
71868         * lib/glob.c: Likewise.
71869         * lib/pagealign_alloc.c: Likewise.
71870         * lib/unistd_.h: Remove; no longer needed.
71871
71872 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71873
71874         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71875         Add unistd.
71876         * modules/c-stack (Depends-on): Add unistd.
71877         * modules/getlogin_r: Likewise.
71878         * modules/glob: Likewise.
71879         * modules/pagealign_alloc: Likewise.
71880         * modules/unistd (Files): Remove lib/unistd_.h.
71881         (EXTRA_DIST): Remove.
71882         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71883         need unistd_.h.
71884         (MOSTLYCLEANFILES): Remove unistd.h-t.
71885
71886 2006-03-03  Simon Josefsson  <jas@extundo.com>
71887
71888         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71889
71890 2006-03-03  Simon Josefsson  <jas@extundo.com>
71891
71892         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71893         libidn and bison.
71894
71895 2006-03-03  Simon Josefsson  <jas@extundo.com>
71896
71897         * build-aux/maint.mk: Add indent target.
71898
71899 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71900
71901         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71902         our replacement poll.h in any case, to avoid a differing
71903         declaration from a system header.  Seen on AIX.
71904
71905 2006-03-01  Simon Josefsson  <jas@extundo.com>
71906
71907         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71908         <kasal@ucw.cz>.
71909
71910 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71911
71912         * modules/gettime (Depends-on): Add extensions module.
71913         * modules/nanosleep (Depends-on): Likewise.
71914         * modules/settime (Depends-on): Likewise.
71915
71916 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71917
71918         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71919         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71920         pedantically.
71921         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71922         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71923
71924         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71925         not "==".  Reported by Ralf Wildenhues.
71926
71927 2006-03-01  Karl Berry  <karl@gnu.org>
71928
71929         * doc/Copyright/request-*: new files, synced from gnuorg.
71930
71931 2006-03-01  Karl Berry  <karl@gnu.org>
71932
71933         * config/srclist.txt (Copyright/*): new entries.
71934
71935 2006-02-28  Simon Josefsson  <jas@extundo.com>
71936
71937         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
71938
71939 2006-02-27  Simon Josefsson  <jas@extundo.com>
71940
71941         * lib/base64.h: Indent #define's.  From Jim Meyering
71942         <jim@meyering.net>.
71943
71944 2006-02-27  Jim Meyering  <jim@meyering.net>
71945
71946         Revert the change of 2006-02-24, so these files can continue
71947         to be sync'd from gettext.
71948         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
71949         of `config.h'.
71950
71951 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71952
71953         * modules/intprops: New file.
71954         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71955         Add intprops.
71956         * modules/getloadavg (Files): Remove lib/intprops.h.
71957         (Depends-on): Add intprops.
71958         * modules/human: Likewise.
71959         * modules/inttostr: Likewise.
71960         * modules/openat: Likewise.
71961         * modules/sig2str: Likewise.
71962         * modules/userspec: Likewise.
71963         * modules/utimecmp: Likewise.
71964         * modules/xnanosleep: Likewise.
71965         * modules/xstrtol: Likewise.
71966
71967 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
71968
71969         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
71970         * modules/lock-tests (TESTS): Use $(EXEEXT).
71971         * modules/tls-tests: Likewise.
71972         * modules/argp-tests: Likewise.
71973         (check_PROGRAMS): New var, replacing...
71974         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
71975
71976 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71977
71978         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
71979         `config.h'.
71980
71981 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71982
71983         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
71984
71985 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71986
71987         Sync from coreutils.
71988         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
71989         gl_CHDIR_SAFER.
71990
71991 2006-02-22  Jim Meyering  <jim@meyering.net>
71992
71993         Sync from coreutils.
71994         * m4/chdir-safer.m4: New file.
71995
71996 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71997
71998         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
71999         AT_FDCWD exceeds INT_MAX.
72000         * lib/openat.h (AT_FDCWD): Likewise.
72001
72002 2006-02-17  Eric Blake  <address@hidden>
72003
72004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72005
72006 2006-02-16  Simon Josefsson  <jas@extundo.com>
72007
72008         * modules/getaddrinfo (Depends-on): Add sys_socket.
72009
72010 2006-02-15  Simon Josefsson  <jas@extundo.com>
72011
72012         * build-aux/maint.mk: Add dsyntax-check rule.
72013
72014 2006-02-15  Eric Blake  <ebb9@byu.net>
72015
72016         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72017         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72018         'present but cannot compile' warnings on cygwin.
72019         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72020         use ws2tcpip.h if sys/socket.h works.
72021         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72022         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72023
72024 2006-02-14  Simon Josefsson  <jas@extundo.com>
72025
72026         * modules/maintainer-makefile (Files): Rename.
72027
72028         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72029         and (the local) Makefile.cfg to maint-cfg.mk.
72030
72031         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72032         to the latter.
72033
72034         * modules/maintainer-makefile: New module.
72035
72036         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72037         severaly stripped to make it possible to build it up from scratch
72038         with reliable tests.
72039
72040         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72041         fixes to permit overriding the default actions when configure and
72042         makefile are not available.
72043
72044 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72045
72046         Sync from coreutils.
72047         * modules/lstat (Depends-on): Don't depend on xalloc.
72048         (License): Change from GPL to LGPL, since this is now simply a
72049         replacement for a libc function.
72050
72051 2006-02-14  Jim Meyering  <jim@meyering.net>
72052
72053         Sync from coreutils.
72054
72055         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72056         failure on deficient systems, and simplify gnulib lgpl dependencies.
72057         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72058         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72059
72060         * lib/xalloc-die.c: Remove unused definition of N_.
72061
72062 2006-02-14  Jim Meyering  <jim@meyering.net>
72063
72064         Sync from coreutils.
72065         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72066         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72067         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72068         double-quote uses of that variable, to accommodate the rare case in
72069         which getmntent is available in none of the libraries checked.  This
72070         happens at least on FreeBSD 5.0.
72071
72072 2006-02-13  Simon Josefsson  <jas@extundo.com>
72073
72074         * gnulib-tool (Usage): Fix --import, from
72075         karl@freefriends.org (Karl Berry).
72076
72077 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72078
72079         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72080
72081 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72082
72083         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72084         "autoupdate" on 2005-12-12.
72085
72086 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72087
72088         * modules/closeout (Depends-on): Remove atexit.
72089
72090 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72091
72092         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72093         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72094
72095 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72096
72097         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72098         __EXTENSIONS__ if this causes compilation to fail.  Problem
72099         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72100         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72101
72102 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72103
72104         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72105         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72106         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72107         All uses changed.
72108
72109 2006-01-26  Simon Josefsson  <jas@extundo.com>
72110
72111         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72112         prototype is visible on mingw32.
72113
72114         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72115         for mingw32.
72116
72117         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72118         mingw32).
72119
72120 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72121
72122         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72123         attempt to open for write; this always fails, at least on POSIX
72124         hosts.  This reinstates the 2006-01-09 change, which was
72125         inadvertently removed.
72126
72127 2006-01-26  Bruno Haible  <bruno@clisp.org>
72128
72129         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72130         Reported by Paul Eggert.
72131
72132 2006-01-26  Bruno Haible  <bruno@clisp.org>
72133             Paul Eggert  <eggert@cs.ucla.edu>
72134
72135         * lib/stdbool_.h (_Bool)
72136         [(! (defined __cplusplus || defined __BEOS__)
72137           && !defined __GNUC__
72138           && !(defined __HP_cc || defined __xlc__
72139                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72140                || defined __sgi))]:
72141         #define to signed char in these cases too; this simplifies
72142         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72143         etc., separately) and makes it more conservative.
72144
72145 2006-01-25  Simon Josefsson  <jas@extundo.com>
72146
72147         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72148         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72149         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72150
72151 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72152
72153         * lib/argp-namefrob.h: Bugfix. Remove stray #
72154
72155 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72156
72157         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72158         so that we test the test.
72159         Check for yet another HP-UX cc bug involving *bool |= bool.
72160
72161 2006-01-25  Karl Berry  <karl@gnu.org>
72162
72163         * config/srclist.txt (vasnprintf.c): sync lost.
72164
72165 2006-01-25  Jim Meyering  <jim@meyering.net>
72166
72167         Sync from the stable (b5) branch of coreutils:
72168
72169         * lib/fts.c (fts_children): Don't let close() clobber errno from
72170         failed fchdir().
72171
72172         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72173         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72174         a dangling symlink.  That can also happen at least for ELOOP.
72175         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72176         FYI, this bug predates the inclusion of fts.c in coreutils.
72177
72178         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72179         in their own block, so pre-c99 compilers don't object.
72180
72181         Avoid the double-free (first in fts_read, second in fts_close) that
72182         would occur when an `active' directory is made inaccessible (e.g.,
72183         via chmod a-x) during a traversal.
72184         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72185         before returning.  Reproduce this failure by
72186         mkdir -p a/b; cd a; chmod a-x . b
72187         Reported by Stavros Passas.
72188
72189 2006-01-25  Jim Meyering  <jim@meyering.net>
72190
72191         * lib/fileblocks.c: Remove more useless parentheses.
72192         * lib/readutmp.h: Likewise.
72193
72194 2006-01-25  Bruno Haible  <bruno@clisp.org>
72195
72196         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72197         warnings.
72198         Reported by Paul Eggert.
72199
72200 2006-01-25  Bruno Haible  <bruno@clisp.org>
72201
72202         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72203         rid of a trap command. For Solaris sh.
72204         Reported by Mark D. Baushke <mdb@gnu.org>.
72205
72206 2006-01-24  Simon Josefsson  <jas@extundo.com>
72207
72208         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72209         Bruno.
72210
72211 2006-01-24  Karl Berry  <karl@gnu.org>
72212
72213         * config/srclist.txt (argp-namefrob.h): sync lost.
72214
72215 2006-01-24  Jim Meyering  <jim@meyering.net>
72216
72217         * modules/openat (Files): Add lib/intprops.h.
72218         From Mark D. Baushke.
72219
72220 2006-01-24  Jim Meyering  <jim@meyering.net>
72221
72222         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72223         Reported by Mark D. Baushke.
72224
72225 2006-01-24  Jim Meyering  <jim@meyering.net>
72226
72227         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72228
72229 2006-01-24  Bruno Haible  <bruno@clisp.org>
72230
72231         * modules/strnlen (Maintainer): Change from glibc to all.
72232
72233 2006-01-24  Bruno Haible  <bruno@clisp.org>
72234
72235         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72236         Patch by Paul Eggert.
72237
72238 2006-01-24  Bruno Haible  <bruno@clisp.org>
72239
72240         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72241         already has it.
72242         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72243         2005-11-26.
72244
72245         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72246         'signed char' to avoid problems with the built-in _Bool type.
72247         Reported by Paul Eggert on 2005-11-26.
72248
72249 2006-01-24  Bruno Haible  <bruno@clisp.org>
72250
72251         * gnulib-tool (func_import): Avoid constructing complicated sed
72252         expressions inside backquote.
72253         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72254
72255 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72256
72257         These changes imported from libc.
72258         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72259         test and two separate function calls.
72260         * lib/strndup.c (__strndup): Add libc_hidden_def.
72261
72262 2006-01-23  Simon Josefsson  <jas@extundo.com>
72263
72264         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72265         Remove the test_*_SOURCES variable: automake infers it by default.
72266         * modules/tls-tests: Likewise.
72267
72268 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72269
72270         Work around porting bugs reported by Dieter in
72271         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72272         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72273         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72274         Include "getopt.h" first, to check interface.
72275         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72276         !HAVE_DECL_GETENV.
72277         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72278         (__strndup): Revert to K&R-style function dfns, the glibc style.
72279         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72280         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72281         Include strnlen.h first, to get prototype properly.
72282         (strnlen): Renamed from __strnlen.
72283         Remove weak alias.
72284
72285 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72286
72287         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72288
72289 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72290
72291         * config/srclist.txt: Adjust to reflect glibc reorganization.
72292         This affects only comments.
72293
72294 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72295
72296          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72297          Reported by Bruce Korb <bkorb@gnu.org>.
72298
72299 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72300
72301         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72302         to pacify gcc -Wswitch-default.
72303
72304 2006-01-22  Bruno Haible  <bruno@clisp.org>
72305
72306         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72307         temporary buffer for sprintf, take into account the precision also
72308         for 'd', 'i', 'u', 'o', 'x', 'X'.
72309
72310 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72311
72312         * modules/argp-tests: New module
72313         * tests/test-argp.c: New file
72314         * tests/test-argp-2.sh: New file
72315
72316 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72317
72318         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72319         (__argp_base_name): Removed
72320         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72321         typo.
72322         (__argp_base_name): Provide macro definition or extern declaration
72323         depending on the configuration
72324
72325 2006-01-20  Simon Josefsson  <jas@extundo.com>
72326
72327         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72328
72329 2006-01-20  Simon Josefsson  <jas@extundo.com>
72330
72331         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72332
72333 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72334
72335         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72336         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72337         Suggested by Bruno Haible.
72338
72339 2006-01-20  Karl Berry  <karl@gnu.org>
72340
72341         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72342         until changes propagate, I guess.
72343
72344 2006-01-19  Simon Josefsson  <jas@extundo.com>
72345
72346         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72347
72348 2006-01-19  Simon Josefsson  <jas@extundo.com>
72349
72350         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72351
72352 2006-01-19  Simon Josefsson  <jas@extundo.com>
72353
72354         * gnulib-tool: Set check_PROGRAMS.
72355
72356         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72357         modules/des-tests, modules/gc-arcfour-tests,
72358         modules/gc-arctwo-tests, modules/gc-des-tests,
72359         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72360         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72361         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72362         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72363         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72364         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72365         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72366         test_*_SOURCES.
72367
72368 2006-01-18  Simon Josefsson  <jas@extundo.com>
72369
72370         * modules/socklen (Depends-on): Depend on sys_socket.
72371
72372 2006-01-18  Simon Josefsson  <jas@extundo.com>
72373
72374         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72375         modules/des-tests, modules/gc-arcfour-tests,
72376         modules/gc-arctwo-tests, modules/gc-des-tests,
72377         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72378         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72379         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72380         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72381         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72382         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72383         $(EXEEXT) to automake TESTS variable, for mingw32.
72384
72385 2006-01-17  Simon Josefsson  <jas@extundo.com>
72386
72387         * modules/socklen (Include): Need sys/socket.h.
72388
72389 2006-01-17  Bruno Haible  <bruno@clisp.org>
72390
72391         * modules/ssize_t (Include): Add <sys/types.h>.
72392
72393 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72394
72395         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72396         it's not portable and it doesn't work with cross-compiles.
72397         Problem reported by Bruno Haible.  Fix missing-$ typo in
72398         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72399         -zignore from being used with Sun's C compiler.
72400
72401 2006-01-12  Simon Josefsson  <jas@extundo.com>
72402
72403         * lib/base64.c: Fix warning, reported by Bruno Haible
72404         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72405
72406 2006-01-12  Bruno Haible  <bruno@clisp.org>
72407
72408         * modules/ldd: New file.
72409         * build-aux/ldd.sh.in: New file.
72410         * MODULES.html.sh (Support for building libraries and executables): Add
72411         ldd.
72412
72413 2006-01-12  Bruno Haible  <bruno@clisp.org>
72414
72415         * m4/ldd.m4: New file.
72416
72417 2006-01-12  Bruno Haible  <bruno@clisp.org>
72418
72419         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72420         endless loop while replacing $auxdir with build-aux.
72421
72422 2006-01-11  Simon Josefsson  <jas@extundo.com>
72423
72424         * lib/stdint_.h (SIZE_MAX): Add missing (.
72425
72426 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72427
72428         Sync from coreutils.
72429         * lib/md5.c: Fix commentary typos.
72430         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72431         * lib/md5.h (__attribute__): Remove; unused.
72432         * lib/sha1.c: Fix commentary to match md5 better.
72433         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72434         so that we don't need to worry about alignment.  All uses changed.
72435         This merges the 2005-10-28 md5 change into sha1.
72436
72437 2006-01-11  Jim Meyering  <jim@meyering.net>
72438
72439         Sync from coreutils.
72440         * lib/md5.c (OP): Fix spacing.
72441
72442 2006-01-11  Bruno Haible  <bruno@clisp.org>
72443
72444         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72445         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72446         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72447
72448 2006-01-11  Bruno Haible  <bruno@clisp.org>
72449
72450         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72451         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72452         the "early" section as well.
72453
72454 2006-01-11  Bruno Haible  <bruno@clisp.org>
72455
72456         Avoid "ar: no archive members specified" error on MacOS X.
72457         * gnulib-tool (func_modules_add_dummy): New function.
72458         (func_import, func_create_testdir): Invoke it.
72459
72460 2006-01-11  Bruno Haible  <bruno@clisp.org>
72461
72462         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72463         with $auxdir in AC_CONFIG_FILES statements.
72464
72465 2006-01-11  Bruno Haible  <bruno@clisp.org>
72466
72467         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72468         Initialize also noinst_HEADERS to empty.
72469
72470 2006-01-11  Bruno Haible  <bruno@clisp.org>
72471
72472         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72473         variables.
72474         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72475         autoreconf.
72476
72477 2006-01-11  Bruno Haible  <bruno@clisp.org>
72478
72479         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72480         overridable by the user.
72481         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72482
72483 2006-01-10  Simon Josefsson  <jas@extundo.com>
72484
72485         * modules/sys_socket: New file.
72486
72487 2006-01-10  Simon Josefsson  <jas@extundo.com>
72488
72489         * m4/sys_socket_h.m4: New file.
72490
72491 2006-01-10  Simon Josefsson  <jas@extundo.com>
72492
72493         * lib/socket_.h: New file.
72494
72495 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72496
72497         * modules/readutmp (Maintainer): Add myself.
72498
72499 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72500
72501         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72502         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72503         People who are still concerned with buggy memcmp implementations
72504         can invoke gl_FUNC_MEMCMP themselves.
72505
72506 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72507
72508         * lib/regex_internal.h (BITSET_WORD_BITS):
72509         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72510         preprocessor mishandles large unsigned values as if they were signed.
72511         Problem reported by Claudio Fontana in
72512         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72513
72514 2006-01-10  Jim Meyering  <jim@meyering.net>
72515
72516         Avoid the double-free (first in fts_read, second in fts_close) that
72517         would occur when an `active' directory is made inaccessible (e.g.,
72518         via chmod a-x) during a traversal.
72519         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72520         before returning.  Reproduce this failure by
72521         mkdir -p a/b; cd a; chmod a-x . b
72522         Reported by Stavros Passas.
72523
72524         Sync from coreutils.
72525         * lib/sha1.c: Tweak grammar in a comment.
72526
72527 2006-01-10  Jim Meyering  <jim@meyering.net>
72528
72529         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72530         Patch by Joerg Sonnenberger.
72531
72532 2006-01-10  Bruno Haible  <bruno@clisp.org>
72533
72534         * modules/readutmp: Depend on module free.
72535         * modules/strtok_r: Depend on module restrict.
72536
72537 2006-01-10  Bruno Haible  <bruno@clisp.org>
72538
72539         * modules/gettext (configure.ac): Add an invocation of
72540         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72541
72542 2006-01-10  Bruno Haible  <bruno@clisp.org>
72543
72544         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72545         Reported by Werner Lemberg <wl@gnu.org>.
72546
72547 2006-01-10  Bruno Haible  <bruno@clisp.org>
72548
72549         * lib/localcharset.c: Update from GNU gettext.
72550
72551 2006-01-10  Bruno Haible  <bruno@clisp.org>
72552
72553         * lib/argp.h (__const): Remove macro. Use const instead.
72554         * lib/argp-fmtstream.h (__const): Likewise.
72555         * lib/glob_.h (__const): Remove macro.
72556         * lib/glob-libc.h: Use const instead of __const.
72557
72558 2006-01-10  Bruno Haible  <bruno@clisp.org>
72559
72560         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72561         variable.
72562         Needed to avoid an automake error regarding the 'gettext' module.
72563
72564 2006-01-09  Simon Josefsson  <jas@extundo.com>
72565
72566         * modules/inet_ntop (Depends-on): Add restrict.
72567
72568 2006-01-09  Simon Josefsson  <jas@extundo.com>
72569
72570         * modules/gc-rijndael-tests (License): Put under LGPL.
72571
72572         * modules/gc-des-tests (License): Likewise.
72573
72574         * modules/gc-arcfour-tests (License): Likewise.
72575
72576         * modules/gc-arctwo-tests (License): Likewise.
72577
72578         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72579
72580         * modules/gc-hmac-sha1-tests (Files): Likewise.
72581
72582         * modules/gc-hmac-md5-tests (License): Likewise.
72583
72584         * modules/gc-sha1-tests (License): Likewise.
72585
72586         * modules/gc-md5-tests (License): Likewise.
72587
72588         * modules/gc-md4-tests (License): Likewise.
72589
72590         * modules/gc-md2-tests (License): Likewise.
72591
72592         * modules/gc-tests (License): Likewise.
72593
72594         * modules/des-tests (License): Likewise.
72595
72596         * modules/md4-tests (License): Likewise.
72597
72598         * modules/md2-tests (License): Likewise.
72599
72600 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72601
72602         Sync from coreutils:
72603
72604         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72605         * modules/lib-ignore: New file.
72606         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72607         chdir-safer.m4, lchmod.m4.
72608         * modules/openat: Add mkdirat.c, openat-priv.h.
72609
72610 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72611
72612         Sync from coreutils.
72613         * m4/lib-ignore.m4: New file.
72614         * m4/lchmod.m4: New file.
72615
72616 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72617
72618         Sync from coreutils.
72619         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72620         for write access: POSIX says that must fail.
72621         * lib/fts.c (diropen): Likewise.
72622         * lib/save-cwd.c (save_cwd): Likewise.
72623         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72624         well, for minor improvements on hosts that lack O_DIRECTORY.
72625         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72626         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72627         Fall back on chown if open failed with EACCES.
72628
72629         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72630         Report an error at compile-time if only a 1-second nominal clock
72631         resolution is found.
72632
72633         * lib/lchmod.h: New file.
72634         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72635         (make_dir_parents): Use lchown rather than chown, and
72636         lchmod rather than chmod.
72637
72638         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72639         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72640         "proc" reported by n0dalus.
72641
72642         * lib/mountlist.c: Include <limits.h>.
72643         (dev_from_mount_options)
72644         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72645         New function.  It no longer assumes "dev=" has the System V meaning
72646         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72647         (read_file_system_list)
72648         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72649         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72650         dev= in that case.
72651
72652         * lib/posixtm.h (PDS_PRE_2000): New macro.
72653         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72654         allow_century.  All usages changed.  Reject dates outside the range
72655         1969-1999 if PDS_PRE_2000 is used.
72656
72657 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72658
72659         Sync from coreutils.
72660         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72661         (Time of day items): Mention the possibility of leap seconds.
72662         Problem reported by Dr. David Alan Gilbert.
72663
72664 2006-01-09  Jim Meyering  <jim@meyering.net>
72665
72666         Sync from coreutils.
72667
72668         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72669
72670         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72671
72672         * lib/modechange.c (mode_compile): Reject an invalid mode string
72673         that starts with an octal digit.  From Andreas Gruenbacher.
72674
72675         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72676         and dup to open_safer and dup_safer, respectively.
72677         (openat_permissive): Fix typo in comment.
72678
72679         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72680         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72681         (_): Remove; no longer needed.
72682         (openat): Renamed from rpl_openat; no need for rpl_openat
72683         since openat.h renames openat for us.
72684         Replace most of the body with a call to openat_permissive,
72685         to avoid duplicate code.
72686         Port to (probably hypothetical) environments were mode_t is
72687         wider than int.
72688         (openat_permissive): Require mode arg, so that we can check
72689         types better.  Put it just after flags.  Change cwd failure
72690         indicator from pointer-to-bool to pointer-to-errno-value.
72691         All callers changed.
72692         Invoke openat_save_fail and/or openat_restore_fail if
72693         cwd_errno is null, so that openat can call us.
72694         (openat_permissive, fdopendir, fstatat, unlinkat):
72695         Simplify errno handling to avoid some duplicate code,
72696         as it's OK to set errno on success.
72697         * lib/openat.h: Revamp code so that function macros depend on
72698         __OPENAT_PREFIX only, not also on AT_FDCWD.
72699         (openat_ro): Remove.  Caller changed to use openat_permissive.
72700         (openat_permissive): Now a macro, if not a function.
72701         (openat_restore_fail, openat_save_fail): Now always functions,
72702         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72703
72704         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72705         and openat.c.
72706         * lib/mkdirat.c: Include openat-priv.h.
72707         Remove definitions of macros defined therein.
72708         * lib/openat.c: Likewise.
72709
72710         * lib/mkdirat.c (mkdirat): New file and function.
72711         * lib/openat.h (mkdirat): Declare.
72712
72713         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72714
72715         * lib/openat.h (openat_permissive): Declare.
72716         (openat_ro): Define.
72717
72718         * lib/openat.c (EXPECTED_ERRNO): New macro.
72719         (openat_permissive): New function -- used in remove.c rewrite.
72720         (all functions): Set errno just before returning, only if there
72721         was an actual failure.
72722         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72723
72724         Emulate openat-family functions using Linux's procfs, if possible.
72725         Idea and some code based on Ulrich Drepper's glibc changes.
72726
72727         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72728         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72729         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72730         before falling back on save_cwd and restore_cwd.
72731         (fdopendir, fstatat, unlinkat): Likewise.
72732
72733         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72734         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72735
72736         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72737         as second argument to va_arg.  Otherwise, some versions of gcc
72738         warn that `if this code is reached, the program will abort'.
72739
72740 2006-01-09  Jim Meyering  <jim@meyering.net>
72741
72742         Sync from coreutils.
72743         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72744         Require openat-priv.h.
72745
72746 2006-01-09  Bruno Haible  <bruno@clisp.org>
72747
72748         * modules/strnlen (Include): Use strnlen.h.
72749
72750 2006-01-09  Bruno Haible  <bruno@clisp.org>
72751
72752         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72753
72754 2006-01-09  Bruno Haible  <bruno@clisp.org>
72755
72756         * lib/sysexit_.h (EX_OK): New macro.
72757         Suggested by Martin Lambers <marlam@marlam.de>.
72758
72759 2006-01-09  Bruno Haible  <bruno@clisp.org>
72760
72761         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72762         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72763
72764 2006-01-09  Bruno Haible  <bruno@clisp.org>
72765
72766         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72767         numbers.
72768
72769 2006-01-09  Bruno Haible  <bruno@clisp.org>
72770
72771         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72772         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72773         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72774         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72775
72776 2006-01-09  Bruno Haible  <bruno@clisp.org>
72777
72778         * build-aux/javacomp.sh.in: New file, moved from lib/.
72779         * modules/javacomp-script (Files): Update.
72780         (configure.ac): Add AC_CONFIG_FILES invocation.
72781         (EXTRA_DIST): Remove variable.
72782
72783         * build-aux/javaexec.sh.in: New file, moved from lib/.
72784         * modules/javaexec (Files): Update.
72785         (configure.ac): Add AC_CONFIG_FILES invocation.
72786         (EXTRA_DIST): Remove javaexec.sh.in.
72787
72788         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72789         * modules/csharpcomp-script (Files): Update.
72790         (configure.ac): Add AC_CONFIG_FILES invocation.
72791         (EXTRA_DIST): Remove variable.
72792
72793         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72794         * modules/csharpexec (Files): Update.
72795         (configure.ac): Add AC_CONFIG_FILES invocation.
72796         (EXTRA_DIST): Remove csharpexec.sh.in.
72797
72798 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72799
72800         Sync from coreutils.
72801
72802         Add POSIX ACL support
72803         * lib/acl.h (copy_acl, set_acl): Add declarations.
72804         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72805         systems other than Linux.
72806         (chmod_or_fchmod): New function: use fchmod when possible,
72807         and chmod otherwise.
72808         (file_has_acl): Add a POSIX ACL implementation, with a
72809         Linux-specific subcase.
72810         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72811         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72812         acls are unsupported.
72813         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72814         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72815         are unsupported.
72816
72817 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72818
72819         Sync from coreutils.
72820         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72821
72822 2006-01-07  Bruno Haible  <bruno@clisp.org>
72823
72824         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72825         gl_EARLY.
72826
72827 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72828
72829         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72830         Problem reported for Mingw by Mark Junker.
72831
72832 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72833
72834         * README: Gnulib normally doesn't generate a tarball.
72835
72836 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72837
72838         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72839         long int, not int, for nanosecond counts, so that people who are
72840         used to POSIX struct timespec won't be surprised.  Reported by Jim
72841         Meyering.
72842
72843 2005-12-28  Bruno Haible  <bruno@clisp.org>
72844
72845         * build-aux/config.rpath: Update from GNU gettext.
72846
72847 2005-12-16  Jim Meyering  <jim@meyering.net>
72848
72849         * modules/fprintftime: New module.
72850         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72851
72852 2005-12-16  Jim Meyering  <jim@meyering.net>
72853
72854         * m4/fprintftime.m4: New file.
72855
72856 2005-12-16  Jim Meyering  <jim@meyering.net>
72857
72858         * lib/fprintftime.c, lib/fprintftime.h: New files.
72859
72860 2005-12-15  Simon Josefsson  <jas@extundo.com>
72861
72862         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72863         new m4/socklen.m4.
72864
72865 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72866
72867         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72868         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72869
72870 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72871
72872         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72873         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72874         struct uparams is valid. Fall back to the default values if it is
72875         not.
72876
72877 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72878
72879         * modules/argp (Files): Add argp-pin.c
72880         (Depends-on): dirname
72881         (lib_SOURCES): Add argp-pin.c
72882
72883 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72884
72885         * m4/argp.m4:  Check if program_invocation_name and
72886         program_invocation_short_name are declared and define appropriate
72887         macros if they are not.
72888
72889 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72890
72891         * lib/argp-help.c (__argp_base_name): New function
72892         (__argp_short_program_name): Rewrite using __argp_base_name
72893         * lib/argp-namefrob.h: Define program_invocation_name and
72894         program_invocation_short_name if requested
72895         (__argp_base_name): Add prototype
72896         * lib/argp-parse.c (argp_def): Use gettext wrappers
72897         (argp_default_parser): Use __argp_base_name
72898         * lib/argp-pin.c: New file. Defines program_invocation_name and
72899         program_invocation_short_name on systems that lack them.
72900
72901 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72902
72903         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72904         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72905         porting problem reported by Georg Schwarz in
72906         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72907
72908 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72909
72910         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72911         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72912         porting problem reported by Georg Schwarz in
72913         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72914
72915 2005-12-05  Bruno Haible  <bruno@clisp.org>
72916
72917         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72918         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72919         Reported by Mark Junker <mjscod@gmx.de>.
72920
72921 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72922
72923         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72924         Use implementation from Albert Chin, with some
72925         comments/corrections by Stepan Kasal and myself.
72926
72927 2005-12-02  Bruno Haible  <bruno@clisp.org>
72928
72929         * gnulib-tool (func_import): Accept GPLed build tool modules when
72930         --lgpl is given.
72931         * modules/csharpcomp-script: New file.
72932         * modules/csharpcomp: Depend on it.
72933         * modules/javacomp-script: New file.
72934         * modules/javacomp: Depend on it.
72935         Suggested by Simon Josefsson.
72936
72937 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
72938
72939         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
72940         statement, to work around an HP-UX 10.20 compiler bug reported by
72941         Peter O'Gorman.
72942
72943 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72944
72945         * modules/savedir (Depends-on): Add openat.
72946
72947 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72948
72949         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
72950         (uintmax_t) [defined uintmax_t]: Do not declare.
72951         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
72952         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
72953         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
72954         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
72955         sake of portability to weird hosts that C allows (though we don't
72956         know of any practical examples).
72957
72958         * lib/savedir.h (fdsavedir): New decl.
72959         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
72960         contains most of the former guts of savedir.
72961         (savedir): Use savedirstream.
72962         Include "openat.h".
72963
72964 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72965
72966         * modules/obstack (Files): Add m4/ulonglong.m4.
72967         Problem reported by Davide Angelocola.
72968
72969 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
72970
72971         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
72972         coreutils no longer futzes with rounding modes.
72973
72974 2005-11-14  Jim Meyering  <jim@meyering.net>
72975
72976         * lib/mkstemp-safer.c: Include <config.h>, required for possible
72977         replacement of mkstemp.
72978
72979 2005-11-10  Simon Josefsson  <jas@extundo.com>
72980
72981         * lib/readline.c: Remove EOL.
72982
72983 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72984
72985         * modules/gethrxtime (Depends-on): Add gettime.
72986
72987 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72988
72989         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
72990         or gettimeofday; no longer needed.
72991
72992 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72993
72994         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
72995         time business.
72996         (gethrxtime) [! (HAVE_NANOUPTIME
72997         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
72998         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
72999         our own approximation.
73000
73001 2005-11-08  Eric Blake  <ebb9@byu.net>
73002
73003         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73004
73005 2005-11-08  Eric Blake  <ebb9@byu.net>
73006
73007         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73008
73009 2005-11-04  Bruno Haible  <bruno@clisp.org>
73010
73011         * gnulib-tool: Implement --update mode.
73012
73013 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73014
73015         Fix porting problem reported by Theodoros V. Kalamatianos.
73016         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73017         Don't assume that futimes failing means we must fail.
73018
73019 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73020
73021         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73022         variables to suggest the intended function of the PATH_MAX check.
73023
73024 2005-10-30  Kean Johnston  <jkj@sco.com>
73025
73026         Trivial changes to support SCO systems.
73027         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73028         as PATH_MAX.
73029         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73030         where __ptr is null when no I/O is pending.
73031
73032 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73033
73034         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73035         leave errno alone.  Problem reported by Dmitry V. Levin.
73036
73037 2005-10-28  Simon Josefsson  <jas@extundo.com>
73038
73039         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73040         Test more.
73041
73042         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73043
73044         * modules/md2, modules/md2-tests: New files.
73045
73046 2005-10-28  Simon Josefsson  <jas@extundo.com>
73047
73048         * m4/inet_ntop.m4: More tests.
73049
73050         * m4/gc-md2.m4, md2.m4: New file.
73051
73052 2005-10-28  Simon Josefsson  <jas@extundo.com>
73053
73054         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73055         "restrict" keywords, as per POSIX.  Protect the function
73056         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73057         Don't use K&R prototypes.  Check the sprintf return values.
73058         Re-define EAFNOSUPPORT if not present.  Indent.
73059
73060         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73061         suggested by Bruno Haible <bruno@clisp.org>.
73062
73063         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73064
73065         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73066
73067         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73068         libgcrypt).
73069
73070         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73071
73072         * lib/md2.h, lib/md2.c: New files.
73073
73074 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73075
73076         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73077         errno alone.  Problem reported by Frederic Jolliton.
73078
73079 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73080
73081         * modules/verify (License): Change from GPL to LGPL.  This is a
73082         tiny module and there are apparently near-equivalents that are
73083         under the BSD license.
73084
73085 2005-10-24  Simon Josefsson  <jas@extundo.com>
73086
73087         * modules/sha1: Relicense to LGPL.
73088
73089 2005-10-24  Simon Josefsson  <jas@extundo.com>
73090
73091         * lib/md4.h: Shrink buffer size, now that we changed the type.
73092
73093 2005-10-23  Simon Josefsson  <jas@extundo.com>
73094
73095         * gnulib-tool (func_import): Fix --tests-base.
73096
73097 2005-10-22  Simon Josefsson  <jas@extundo.com>
73098
73099         * modules/arcfour (Depends-on): Need stdint.
73100
73101 2005-10-22  Simon Josefsson  <jas@extundo.com>
73102
73103         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73104         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73105
73106 2005-10-22  Simon Josefsson  <jas@extundo.com>
73107
73108         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73109         suggested by Bruno Haible <bruno@clisp.org>.
73110
73111 2005-10-22  Simon Josefsson  <jas@extundo.com>
73112
73113         * lib/crc.h: Include stddef.h, for size_t.
73114
73115 2005-10-22  Simon Josefsson  <jas@extundo.com>
73116
73117         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73118         arcfour_context struct (simplify test vector testing in GNU
73119         Shishi).
73120
73121 2005-10-21  Simon Josefsson  <jas@extundo.com>
73122
73123         * modules/des, modules/des-tests: New files.
73124
73125         * modules/gc-des, modules/gc-des-tests: New files.
73126
73127         * tests/test-des.c, tests/test-gc-des.c: New file.
73128
73129 2005-10-21  Simon Josefsson  <jas@extundo.com>
73130
73131         * modules/arctwo, modules/arctwo-tests: New files.
73132
73133         * tests/test-arctwo.c: New file.
73134
73135         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73136
73137         * tests/test-gc-arctwo.c: New file.
73138
73139 2005-10-21  Simon Josefsson  <jas@extundo.com>
73140
73141         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73142         Bruno Haible <bruno@clisp.org>.
73143
73144         * m4/gc-des.m4: New file.
73145
73146 2005-10-21  Simon Josefsson  <jas@extundo.com>
73147
73148         * m4/arctwo.m4: New file.
73149
73150         * m4/gc-arctwo.m4: New file.
73151
73152 2005-10-21  Simon Josefsson  <jas@extundo.com>
73153
73154         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73155         block.
73156
73157 2005-10-21  Simon Josefsson  <jas@extundo.com>
73158
73159         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73160         <bruno@clisp.org>.
73161
73162         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73163
73164         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73165         Bruno Haible <bruno@clisp.org>.
73166
73167         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73168         <bruno@clisp.org>.
73169
73170 2005-10-21  Simon Josefsson  <jas@extundo.com>
73171
73172         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73173
73174 2005-10-21  Simon Josefsson  <jas@extundo.com>
73175
73176         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73177
73178 2005-10-21  Simon Josefsson  <jas@extundo.com>
73179
73180         * lib/des.h, lib/des.c: New files.
73181
73182         * lib/gc-gnulib.c: Support DES.c
73183
73184 2005-10-21  Simon Josefsson  <jas@extundo.com>
73185
73186         * lib/arctwo.h, lib/arctwo.c: New files.
73187
73188         * lib/gc-gnulib.c: Support ARCTWO.
73189
73190 2005-10-21  Simon Josefsson  <jas@extundo.com>
73191
73192         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73193         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73194
73195 2005-10-21  Simon Josefsson  <jas@extundo.com>
73196
73197         * gnulib-tool (func_import, func_create_testdir): Define automake
73198         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73199         Makefile.am snippet),
73200         suggested by Bruno Haible <bruno@clisp.org>.
73201
73202         * modules/gc (Makefile.am): Use it.
73203
73204 2005-10-21  Bruno Haible  <bruno@clisp.org>
73205
73206         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73207         patch.
73208
73209 2005-10-19  Simon Josefsson  <jas@extundo.com>
73210
73211         * tests/test-gc-rijndael.c: New file.
73212
73213         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73214
73215 2005-10-19  Simon Josefsson  <jas@extundo.com>
73216
73217         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73218         interface too.
73219
73220 2005-10-19  Simon Josefsson  <jas@extundo.com>
73221
73222         * tests/test-gc-arcfour.c: New file.
73223
73224         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73225
73226 2005-10-19  Simon Josefsson  <jas@extundo.com>
73227
73228         * modules/gc-md4, modules/gc-md4-tests: New file.
73229
73230         * tests/test-gc-md4.c: New file.
73231
73232 2005-10-19  Simon Josefsson  <jas@extundo.com>
73233
73234         * m4/gc-md4.m4: New file.
73235
73236 2005-10-19  Simon Josefsson  <jas@extundo.com>
73237
73238         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73239         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73240         <kasal@ucw.cz>.
73241
73242 2005-10-19  Simon Josefsson  <jas@extundo.com>
73243
73244         * m4/gc-arcfour.m4: New file.
73245
73246         * m4/gc-rijndael.m4: New file.
73247
73248 2005-10-19  Simon Josefsson  <jas@extundo.com>
73249
73250         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73251
73252 2005-10-19  Simon Josefsson  <jas@extundo.com>
73253
73254         * lib/gc-gnulib.c: Support ARCFOUR.
73255
73256 2005-10-19  Simon Josefsson  <jas@extundo.com>
73257
73258         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73259         support.
73260
73261         * lib/gc.h: Add ECB enum type.
73262
73263         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73264
73265 2005-10-18  Simon Josefsson  <jas@extundo.com>
73266
73267         * tests/test-md5.c: New file.
73268
73269         * modules/md5-tests: New file.
73270
73271 2005-10-18  Simon Josefsson  <jas@extundo.com>
73272
73273         * tests/test-md4.c: New file.
73274
73275         * modules/md4, modules/md4-tests: New files.
73276
73277 2005-10-18  Simon Josefsson  <jas@extundo.com>
73278
73279         * m4/md4.m4: New file.
73280
73281 2005-10-18  Simon Josefsson  <jas@extundo.com>
73282
73283         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73284
73285 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73286
73287         * gnulib-tool (func_create_testdir): Omit the second check whether
73288         BUILT_SOURCES in nonempty.
73289
73290 2005-10-17  Simon Josefsson  <jas@extundo.com>
73291
73292         * tests/test-rijndael.c: New file.
73293
73294 2005-10-17  Simon Josefsson  <jas@extundo.com>
73295
73296         * modules/sha1: Depend on stdint instead of md5.
73297
73298         * modules/md5: Depend on stdint, remove uint32_t.
73299
73300 2005-10-17  Simon Josefsson  <jas@extundo.com>
73301
73302         * modules/gc-sha1-tests: New file.
73303
73304         * tests/test-gc-sha1.c: New file.
73305
73306 2005-10-17  Simon Josefsson  <jas@extundo.com>
73307
73308         * m4/md5.m4: Remove call to uint32_t.m4.
73309
73310 2005-10-17  Simon Josefsson  <jas@extundo.com>
73311
73312         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73313
73314         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73315         md5.h.
73316
73317         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73318
73319         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73320
73321 2005-10-17  Simon Josefsson  <jas@extundo.com>
73322
73323         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73324
73325 2005-10-17  Simon Josefsson  <jas@extundo.com>
73326
73327         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73328
73329 2005-10-17  Simon Josefsson  <jas@extundo.com>
73330
73331         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73332
73333         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73334
73335 2005-10-17  Bruno Haible  <bruno@clisp.org>
73336
73337         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73338         that it can also be used in a test.
73339
73340 2005-10-16  Bruno Haible  <bruno@clisp.org>
73341
73342         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73343         TESTS_ENVIRONMENT, so that individual tests can augment it.
73344
73345         * gnulib-tool (func_create_testdir): Use an intermediate target for
73346         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73347         macros, like $(ALLOCA_H), which cannot be passed through the command
73348         line.
73349
73350 2005-10-15  Simon Josefsson  <jas@extundo.com>
73351
73352         * modules/rijndael-tests: New file.
73353
73354         * modules/rijndael: New file.
73355
73356 2005-10-15  Simon Josefsson  <jas@extundo.com>
73357
73358         * m4/rijndael.m4: New file.
73359
73360 2005-10-15  Simon Josefsson  <jas@extundo.com>
73361
73362         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73363
73364         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73365
73366 2005-10-14  Simon Josefsson  <jas@extundo.com>
73367
73368         * tests/test-arcfour.c: New file.
73369
73370         * modules/arcfour, modules/arcfour-tests: New files.
73371
73372 2005-10-14  Simon Josefsson  <jas@extundo.com>
73373
73374         * m4/arcfour.m4: New file.
73375
73376 2005-10-14  Simon Josefsson  <jas@extundo.com>
73377
73378         * lib/arcfour.h, lib/arcfour.c: New files.
73379
73380 2005-10-14  Roland McGrath  <roland@redhat.com>
73381
73382         Import from libc.  [BZ #1331]
73383         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73384         macro argument.
73385         Reported by Matej Vela <vela@debian.org>.
73386
73387 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73388
73389         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73390         include <wchar.h>; no longer needed.
73391
73392 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73393
73394         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73395
73396 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73397         and  Ulrich Drepper  <drepper@redhat.com>
73398
73399         Import from libc.
73400         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73401         instead of inline stream orientation test and two separate
73402         function calls.  Pay no attention to USE_IN_LIBIO.
73403
73404 2005-10-13  Simon Josefsson  <jas@extundo.com>
73405
73406         * modules/gc-hmac-md5-tests: New file.
73407
73408         * tests/test-gc-hmac-sha1.c: New file.
73409
73410         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73411
73412         * modules/gc-hmac-md5-tests: New file.
73413
73414         * tests/test-gc-md5.c: New file.
73415
73416         * modules/gc-md5-tests: New file.
73417
73418 2005-10-13  Simon Josefsson  <jas@extundo.com>
73419
73420         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73421         Move memory allocation outside of loop.
73422
73423 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73424
73425         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73426         intermediate directory is in a read-only file system.  Problem
73427         reported by Eric Blake.
73428
73429 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73430
73431         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73432
73433 2005-10-12  Simon Josefsson  <jas@extundo.com>
73434
73435         * tests/test-hmac-sha1.c: New file.
73436
73437         * modules/hmac-sha1-tests: New file.
73438
73439         * modules/hmac-sha1: New file.
73440
73441 2005-10-12  Simon Josefsson  <jas@extundo.com>
73442
73443         * modules/gc-sha1: New file.
73444
73445 2005-10-12  Simon Josefsson  <jas@extundo.com>
73446
73447         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73448
73449         * tests/test-gc-pbkdf2-sha1.c: New file.
73450
73451 2005-10-12  Simon Josefsson  <jas@extundo.com>
73452
73453         * modules/gc-md5, modules/gc-hmac-md5: New files.
73454
73455         * modules/gc (Files): Remove md5, memxor and hmac files.
73456
73457 2005-10-12  Simon Josefsson  <jas@extundo.com>
73458
73459         * m4/gc-pbkdf2-sha1.m4: New file.
73460
73461         * m4/gc-hmac-sha1.m4: New file.
73462
73463         * m4/gc-sha1: New file.
73464
73465         * m4/hmac-sha1.m4: New file.
73466
73467 2005-10-12  Simon Josefsson  <jas@extundo.com>
73468
73469         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73470
73471         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73472
73473 2005-10-12  Simon Josefsson  <jas@extundo.com>
73474
73475         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73476         suggested by Bruno Haible <bruno@clisp.org>.
73477
73478 2005-10-12  Simon Josefsson  <jas@extundo.com>
73479
73480         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73481
73482 2005-10-12  Simon Josefsson  <jas@extundo.com>
73483
73484         * lib/gc-pbkdf2-sha1.c: New file.
73485
73486         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73487
73488 2005-10-12  Simon Josefsson  <jas@extundo.com>
73489
73490         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73491
73492         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73493
73494 2005-10-12  Simon Josefsson  <jas@extundo.com>
73495
73496         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73497         GC_USE_HMAC_MD5, respectively.
73498
73499         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73500         (gc_md5): Fix typo.
73501
73502         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73503
73504         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73505
73506         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73507
73508 2005-10-12  Bruno Haible  <bruno@clisp.org>
73509
73510         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73511         Reported by Stepan Kasal <kasal@ucw.cz>.
73512
73513 2005-10-11  Simon Josefsson  <jas@extundo.com>
73514
73515         * tests/test-crc.c: New file.
73516
73517         * modules/crc, modules/crc-tests: New files.
73518
73519 2005-10-11  Simon Josefsson  <jas@extundo.com>
73520
73521         * m4/crc.m4: New file.
73522
73523 2005-10-11  Simon Josefsson  <jas@extundo.com>
73524
73525         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73526
73527         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73528
73529         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73530
73531 2005-10-11  Simon Josefsson  <jas@extundo.com>
73532
73533         * lib/crc.h, lib/crc.c: New files.
73534
73535         * lib/gc.h (gc_hash_buffer): Add doc.
73536
73537 2005-10-11  Bruno Haible  <bruno@clisp.org>
73538
73539         * modules/c-strcasestr: New file.
73540         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73541
73542 2005-10-11  Bruno Haible  <bruno@clisp.org>
73543
73544         * modules/c-strcase: New file.
73545         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73546
73547 2005-10-11  Bruno Haible  <bruno@clisp.org>
73548
73549         * lib/strcasecmp.c: Include limits.h.
73550         (strcasecmp): Avoid integer overflow on exotic platforms.
73551         * lib/strncasecmp.c: Include limits.h.
73552         (strncasecmp): Avoid integer overflow on exotic platforms.
73553         Reported by Paul Eggert.
73554
73555 2005-10-11  Bruno Haible  <bruno@clisp.org>
73556
73557         * lib/c-strcasestr.h: New file, from GNU gettext.
73558         * lib/c-strcasestr.c: New file, from GNU gettext.
73559
73560 2005-10-11  Bruno Haible  <bruno@clisp.org>
73561
73562         * lib/c-strcase.h: New file, from GNU gettext.
73563         * lib/c-strcasecmp.c: New file, from GNU gettext.
73564         * lib/c-strncasecmp.c: New file, from GNU gettext.
73565
73566 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73567
73568         * modules/mempcpy (License): GPL -> LGPL.
73569         * modules/strchrnul (License): Likewise.
73570         * modules/sysexits (License): Likewise.
73571
73572 2005-10-08  Simon Josefsson  <jas@extundo.com>
73573
73574         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73575
73576 2005-10-07  Simon Josefsson  <jas@extundo.com>
73577
73578         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73579
73580 2005-10-06  Simon Josefsson  <jas@extundo.com>
73581
73582         * tests/test-hmac-md5.c: New file.
73583
73584         * modules/hmac-md5-tests: New file.
73585
73586         * modules/hmac-md5: New file.
73587
73588 2005-10-06  Simon Josefsson  <jas@extundo.com>
73589
73590         * m4/hmac-md5.m4: New file.
73591
73592         * m4/memxor.m4: Require gl_C_RESTRICT.
73593
73594 2005-10-06  Simon Josefsson  <jas@extundo.com>
73595
73596         * lib/memxor.c (memxor): Avoid casts and warnings.
73597
73598 2005-10-06  Simon Josefsson  <jas@extundo.com>
73599
73600         * lib/hmac-md5.c: New file.
73601
73602         * lib/hmac.h: New file.
73603
73604 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73605
73606         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73607         promotes to int, not unsigned int, to catch the AIX 5.3
73608         compiler bug.
73609
73610 2005-10-05  Simon Josefsson  <jas@extundo.com>
73611
73612         * modules/memxor: New file.
73613
73614         * modules/iconv (Files): Move config.rpath to havelib, it is used
73615         there.
73616
73617         * modules/havelib (Files): Add config.rpath.
73618
73619 2005-10-05  Simon Josefsson  <jas@extundo.com>
73620
73621         * m4/memxor.m4: New file.
73622
73623 2005-10-05  Simon Josefsson  <jas@extundo.com>
73624
73625         * lib/memxor.c (memxor): Fix compiler error.
73626
73627         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73628         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73629
73630         * lib/memxor.h, lib/memxor.c: New files.
73631
73632         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73633         we assume all systems have it, suggested by Jim Meyering
73634         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73635         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73636         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73637         same reasons.
73638
73639 2005-10-05  Simon Josefsson  <jas@extundo.com>
73640
73641         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73642
73643 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73644
73645         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73646         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73647         needed, since the source code now assumes these .h files.
73648
73649 2005-10-05  Derek Price  <derek@ximbiot.com>
73650
73651         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73652
73653 2005-10-05  Bruno Haible  <bruno@clisp.org>
73654
73655         * modules/stdint (License): Change to LGPL.
73656
73657 2005-10-04  Simon Josefsson  <jas@extundo.com>
73658
73659         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73660         D. Baushke" <mdb@gnu.org>.
73661
73662 2005-10-04  Bruno Haible  <bruno@clisp.org>
73663
73664         * lib/verify.h (verify_true): Provide alternative definition for C++.
73665
73666 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73667
73668         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73669         (SSIZE_MAX): New macro, if not already defined.
73670         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73671         than 2 GiB.
73672
73673 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73674
73675         Sync from coreutils.
73676         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73677         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73678         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73679         ULLONG_MAX doesn't work with 2.7.2.1.
73680
73681 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73682
73683         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73684         From Ben Pfaff.
73685
73686         * modules/exclude (Depends-on): Depend on verify.
73687         * modules/strtoimax (Depends-on): Likewise.
73688         * modules/utimecmp (Depends-on): Likewise.
73689
73690 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73691
73692         * lib/exclude.c: Include verify.h.
73693         (verify): Remove.  All callers changed to use verify.h's version.
73694         * lib/strtoimax.c: Likewise.
73695         * lib/utimecmp.c: Likewis.e
73696
73697         Sync from coreutils.
73698         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73699         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73700         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73701         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73702         bother returning ENOSYS if settimeofday or stime fails; just let
73703         them return whatever errno they want to return.
73704         * lib/utimens.c: Include unistd.h, for dup2.
73705         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73706         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73707
73708 2005-10-02  Jim Meyering  <jim@meyering.net>
73709
73710         Sync from coreutils.
73711         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73712         from glibc-2.2.5 that fails for read-only files.
73713
73714 2005-10-02  Jim Meyering  <jim@meyering.net>
73715
73716         Sync from coreutils.
73717         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73718         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73719         `#if HAVE_CONFIG_H'.
73720         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73721         Remove AT_FDCWD test.
73722         Do not consume the fd unless successful.
73723         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73724         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73725         block, so that we don't even try to compile it if settimeofday is
73726         available.  This works around a compilation failure on OSF1 V5.1,
73727         due to stime requiring a `long int*' while tv_sec is `int'.
73728
73729 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73730
73731         Sync from coreutils.
73732         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73733         against `yes', rather than just testing for nonempty.
73734
73735 2005-10-01  Simon Josefsson  <jas@extundo.com>
73736
73737         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73738         and Darwin.
73739
73740         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73741         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73742         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73743         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73744         Check if struct addrinfo is declared.
73745
73746 2005-10-01  Simon Josefsson  <jas@extundo.com>
73747
73748         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73749         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73750         AI_* and EAI_* definitions.  Protect function declarations.
73751
73752 2005-10-01  Jim Meyering  <jim@meyering.net>
73753
73754         Sync from coreutils.
73755
73756         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73757         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73758         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73759         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73760         in the inet and nsl libraries.  Required on Solaris 5.7.
73761
73762 2005-10-01  Jim Meyering  <jim@meyering.net>
73763
73764         Sync from coreutils.
73765         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73766         in the inet and nsl libraries.  Required on Solaris 5.7.
73767
73768 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73769
73770         * lib/getdelim.c (getdelim): Remove unused variables.
73771
73772 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73773
73774         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73775         so that the code works even with ancient cpp.  Portability problem
73776         with GCC 2.7.2.1 reported by Thomas M.Ott.
73777
73778 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73779
73780         * modules/regex (Depends-on): Add strcase.
73781
73782         * modules/gethostname (Licence): Change from GPL to LGPL, since
73783         gethostname.c is a trivial implementation of a standard library
73784         function.
73785         * modules/poll (License): Change from GPL to LGPL, since it's
73786         derived from LGPL code.
73787
73788 2005-09-27  Jim Meyering  <jim@meyering.net>
73789
73790         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73791         HAVE_CONFIG_H.
73792
73793         * lib/intprops.h (signed_type_or_expr__): Define.
73794         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73795         for unsigned types.
73796
73797 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73798
73799         * lib/verify.h (verify_expr): Remove, replacing with:
73800         (verify_true): New macro that returns true instead of void.
73801         (verify_type__): Remove.
73802         (verify): Use verify_true rather than verify_type__.
73803
73804 2005-09-26  Bruno Haible  <bruno@clisp.org>
73805
73806         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73807         is necessary.
73808         (lib_SOURCES): Remove mbchar.c.
73809         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73810         (Files): Add m4/mbrtowc.m4.
73811         * modules/mbiter: Likewise.
73812         * modules/mbuiter: Likewise.
73813
73814 2005-09-26  Bruno Haible  <bruno@clisp.org>
73815
73816         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73817         compile mbchar.c if they are not both present.
73818         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73819         * m4/mbiter.m4 (gl_MBITER): Likewise.
73820         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73821         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73822         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73823
73824 2005-09-25  Jim Meyering  <jim@meyering.net>
73825
73826         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73827         also uses socklen_t.
73828
73829 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73830
73831         * lib/utimens.c (ENOSYS): Define if not already defined.
73832         (futimens): Support having a null PATH if the file descriptor
73833         is nonnegative.
73834
73835         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73836         Remove.
73837         (__attribute): Define to empty unless GCC 3.1 or later.
73838         This works around a core dump on OpenBSD 3.4, which has GCC
73839         2.95.3, which dumps core when given __attribute__(()).  It also
73840         simplifies other tests, since we really don't want to bother with
73841         worrying about which ancient version of GCC supported what.
73842         Original problem reported by Yoann Vandoorselaere, with part of
73843         the fix suggested by Derek Price.
73844
73845 2005-09-24  Jim Meyering  <jim@meyering.net>
73846
73847         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73848         so we can once again use a positive bitfield width of 1 -- now we
73849         don't have to explain why we were using a bitfield width of 2.
73850
73851 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73852
73853         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73854         and similarly for the other external symbols.  Problem reported
73855         by James Gallager.
73856
73857         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73858         bug reported by Jim Meyering.
73859
73860         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73861         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73862         not needed, since socklen is a prerequisite module.
73863
73864 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73865
73866         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73867         Problem reported by Eric Blake.
73868         (getaddrinfo): Initialize se so that it's not garbage.
73869         Redo internal storage allocation so that it doesn't make unportable
73870         assumptions about alignment.
73871         Fix a memory leak.
73872
73873         * lib/utimens.c (futimens): Use futimesat if available.
73874         Prefer it to futimes since it doesn't have the futimes bug.
73875
73876         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73877         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73878         Instead, declare a function that returns a pointer to an array,
73879         and use verify_type__ to declare the size of the array.
73880         Problem and germ of a solution reported by Bruno Haible.
73881         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73882         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73883
73884 2005-09-23  Jim Meyering  <jim@meyering.net>
73885
73886         Sync from coreutils.
73887         Correct build failure (socklen_t not defined) on at least
73888         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73889         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73890
73891 2005-09-23  Jim Meyering  <jim@meyering.net>
73892
73893         * modules/getaddrinfo (Depends-on): Add socklen.
73894
73895 2005-09-23  Bruno Haible  <bruno@clisp.org>
73896
73897         * tests/test-verify.c: New file.
73898
73899 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73900
73901         Sync from coreutils.
73902
73903         * modules/argmatch (Depends-on): Add verify.
73904         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73905         unistd-safer.
73906         * modules/save-cwd (Depends-on): Likewise.
73907
73908         * modules/openat (Files): Add lib/openat-die.c.
73909         (Depends-on): Remove error, exitfail.
73910         Add dirname.
73911
73912         * modules/verify: New file.
73913         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73914         with "verify" module.
73915
73916 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73917
73918         Sync from coreutils.
73919
73920         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73921         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73922         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73923         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73924         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73925         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73926         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
73927         Don't bother checking for string.h, stdlib.h, unistd.h.
73928         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
73929         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
73930         module's job.
73931         * m4/jm-macros.m4 (gl_MACROS): Likewise.
73932         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
73933
73934         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
73935         (gl_GETDATE): Use it.
73936
73937         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
73938
73939 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73940
73941         Sync from coreutils.
73942
73943         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
73944         stat-time.h.
73945         * lib/argmatch.h: Include verify.h
73946         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
73947         (ARGMATCH_ASSERT): Remove; unused.
73948         * lib/canonicalize.c: Assume STDC_HEADERS.
73949         * lib/exclude.c: Include "strcase.h".
73950         * lib/regex_internal.h [!defined _LIBC]: Likewise.
73951         * lib/getusershell.c: Include stdio--.h rather than stdio.h
73952         and stdio-safer.h.
73953         (getusershell): Call fopen, not fopen_safer.
73954         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
73955         Do not include unistd-safer.h.
73956         (save_cwd): Don't call fd_safer; no longer needed
73957         now that we include fcntl--.h.
73958
73959         * lib/getdate.y (relative_time): New type.
73960         (RELATIVE_TIME_0): New constant.
73961         (parser_control): Use relative_time instead of doing it ourselves.
73962         (%union): Add new relative_time rel member.
73963         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
73964         Now typeless.
73965         (relunit, relunit_snumber): Now of type rel.
73966         (zone, rel, relunit, get_date): Adjust to above changes.
73967
73968         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
73969         Do not include unistd-safer.h.
73970         (getloadavg): Don't call fd_safer; no longer needed
73971         now that we include fcntl--.h.
73972
73973         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
73974         (make_dir_parents): Treat ENOSYS like EEXIST.
73975
73976         Improve quality of diagnostics on restore_cwd failure.
73977         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
73978         (make_dir_parents): Last arg is now int * (for errno), not bool *.
73979         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
73980         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
73981         each time through the loop.  Do not diagnose restore_cwd failure;
73982         that is the caller's job (and perhaps the caller does not care).
73983
73984         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
73985         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
73986         If the file already exists but is not a directory, don't bother
73987         to try to make its parents.
73988         Close potential file descriptor leak if we can't chdir("/") (!).
73989         Don't always return true if chdir($PWD) fails; return true only
73990         if the requested action was done successfully (except for the
73991         chdir($PWD)).
73992         Don't log final directory unless we actually made it.
73993         Refactor to avoid duplicate code to fix up permissions.
73994         Don't attempt to fix up parent permissions if chdir($PWD) fails.
73995
73996         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
73997         to make it a bit faster and (I hope) clearer.
73998         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
73999         Fix bug in formats like %2N.
74000
74001         * lib/verify.h: New file.
74002
74003 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74004
74005         Sync from coreutils.
74006         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74007
74008 2005-09-22  Jim Meyering  <jim@meyering.net>
74009
74010         Sync from coreutils.
74011
74012         * m4/lstat.m4 (gl_FUNC_LSTAT):
74013         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74014         Remove obsolete comment.
74015         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74016         * m4/xstrtod.m4: Likewise.
74017
74018         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74019
74020 2005-09-22  Jim Meyering  <jim@meyering.net>
74021
74022         Sync from coreutils.
74023
74024         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74025
74026         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74027         the .tm_year member, since otherwise gcc-4.0 would now warn about
74028         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74029
74030         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74031         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74032
74033         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74034         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74035         when run in a time zone for which daylight savings time is in effect
74036         for the starting date.
74037
74038         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74039         stop us from restricting permissions of just-created absolute-named
74040         directories.
74041         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74042         to restore initial working directory.
74043         * lib/mkdir-p.c (make_dir_parents): New parameter:
74044         different_working_dir, to tell caller if/when we change the working
74045         directory and are unable to return to the initial one.
74046         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74047         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74048         `return false'.  This fixes a bug introduced on 2004-07-30.
74049
74050         * lib/openat.c (fdopendir): Be sure to close the supplied
74051         file descriptor before returning.  This makes our replacement
74052         implementation a little closer to Solaris's, where fdopendir
74053         ties the file descriptor to the returned DIR* pointer.
74054         * lib/openat.c (unlinkat): New function.
74055         * lib/openat.h (unlinkat): Add prototype.
74056         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74057         (openat_restore_fail): Rename from openat_restore_die.
74058         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74059
74060         Provide an alternative to exiting immediately upon save_cwd or
74061         restore_cwd failure.  Now, an application can arrange e.g.,
74062         to perform a longjump in that case.
74063         * lib/openat.c: Include dirname.h.
74064         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74065         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74066         and openat_restore_die rather than calling error directly.
74067         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74068
74069         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74070         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74071         define.
74072
74073         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74074         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74075                             int utc, int nanoseconds);
74076         Background:
74077         date should not have to allocate a megabyte of virtual memory to
74078         handle a format argument like +%1048575T.  When implemented with
74079         strftime, it must allocate such a buffer, use strftime to fill it
74080         in, print it, then free it.
74081         With fprintftime, it simply prints everything and exits.
74082         With no need for memory allocation, that's one fewer way to fail.
74083         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74084         optional field width, not before, so we accept %9:z, not %:9z.
74085         (my_strftime): Be sure to use L_('x') for literals.
74086
74087         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74088         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74089         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74090         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74091         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74092         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74093         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74094         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74095         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74096         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74097         * lib/xgethostname.c, lib/xreadlink.c:
74098         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74099
74100         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74101         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74102         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74103         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74104         and don't include <sys/file.h>).
74105
74106 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74107
74108         Sync from coreutils.
74109
74110         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74111         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74112         [!LDAV_DONE]: Avoid unused variable warning.
74113
74114 2005-09-21  Bruno Haible  <bruno@clisp.org>
74115
74116         * lib/unicodeio.h (unicode_to_mb): New declaration.
74117
74118 2005-09-20  Derek Price  <derek@ximbiot.com>
74119
74120         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74121         getaddrinfo.h.
74122
74123 2005-09-20  Bruno Haible  <bruno@clisp.org>
74124
74125         * gnulib-tool: Remove trailing slashes from the values specified for
74126         --source-base, --m4-base, --tests-base, --aux-dir.
74127         Suggested by Simon Josefsson <jas@extundo.com>.
74128
74129 2005-09-20  Bruno Haible  <bruno@clisp.org>
74130
74131         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74132         func_modules_to_filelist, func_import, func_create_testdir): Make all
74133         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74134         change when gnulib-tool is invoked in a different locale.
74135
74136 2005-09-19  Simon Josefsson  <jas@extundo.com>
74137
74138         * m4/socklen.m4: Fix typo.
74139
74140 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74141
74142         Use a consistent style for including <config.h>.
74143         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74144         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74145         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74146         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74147         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74148         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74149         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74150         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74151         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74152         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74153         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74154         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74155         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74156         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74157         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74158         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74159         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74160         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74161         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74162         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74163         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74164         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74165         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74166         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74167         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74168         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74169         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74170         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74171         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74172         lib/xstrtoumax.c, lib/yesno.c:
74173         Standardize inclusion of config.h.
74174         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74175         lib/inttostr.h:  Removed inclusion of config.h from header files.
74176         * lib/inttostr.c:  Adjusted in-tree users.
74177         * lib/timespec.h: Remove superfluous warning to include config.h.
74178         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74179         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74180         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74181         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74182         config.h with HAVE_CONFIG_H.
74183
74184 2005-09-19  Jim Meyering  <jim@meyering.net>
74185
74186         * modules/pathmax (License): Change to LGPL.
74187
74188 2005-09-19  Derek Price  <derek@ximbiot.com>
74189
74190         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74191
74192 2005-09-19  Bruno Haible  <bruno@clisp.org>
74193
74194         * gnulib-tool (import): Provide default for --tests-base.
74195
74196 2005-09-19  Bruno Haible  <bruno@clisp.org>
74197
74198         * doc/quote.texi: New file, extracted from gnulib.texi.
74199         * doc/ctime.texi: New file, extracted from gnulib.texi.
74200         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74201         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74202         * doc/gnulib.texi: Include them.
74203
74204 2005-09-18  Bruno Haible  <bruno@clisp.org>
74205
74206         Portability fix.
74207         * gnulib-tool (func_readlink): New function.
74208         (func_ln_if_changed): Use it.
74209
74210 2005-09-18  Bruno Haible  <bruno@clisp.org>
74211
74212         * gnulib-tool: Support --with-tests also with --import.
74213         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74214         (func_import): Use variables $testsbase and $inctests. Emit a
74215         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74216         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74217         SUBDIRS += $testsdir.
74218         (func_create_testdir): Update.
74219
74220 2005-09-18  Bruno Haible  <bruno@clisp.org>
74221
74222         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74223         instead of $dry_run.
74224         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74225         (func_ln_if_changed): Don't handle dry-run here.
74226         (func_import): In dry-run mode, detect more precisely which actions
74227         would be performed, and don't use "...ing" verbs.
74228
74229 2005-09-18  Bruno Haible  <bruno@clisp.org>
74230
74231         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74232         (func_import): Use join on two temporary files instead of three nested
74233         loops, in order to determine which files are new or old.
74234
74235 2005-09-18  Bruno Haible  <bruno@clisp.org>
74236
74237         * gnulib-tool (func_import): Comment out code that spits out the
74238         new files with --dry-run.
74239
74240 2005-09-18  Bruno Haible  <bruno@clisp.org>
74241
74242         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74243
74244 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74245
74246         * lib/stat-time.h: New file.
74247         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74248         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74249         in a different way.
74250         (timespec_cmp): New function.
74251         * lib/utimecmp.c: Include stat-time.h.
74252         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74253         members exist, not on the obsolescent ST_MTIM_NSEC.
74254         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74255
74256 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74257
74258         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74259
74260 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74261
74262         * MODULES.html.sh (File system functions): Add stat-time.
74263         * modules/stat-time: New file.
74264         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74265         is now done in a different way, by the stat-time module.
74266         * modules/utimecmp (Depends-on): Add stat-time.
74267
74268 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74269
74270         * m4/st_mtim.m4: Remove.  Superseded by...
74271         * m4/stat-time.m4: New file.
74272         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74273         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74274
74275 2005-09-15  Derek Price  <derek@ximbiot.com>
74276
74277         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74278
74279 2005-09-15  Derek Price  <derek@ximbiot.com>
74280
74281         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74282         * lib/regex_internal.c: Ditto, using this...
74283         (__GNUC_PREREQ): ...new macro.
74284         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74285         using...
74286         (__GNUC_PREREQ): ...this new macro.
74287
74288         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74289
74290 2005-09-15  Derek Price  <derek@ximbiot.com>
74291             Paul Eggert  <eggert@cs.ucla.edu>
74292
74293         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74294         changes, consolidating in...
74295         * lib/regex_internal.h: ...this file.
74296
74297 2005-09-13  Jim Meyering  <jim@meyering.net>
74298
74299         * lib/canon-host.c: Filter through gnu indent and reword comments
74300         slightly.
74301         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74302
74303 2005-09-13  Derek Price  <derek@ximbiot.com>
74304
74305         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74306         failure.
74307         Reported by Jim Meyering  <jim@meyering.net>.
74308
74309 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74310
74311         * lib/base64.c: Typo.
74312         (base64_encode): Put b64str in initialized data section.
74313
74314 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74315
74316         Merge glibc and coreutils changes into gnulib, plus a few
74317         extra fixes.
74318         * lib/md5.c: Use #error rather than a string.
74319         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74320         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74321         (__attribute__): Define to empty for non recent-GCC.
74322         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74323         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74324         Renamed from their non-__ counterparts, with new macros replacing
74325         them if not _LIBC.  Add __THROW attribute.
74326         (rol): Remove.
74327         (struct md5_ctx): Align buffer if using GCC.
74328         * lib/sha1.h (struct sha1_ctx): Likewise.
74329         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74330         The old name was backwards.
74331         (NOTSWAP): Remove; not used.
74332         (rol): New macro, moved here from md5.h.
74333         (sha1_process_block): Remove a FIXME that doesn't make sense.
74334
74335 2005-09-12  Derek Price  <derek@ximbiot.com>
74336
74337         Return usable errors from canon-host.
74338         * lib/canon-host.h: New file.
74339         * lib/canon-host.c (canon_host): Wrap...
74340         (canon_host_r): ...this new function, which now relies exclusively on
74341         getaddrinfo.
74342         (ch_strerror): New function.
74343         (last_cherror): New global.
74344         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74345         interface.
74346         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74347         void *.
74348         (freeaddrinfo): Free ai->ai_canonname when set.
74349
74350 2005-09-12  Derek Price  <derek@ximbiot.com>
74351
74352         Make canon-host require getaddrinfo.
74353         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74354         AC_LIBSOURCE canon-host.h.  Call...
74355         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74356         gl_GETADDRINFO.
74357         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74358
74359 2005-09-12  Derek Price  <derek@ximbiot.com>
74360
74361         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74362         LGPL.
74363         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74364
74365 2005-09-12  Derek Price  <derek@ximbiot.com>
74366
74367         * lib/gai_strerror.c: Include config.h when available.  Include
74368         getaddrinfo.h before other headers to test interface.
74369         Reported by Larry Jones <lawrence.jones@ugs.com>.
74370
74371 2005-09-12  Derek Price  <derek@ximbiot.com>
74372             Paul Eggert  <eggert@cs.ucla.edu>
74373
74374         * modules/glob (Files): Add glob-libc.h.
74375
74376 2005-09-12  Derek Price  <derek@ximbiot.com>
74377             Paul Eggert  <eggert@cs.ucla.edu>
74378
74379         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74380         glob_.h, glob-libc.h.
74381         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74382
74383 2005-09-12  Derek Price  <derek@ximbiot.com>
74384             Paul Eggert  <eggert@cs.ucla.edu>
74385
74386         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74387         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74388         protecting things that should be done only in gnulib contexts.
74389         * lib/glob_.h: New file, containing only the glob things needed for
74390         gnulib.
74391         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74392         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74393         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74394         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74395         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74396         and to respect the namespace rules better.
74397
74398 2005-09-08  Simon Josefsson  <jas@extundo.com>
74399
74400         * modules/socklen: New file.
74401
74402 2005-09-08  Simon Josefsson  <jas@extundo.com>
74403
74404         * m4/socklen.m4: New file.
74405
74406 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74407
74408         * modules/utimens (Files): Add m4/utimbuf.m4, since
74409         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74410         Reported by Sergey Poznyakoff.
74411
74412 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74413
74414         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74415         definitions, since that's the preferred style in glibc.
74416         Fix a minor spacing issue, and update copyright notice to match
74417         glibc's.
74418
74419 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74420
74421         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74422
74423 2005-09-06  Simon Josefsson  <jas@extundo.com>
74424
74425         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74426         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74427
74428 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74429
74430         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74431         warning.
74432
74433 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74434
74435         * config/srclist.txt: Add glibc bug 1302.
74436
74437 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74438
74439         Change bitset word type from unsigned int to unsigned long int,
74440         as this has better performance on typical 64-bit hosts.
74441         Port bitset code to hosts with unusual word sizes.
74442         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74443         (build_collating_symbol):
74444         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74445         argument is a bitset.  This is merely a style issue, but it makes
74446         it clearer that an entire array is expected.
74447         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74448         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74449         Port to the case where bitset_word is not the same as unsigned int.
74450         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74451         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74452         Likewise.
74453         * lib/regexec.c (check_dst_limits_calc_pos_1,
74454         check_subexp_matching_top):
74455         (build_trtable, group_nodes_into_DFAstates):
74456         Likewise.
74457         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74458         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74459         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74460         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74461         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74462         * lib/regcomp.c (optimize_subexps, lower_subexp):
74463         Work even if bitset_word has holes in its bitwise representation.
74464         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74465         * lib/regexec.c (check_dst_limits_calc_pos_1,
74466         check_subexp_matching_top):
74467         Likewise.
74468         * lib/regex_internal.c (re_string_reconstruct):
74469         Don't assume UCHAR_MAX == 255.
74470         * lib/regex_internal.h (bitset_set_all): Likewise.
74471         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74472         All uses changed.
74473         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74474         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74475         All uses changed.
74476         (BITSET_WORD_MAX): New macro.
74477         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74478         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74479         (bitset_empty, bitset_copy):
74480         Prefer sizeof (bitset) to multiplying it out ourselves.
74481         (bitset_not_merge): Remove; unused.
74482         (bitset_contain): Return bool, not unsigned int with one bit on.
74483         All callers changed.
74484         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74485         alignment than re_node_set; do this by defining a new internal
74486         type struct dests_alloc and using it to allocate memory.
74487
74488 2005-09-05  Bruno Haible  <bruno@clisp.org>
74489
74490         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74491         links.
74492
74493 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74494
74495         * modules/size_max (Makefile.am): Add size_max.h
74496
74497 2005-09-04  Derek Price  <derek@ximbiot.com>
74498
74499         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74500
74501 2005-09-03  Simon Josefsson  <jas@extundo.com>
74502
74503         * gnulib-tool: Fix typo.
74504
74505 2005-09-03  Simon Josefsson  <jas@extundo.com>
74506
74507         * config/srclist.txt: Add glibc bug 1293.
74508
74509 2005-09-03  Derek Price  <derek@ximbiot.com>
74510
74511         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74512         From Larry Jones <lawrence.jones@ugs.com>.
74513
74514 2005-09-02  Simon Josefsson  <jas@extundo.com>
74515
74516         * modules/socklen: New file.
74517
74518 2005-09-02  Simon Josefsson  <jas@extundo.com>
74519
74520         * modules/havelib: New module.
74521
74522         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74523         Use havelib.
74524
74525 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74526
74527         Check for arithmetic overflow when calculating sizes, to prevent
74528         some buffer-overflow issues.  These patches are conservative, in the
74529         sense that when I couldn't determine whether an overflow was possible,
74530         I inserted a run-time check.
74531         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74532         macros.
74533         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74534         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74535         (re_xnrealloc, re_x2nrealloc): New inline functions.
74536         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74537         parse_bracket_exp):
74538         (build_equiv_class, build_charclass): Check for arithmetic overflow
74539         in size expression calculations.
74540         * lib/regex_internal.c (re_string_realloc_buffers):
74541         (build_wcs_upper_buffer, re_node_set_add_intersect):
74542         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74543         (re_dfa_add_node, register_state): Likewise.
74544         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74545         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74546         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74547         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74548
74549 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74550
74551         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74552         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74553
74554 2005-09-02  Bruno Haible  <bruno@clisp.org>
74555
74556         Support for lib vs. lib64 distinction on biarch platforms.
74557         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74558         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74559         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74560
74561 2005-09-02  Bruno Haible  <bruno@clisp.org>
74562
74563         * gnulib-tool (import): In the other first-use case, provide defaults
74564         as well.
74565
74566 2005-09-02  Bruno Haible  <bruno@clisp.org>
74567
74568         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74569         patches not yet found in the latest gettext release.
74570
74571 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74572
74573         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74574         to avoid a collision with bits/local_lim.h in glibc.
74575         All uses changed.  Problem reported by Dmitry V. Levin in
74576         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74577
74578         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74579         bugs in int versus size_t comparisons.
74580         (re_string_context_at): Fix bug where the code assumed that
74581         Idx is signed.
74582
74583         Use bool where appropriate.
74584         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74585         All callers changed.
74586         (calc_eclosure_iter): Likewise, for ROOT arg.
74587         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74588         (build_charclass_op): Likewise, for NON_MATCH arg.
74589         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74590         (re_string_construct_common): Likewise, for ICASE arg.
74591         * lib/regexec.c (re_search_2_stub, re_search_stub):
74592         Likewise, for RET_LEN arg.
74593         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74594         (set_regs): Likewise, for FL_BACKTRACK arg.
74595         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74596         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74597         (calc_eclosure_iter, parse_bracket_exp):
74598         Use bool for internal variables that are booleans.
74599         * lib/regexec.c (re_search_internal, check_matching,
74600         proceed_next_node):
74601         (set_regs, build_sifted_states, sift_states_bkref):
74602         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74603         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74604         (find_collation_sequence_value):
74605         Likewise.
74606         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74607         (re_node_set_compare):
74608         Return bool, not int. All callers changed.
74609         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74610         (build_trtable, check_node_accept): Likewise.
74611         * lib/regex_internal.h: Include stdbool.h.
74612
74613         Fix bugs uncovered when converting to bool.
74614         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74615         failure instead of charging ahead blindly.
74616         * lib/regex_internal.c (register_state): Likewise.
74617         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74618         for freeing internal storage.
74619         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74620         bitset pieces used as boolean, to avoid undefined behavior
74621         on hosts that do int overflow checking.
74622
74623 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74624
74625         * config/srclist.txt: Add glibc bugs 1285-1287.
74626
74627 2005-09-01  Jim Meyering  <jim@meyering.net>
74628
74629         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74630         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74631         Require gl_STAT_MACROS, too.
74632
74633 2005-09-01  Bruno Haible  <bruno@clisp.org>
74634
74635         * gnulib-tool (import): In the first-use case, provide defaults.
74636
74637 2005-09-01  Bruno Haible  <bruno@clisp.org>
74638
74639         * gnulib-tool (func_import): Remove the .tmp files.
74640
74641 2005-09-01  Bruno Haible  <bruno@clisp.org>
74642
74643         * gnulib-tool (func_import): Fix handling of symbolic links.
74644
74645 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74646
74647         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74648         old glibc regex code mishandles strings longer than 2**31 bytes.
74649         This patch fixes this when the regex code is used in gnulib
74650         (i.e., outside glibc).
74651
74652         This patch should not affect the use of the regex code inside
74653         glibc.  No doubt this problem also needs to be handled for glibc
74654         as well, but the result will be an incompatible change to the
74655         glibc ABI, and the old ABI will have to be supported too.  That
74656         can be the the subject for another patch.
74657
74658         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74659         governing whether the rest of this patch is active.  By default,
74660         the macro is disabled and the patch has no effect.
74661         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74662         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74663         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74664         (re_match_2, re_set_registers): Use the new types.
74665         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74666         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74667         New macros.
74668         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74669         (re_string_context_at, bin_tree_t, re_dfastate_t):
74670         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74671         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74672         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74673         (re_string_char_size_at, re_string_wchar_at):
74674         (re_string_elem_size_at):
74675         Use the new types and macros to port to 64-bit hosts.
74676         Use unsigned types for internal values, so that the code
74677         mostly works even for arrays larger than SSIZE_MAX.
74678         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74679         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74680         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74681         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74682         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74683         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74684         (calc_inveclosure, parse_dup_op, build_range_exp):
74685         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74686         (fetch_number, create_token_tree, mark_opt_subexp):
74687         Likewise.
74688         * lib/regex_internal.c (re_string_construct_common,
74689         create_ci_newstate):
74690         (create_cd_newstate, re_string_allocate, re_string_construct):
74691         (re_string_realloc_buffers, build_wcs_upper_buffer):
74692         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74693         (re_string_reconstruct, re_string_peek_byte_case):
74694         (re_string_fetch_byte_case, re_string_context_at):
74695         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74696         (re_node_set_init_copy, re_node_set_add_intersect):
74697         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74698         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74699         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74700         (re_acquire_state, re_acquire_state_context, register_state):
74701         Likewise.
74702         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74703         search_cur_bkref_entry):
74704         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74705         (re_search_internal, re_search_2_stub, re_search_stub)
74706         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74707         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74708         (update_cur_sifted_state, check_dst_limits):
74709         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74710         (check_subexp_limits, sift_states_bkref, merge_state_array):
74711         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74712         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74713         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74714         (expand_bkref_cache, check_node_accept_bytes):
74715         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74716         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74717         (acquire_init_state_context, check_halt_node_context):
74718         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74719         (sift_states_backward, clean_state_log_if_needed):
74720         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74721         (find_recover_state, transit_state_sb, transit_state_mb):
74722         (transit_state_bkref, build_trtable, match_ctx_clean):
74723         Likewise.
74724         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74725         to work around an assumption that REG_MISSING is negative.
74726
74727         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74728         (seek_collating_symbol_entry) [defined _LIBC]:
74729         (lookup_collation_sequence_value) [defined _LIBC]:
74730         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74731         Use prototypes rather than old-style function definitions.
74732         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74733         (transit_state_sb) [0]:
74734         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74735
74736         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74737         rm_eo.
74738
74739         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74740         (optimize_subexps, lower_subexp):
74741         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74742         since the signed shift might overflow.  Use 1u<<31 instead.
74743         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74744         Likewise.
74745         * lib/regexec.c (check_dst_limits_calc_pos_1,
74746         check_subexp_matching_top): Likewise.
74747
74748         * lib/regcomp.c (optimize_subexps, lower_subexp):
74749         Use CHAR_BIT rather than 8, for clarity.
74750         * lib/regexec.c (check_dst_limits_calc_pos_1):
74751         (check_subexp_matching_top): Likewise.
74752         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74753         have to worry about portability issues when shifting it left.
74754         Remove no-longer-needed test for table_size > 0.
74755         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74756         in a word, as the resulting behavior is undefined.
74757         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74758         in one case, a <= should have been an <, and in another case the
74759         whole test was missing.
74760         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74761         the standard name CHAR_BIT.
74762         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74763         this is not true on one's complement and signed-magnitude hosts.
74764
74765         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74766         next_last_offset.
74767         (struct re_dfa_t): Remove unused member states_alloc.
74768         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74769
74770 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74771
74772         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74773         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74774         and large-file glibc and in 32-bit large-file Solaris.
74775
74776 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74777
74778         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74779         lengths fit in regoff_t; this isn't true if regoff_t is the same
74780         width as size_t.
74781         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74782         (= START + RANGE) instead of RANGE.  This avoids overflow
74783         problems when regoff_t is the same width as size_t.
74784         All callers changed.
74785         (re_search_2_stub): Check for overflow when adding the
74786         sizes of the two strings.
74787         (re_search_stub): Check for overflow when adding START
74788         to RANGE; if it occurs, substitute the extreme value.
74789
74790 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74791
74792         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74793
74794 2005-08-31  Jim Meyering  <jim@meyering.net>
74795
74796         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74797         a pointer-to-const.
74798         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74799         (register_state): Likewise.
74800         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74801         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74802         (group_nodes_into_DFAstates): Likewise.
74803
74804 2005-08-31  Jim Meyering  <jim@meyering.net>
74805
74806         * check-module: Add a FIXME comment.
74807
74808 2005-08-31  Eric Blake  <ebb9@byu.net>
74809
74810         * modules/unistd-safer (Files): Add unistd--.h.
74811         * modules/stdio-safer (Files): Add stdio--.h.
74812
74813 2005-08-31  Derek Price  <derek@ximbiot.com>
74814
74815         * lib/getdelim.c (getdelim): Return EOF on EOF.
74816         Reported by Larry Jones <lawrence.jones@ugs.com>.
74817
74818 2005-08-31  Bruno Haible  <bruno@clisp.org>
74819
74820         Avoid unnecessary diffs in the generated lib/Makefile.am.
74821         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74822         the generated files.
74823         (func_import): Don't set cmd.
74824
74825 2005-08-31  Bruno Haible  <bruno@clisp.org>
74826
74827         * lib/strstr.c: Include <stddef.h>, for NULL.
74828         * lib/strcasestr.c: Likewise.
74829         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74830
74831 2005-08-31  Bruno Haible  <bruno@clisp.org>
74832
74833         * gnulib-tool: New option --macro-prefix.
74834         (func_import): Use macro_prefix.
74835         (import): Handle option --macro-prefix.
74836
74837 2005-08-31  Bruno Haible  <bruno@clisp.org>
74838
74839         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74840         Also use new variables cached_lgpl, cached_libtool.
74841
74842 2005-08-31  Bruno Haible  <bruno@clisp.org>
74843
74844         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74845         always instantiating them.
74846
74847 2005-08-31  Bruno Haible  <bruno@clisp.org>
74848
74849         * gnulib-tool (func_import): Read the previous cached settings
74850         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74851         earlier added by gnulib but are now dropped. Warn when a gnulib file
74852         overwrites a non-gnulib file.
74853
74854 2005-08-31  Bruno Haible  <bruno@clisp.org>
74855
74856         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74857         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74858         projects that don't keep autogenerated files in CVS. Put into
74859         actioncmd only the specified modules, not the transitive closure.
74860
74861 2005-08-31  Bruno Haible  <bruno@clisp.org>
74862
74863         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74864         Create directories that shall be filled.
74865         (import): Don't look for gl_* macros in configure.ac. Recurse across
74866         all directories containing a gnulib-cache.m4 files, if meaningful.
74867
74868 2005-08-31  Bruno Haible  <bruno@clisp.org>
74869
74870         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74871         (import): Set seen_libtool when we see gl_LIBTOOL.
74872
74873 2005-08-31  Bruno Haible  <bruno@clisp.org>
74874
74875         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74876         declaration macro definitions from generated gnulib.m4.
74877
74878 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74879
74880         * lib/iconvme.h: Add prototype for iconv_alloc.
74881
74882 2005-08-29  Simon Josefsson  <jas@extundo.com>
74883
74884         * lib/iconvme.c: Fix errno.
74885
74886 2005-08-29  Bruno Haible  <bruno@clisp.org>
74887
74888         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74889         that it works when the directory contains spaces.
74890
74891 2005-08-29  Bruno Haible  <bruno@clisp.org>
74892
74893         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74894
74895 2005-08-29  Bruno Haible  <bruno@clisp.org>
74896
74897         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74898         Emit more advice.
74899
74900 2005-08-29  Bruno Haible  <bruno@clisp.org>
74901         and Stepan Kasal  <kasal@ucw.cz>
74902
74903         * check-module: If more parameters are given, check each of them
74904         separately; add more exceptions, as noted by Jim Meyering.
74905         (check_module): New procedure.
74906         (%exempt_header): Now contains all exceptions.
74907
74908 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74909
74910         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74911
74912 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74913
74914         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74915
74916 2005-08-28  Bruno Haible  <bruno@clisp.org>
74917
74918         * m4/gnulib-tool.m4: New file.
74919
74920 2005-08-27  Jim Meyering  <jim@meyering.net>
74921
74922         * modules/unistd-safer (Files): Add pipe-safer.c.
74923         * modules/fcntl-safer (Files): Add creat-safer.c.
74924
74925 2005-08-27  Jim Meyering  <jim@meyering.net>
74926
74927         * m4/stdlib-safer.m4: New file.  From coreutils.
74928         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
74929         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
74930         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
74931         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
74932         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
74933
74934 2005-08-27  Jim Meyering  <jim@meyering.net>
74935
74936         * lib/fopen-safer.c: Merge minor changes from coreutils.
74937         * lib/dup-safer.c: Likewise.
74938         * lib/fd-safer.c: Likewise.
74939
74940         Merge from coreutils.
74941         * lib/stdio--.h: New file.
74942         * lib/stdlib--.h: New file.
74943         * lib/mkstemp-safer.c: New file.
74944
74945         GNU tar needs these.
74946         * lib/pipe-safer.c: New file.
74947         * lib/creat-safer.c: New file.
74948         * lib/fcntl--.h (creat): Define to creat_safer.
74949         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
74950         * lib/unistd--.h (pipe): Define to pipe_safer.
74951         * lib/unistd-safer.h: Declare pipe_safer.
74952
74953 2005-08-26  Simon Josefsson  <jas@extundo.com>
74954
74955         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
74956         Haible <bruno@clisp.org>.
74957
74958 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
74959
74960         * lib/regex_internal.h: Remove all references to
74961         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
74962         or better.
74963         (bitset_not, bitset_merge, bitset_not_merge):
74964         (bitset_mask, re_string_allocate, re_string_construct):
74965         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
74966         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
74967         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
74968         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
74969         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74970         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74971         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
74972         (re_acquire_state_context):
74973         Remove unnecessary forward decls.
74974         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
74975         Put __attribute at function definition,
74976         now that the function decl has been removed.
74977         * lib/regex_internal.c (re_string_peek_byte_case):
74978         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
74979         Likewise.
74980
74981 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
74982
74983         * m4/regex.m4: Add AC_PREREQ(2.50).
74984         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
74985
74986 2005-08-25  Simon Josefsson  <jas@extundo.com>
74987
74988         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
74989         __fsetlocking.
74990
74991 2005-08-25  Simon Josefsson  <jas@extundo.com>
74992
74993         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
74994         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
74995         GLIBC specific code.
74996
74997 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74998
74999         Make regex safe for g++.  This fixes one real bug (an "err"
75000         that should have been "*err").  g++ problem reported by
75001         Sam Steingold.
75002         * lib/regex_internal.h (re_calloc): New macro, consistent with
75003         re_malloc etc.  All callers of calloc changed to use re_calloc.
75004         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75005         not int.  All callers changed.
75006         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75007         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75008         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75009         (find_recover_state): Change "err" to "*err"; this fixes what
75010         appears to be a real bug.
75011         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75012         versus int.
75013
75014 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75015
75016         * modules/regex (Depends-on): Add malloc, since the code
75017         assumes that !malloc(0) means failure.
75018
75019 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75020
75021         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75022
75023         alloca modernization/simplification for regex.
75024         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75025         needs to be at the start of the file, and can be moved into
75026         regex_internal.h and simplified.
75027         * lib/regex_internal.h: Include <alloca.h>.
75028         (__libc_use_alloca) [!defined _LIBC]: New macro.
75029         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75030         now works outside glibc.
75031
75032 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75033
75034         * config/srclist.txt: Add glibc bugs 1241, 1245.
75035
75036 2005-08-25  Jim Meyering  <jim@meyering.net>
75037
75038         * lib/open-safer.c: Include <config.h>.
75039         Otherwise, we'd lose LARGEFILE support in any file using
75040         e.g. "fcntl--.h"
75041
75042 2005-08-25  Bruno Haible  <bruno@clisp.org>
75043
75044         * m4/minmax.m4: Require autoconf 2.52.
75045         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75046         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75047         alternatives of translit over the alphabet.
75048         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75049
75050 2005-08-24  Simon Josefsson  <jas@extundo.com>
75051
75052         * tests/test-getpass.c: New file.
75053
75054 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75055
75056         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75057         for GNU regex features.
75058
75059 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75060
75061         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75062         * lib/regex.h (regerror): Likewise.
75063
75064         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75065         requires this.  (The code never needed it.)
75066
75067         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75068         All uses of recently-renamed identifiers changed to use the new,
75069         POSIX-compliant names.  The code will build and run just fine
75070         without these changes, but it's better to eat our own dog food
75071         and use the standard-conforming names.
75072
75073         * lib/regex.h: Fix a multitude of POSIX name space violations.
75074         These changes have an effect only for programs that define
75075         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75076         do not change anything for programs compiled in the normal way.
75077         Also, there is no effect on the ABI.
75078
75079         (_REGEX_SOURCE): New macro.
75080         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75081         defined and _GNU_SOURCE is not; this fixes a name space violation.
75082
75083         Rename the following macros to obey POSIX requirements.
75084         The old names are still visible as macros if _REGEX_SOURCE is defined.
75085         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75086         RE_BACKSLASH_ESCAPE_IN_LISTS.
75087         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75088         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75089         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75090         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75091         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75092         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75093         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75094         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75095         (REG_INTERVALS): renamed from RE_INTERVALS.
75096         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75097         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75098         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75099         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75100         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75101         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75102         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75103         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75104         RE_UNMATCHED_RIGHT_PAREN_ORD.
75105         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75106         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75107         (REG_DEBUG): renamed from RE_DEBUG.
75108         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75109         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75110         unusual, since we can't clash with the POSIX REG_ICASE.
75111         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75112         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75113         (REG_NO_SUB): renamed from RE_NO_SUB.
75114         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75115         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75116         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75117         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75118         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75119         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75120         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75121         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75122         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75123         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75124         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75125         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75126         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75127         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75128         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75129         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75130         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75131         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75132         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75133         (REG_FIXED): Renamed from REGS_FIXED.
75134         (REG_NREGS): Renamed from RE_NREGS.
75135
75136         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75137         of other REG_* macros, since POSIX says the user is allowed to
75138         #undef these macros selectively.
75139
75140         (reg_errcode_t): Update comment stating what other tables need
75141         to be consistent.
75142
75143         Rename the following enum values to obey POSIX requirements.
75144         The old names are still visible as macros.
75145         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75146         is not defined, since GNU is supposed to be a superset of POSIX as
75147         much as possible, and since we want reg_errcode_t to be a signed
75148         type for implementation consistency.
75149         (_REG_NOERROR): Renamed from REG_NOERROR.
75150         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75151         (_REG_BADPAT): Renamed from REG_BADPAT.
75152         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75153         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75154         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75155         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75156         (_REG_EBRACK): Renamed from REG_EBRACK.
75157         (_REG_EPAREN): Renamed from REG_EPAREN.
75158         (_REG_EBRACE): Renamed from REG_EBRACE.
75159         (_REG_BADBR): Renamed from REG_BADBR.
75160         (_REG_ERANGE): Renamed from REG_ERANGE.
75161         (_REG_ESPACE): Renamed from REG_ESPACE.
75162         (_REG_BADRPT): Renamed from REG_BADRPT.
75163         (_REG_EEND): Renamed from REG_EEND.
75164         (_REG_ESIZE): Renamed from REG_ESIZE.
75165         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75166         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75167         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75168         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75169         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75170
75171         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75172         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75173         changed.  But support the old name if the new one is not defined
75174         and if _REGEX_SOURCE.
75175
75176         Change the following member names in struct re_pattern_buffer.
75177         The old names are still supported if !_REGEX_SOURCE.
75178         The new names are always supported, regardless of _REGEX_SOURCE.
75179         (re_buffer): Renamed from buffer.
75180         (re_allocated): Renamed from allocated.
75181         (re_used): Renamed from used.
75182         (re_syntax): Renamed from syntax.
75183         (re_fastmap): Renamed from fastmap.
75184         (re_translate): Renamed from translate.
75185         (re_can_be_null): Renamed from can_be_null.
75186         (re_regs_allocated): Renamed from regs_allocated.
75187         (re_fastmap_accurate): Renamed from fastmap_accurate.
75188         (re_no_sub): Renamed from no_sub.
75189         (re_not_bol): Renamed from not_bol.
75190         (re_not_eol): Renamed from not_eol.
75191         (re_newline_anchor): Renamed from newline_anchor.
75192
75193         Change the following member names in struct re_registers.
75194         The old names are still supported if !_REGEX_SOURCE.
75195         The new names are always supported, regardless of _REGEX_SOURCE.
75196         (rm_num_regs): Renamed from num_regs.
75197         (rm_start): Renamed from start.
75198         (rm_end): Renamed from end.
75199
75200         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75201         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75202         Prepend __ to parameter names.
75203
75204         Undo yesterday's changes.
75205
75206 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75207
75208         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75209         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75210         lib/regex.c.
75211
75212 2005-08-24  Jim Meyering  <jim@meyering.net>
75213
75214         Sync from coreutils.
75215         * m4/fcntl-safer.m4: New file.
75216
75217         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75218         and object files for this module.
75219
75220 2005-08-24  Jim Meyering  <jim@meyering.net>
75221
75222         Sync from coreutils.
75223         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75224
75225 2005-08-24  Jim Meyering  <jim@meyering.net>
75226
75227         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75228         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75229
75230 2005-08-24  Jim Meyering  <jim@meyering.net>
75231
75232         * modules/fcntl-safer: New module.
75233         * modules/fts (Depends-on): Add fcntl-safer.
75234         * MODULES.html.sh (File descriptor based Input/Output):
75235         Add fcntl-safer.
75236
75237 2005-08-24  Bruno Haible  <bruno@clisp.org>
75238
75239         Support for unit test modules.
75240         * modules/README: Mention tests modules.
75241         * modules/TEMPLATE-TESTS: New file.
75242         * gnulib-tool: New options --extract-tests-module, --with-tests and
75243         --tests-base (unused for the moment).
75244         (testsbase, inctests): New variables.
75245         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75246         (func_verify_module): Exclude TEMPLATE-TESTS.
75247         (func_verify_nontests_module, func_verify_tests_module): New functions.
75248         (func_get_dependencies): Add implicit dependency for tests modules.
75249         (func_get_tests_module): New function.
75250         (func_modules_transitive_closure): When --with-tests was specified,
75251         include the unit tests as well, unless explicitly avoided.
75252         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75253         (func_emit_tests_Makefile_am): New function.
75254         (func_create_testdir): When --with-tests was specified, emit a
75255         tests/ directory.
75256         * MODULES.html.sh (Future developments): Update.
75257
75258 2005-08-24  Bruno Haible  <bruno@clisp.org>
75259
75260         * modules/tls-tests: New file.
75261         * tests/test-tls.c: New file, from GNU gettext.
75262
75263 2005-08-24  Bruno Haible  <bruno@clisp.org>
75264
75265         * modules/lock-tests: New file.
75266         * tests/test-lock.c: New file, from GNU gettext.
75267
75268 2005-08-24  Bruno Haible  <bruno@clisp.org>
75269
75270         * lib/lock.h: Add multiple inclusion guard.
75271         * lib/tls.h: Add multiple inclusion guard.
75272
75273 2005-08-24  Bruno Haible  <bruno@clisp.org>
75274
75275         * gnulib-tool: Add support for the --aux-dir option to
75276         --create-testdir, --create-megatestdir, --test, --megatest.
75277         (func_create_testdir, func_create_megatestdir): Optionally emit a
75278         AC_CONFIG_AUX_DIR directive.
75279         (create-testdir, create-megatestdir, test, megatest): Provide a
75280         default value for $auxdir.
75281
75282 2005-08-24  Bruno Haible  <bruno@clisp.org>
75283
75284         * gnulib-tool (import): Use compound statement instead of subshell
75285         where possible.
75286
75287 2005-08-24  Bruno Haible  <bruno@clisp.org>
75288
75289         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75290
75291 2005-08-24  Bruno Haible  <bruno@clisp.org>
75292
75293         * gnulib-tool (func_version): Update.
75294
75295 2005-08-24  Bruno Haible  <bruno@clisp.org>
75296
75297         * gnulib-tool (func_import, func_create_testdir,
75298         func_create_megatestdir): Quote all autoconf macro arguments.
75299
75300 2005-08-24  Bruno Haible  <bruno@clisp.org>
75301
75302         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75303         option --force, because --force causes the aclocal.m4 of each
75304         subdirectory to be newer than the corresponding config.h.in.
75305
75306 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75307
75308         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75309         All contents moved to gl_REGEX.
75310         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75311         assume that it does.
75312
75313 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75314
75315         * lib/regex.h (REG_NOSYS)
75316         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75317         Define, since POSIX requires it as of 2001.
75318         (_REG_ENOSYS)
75319         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75320         New private symbol, used to keep the enum signed in all cases.
75321         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75322         Youngman in
75323         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75324
75325         * lib/regex_internal.c (re_string_skip_chars, register_state):
75326         (calc_state_hash):
75327         Remove forward decls; no longer needed now that we use prototypes.
75328         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75329         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75330         (clean_state_log_if_needed): Likewise.
75331
75332 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75333
75334         * config/srclist.txt: Add glibc bugs 1231-1233.
75335
75336 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75337
75338         Fix problems reported by Sam Steingold in
75339         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75340         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75341         assumed that reg_errcode_t is a signed type, which is not
75342         necessarily true if _XOPEN_SOURCE is not defined.
75343         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75344         since some compilers warn about it otherwise.
75345
75346 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75347
75348         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75349         (init_word_char, create_initial_state, duplicate_node_closure):
75350         (fetch_token, peek_token_bracket, build_range_exp):
75351         (build_collating_symbol): Remove forward decls; no longer needed
75352         now that we use prototypes.
75353
75354         * lib/regcomp.c:
75355         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75356         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75357         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75358         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75359         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75360         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75361         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75362         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75363         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75364         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75365         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75366         (build_charclass, build_charclass_op, fetch_number, create_tree):
75367         (create_token_tree, mark_opt_subexp, duplicate_tree):
75368         Use prototypes rather than old-style definitions.
75369
75370         * lib/regex_internal.c:
75371         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75372         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75373         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75374         (re_string_reconstruct, re_string_peek_byte_case):
75375         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75376         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75377         (re_node_set_init_copy, re_node_set_add_intersect):
75378         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75379         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75380         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75381         (re_acquire_state, re_acquire_state_context, register_state):
75382         (create_ci_newstate, create_cd_newstate, free_state):
75383         Likewise.
75384         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75385         re_search_2):
75386         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75387         (re_search_internal, prune_impossible_nodes):
75388         (acquire_init_state_context, check_matching, static):
75389         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75390         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75391         (update_regs, sift_states_backward, build_sifted_states):
75392         (clean_state_log_if_needed, merge_state_array):
75393         (update_cur_sifted_state, add_epsilon_src_nodes):
75394         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75395         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75396         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75397         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75398         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75399         (check_arrival, check_arrival_add_next_nodes):
75400         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75401         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75402         (check_node_accept_bytes, check_node_accept, extend_buffers):
75403         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75404         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75405         (sift_ctx_init):
75406         Likewise.
75407
75408         * lib/regex_internal.h:
75409         (re_string_allocate, re_string_construct, re_string_reconstruct):
75410         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75411         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75412         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75413         (re_string_context_at, re_string_peek_byte_case):
75414         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75415         is defined, since we now use prototypes always.
75416
75417         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75418         C89 or better.  All uses removed.
75419
75420 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75421
75422         * config/srclist.txt: Add glibc bugs 1220-1227.
75423
75424 2005-08-20  Jim Meyering  <jim@meyering.net>
75425
75426         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75427         of unused local, dfa.
75428
75429 2005-08-20  Bruno Haible  <bruno@clisp.org>
75430
75431         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75432
75433 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75434
75435         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75436         (re_node_set_insert_last, re_dfa_add_node):
75437         Rename local variables to avoid GCC shadowing warnings.
75438
75439 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75440
75441         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75442         [defined lint]: Suppress bogus uninitialized-variable warnings.
75443
75444         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75445         and let the caller return REG_ESPACE if out of space.  This
75446         removes an uninitialied-variable warning with GCC 4.0.1, and also
75447         avoids taking the address of a local variable.  All callers
75448         changed.
75449
75450 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75451
75452         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75453         $LIBCSRC/posix/regexec.c.
75454         Add glibc bug 1217 for regcomp.c.
75455
75456 2005-08-19  Jim Meyering  <jim@meyering.net>
75457
75458         * lib/regexec.c (proceed_next_node): Redo local variables to
75459         avoid GCC shadowing warnings.
75460
75461 2005-08-18  Bruno Haible  <bruno@clisp.org>
75462
75463         * lib/strstr.c (strstr): Fix return value in multibyte case.
75464         * lib/strcasestr.c (strcasestr): Likewise.
75465
75466 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75467
75468         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75469
75470 2005-08-17  Jim Meyering  <jim@meyering.net>
75471
75472         Make the %s format (seconds since the epoch) work for a negative
75473         number and when used with a zero-padded field width, e.g. %015s.
75474
75475         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75476         label so that it precedes the code to set `digits'.  Otherwise,
75477         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75478         print `00-22'.  Now, it prints `-0022', as it should.
75479
75480 2005-08-17  Bruno Haible  <bruno@clisp.org>
75481
75482         * modules/strstr (Files): Add m4/mbrtowc.m4.
75483         (Depends-on): Add mbuiter.
75484
75485 2005-08-17  Bruno Haible  <bruno@clisp.org>
75486
75487         * modules/strcasestr: New file.
75488         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75489         strcasestr.
75490
75491 2005-08-17  Bruno Haible  <bruno@clisp.org>
75492
75493         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75494
75495 2005-08-17  Bruno Haible  <bruno@clisp.org>
75496
75497         * modules/mbuiter: New file.
75498         * MODULES.html.sh (Extended multibyte and wide character utilities):
75499         Add mbuiter.
75500
75501 2005-08-17  Bruno Haible  <bruno@clisp.org>
75502
75503         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75504         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75505
75506 2005-08-17  Bruno Haible  <bruno@clisp.org>
75507
75508         * m4/strcasestr.m4: New file.
75509
75510 2005-08-17  Bruno Haible  <bruno@clisp.org>
75511
75512         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75513         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75514
75515 2005-08-17  Bruno Haible  <bruno@clisp.org>
75516
75517         * lib/strcasestr.h: New file.
75518         * lib/strcasestr.c: New file.
75519
75520 2005-08-17  Bruno Haible  <bruno@clisp.org>
75521
75522         * lib/strcasecmp.c: Use mbuiter.h.
75523
75524 2005-08-17  Bruno Haible  <bruno@clisp.org>
75525
75526         * lib/mbuiter.h: New file.
75527
75528 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75529
75530         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75531         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75532         and gl_GETOPT are both invoked via different paths (as happens
75533         with GNU tar CVS because it uses both argp and getopt), the former
75534         wins.
75535
75536 2005-08-16  Bruno Haible  <bruno@clisp.org>
75537
75538         * modules/tls: New file.
75539         * MODULES.html.sh (Multithreading): Add tls.
75540
75541 2005-08-16  Bruno Haible  <bruno@clisp.org>
75542
75543         * modules/strnlen1: New file.
75544         * MODULES.html.sh (String handling): Add strnlen1.
75545
75546 2005-08-16  Bruno Haible  <bruno@clisp.org>
75547
75548         * modules/strcase (Files): Add m4/mbrtowc.m4.
75549         (Depends-on): Add strnlen1, mbchar.
75550
75551 2005-08-16  Bruno Haible  <bruno@clisp.org>
75552
75553         * modules/mbiter: New file.
75554         * MODULES.html.sh (Extended multibyte and wide character utilities):
75555         Add mbiter.
75556
75557 2005-08-16  Bruno Haible  <bruno@clisp.org>
75558
75559         * modules/mbfile: New file.
75560         * MODULES.html.sh (Extended multibyte and wide character utilities):
75561         Add mbfile.
75562
75563 2005-08-16  Bruno Haible  <bruno@clisp.org>
75564
75565         * modules/mbchar: New file.
75566         * MODULES.html.sh (Extended multibyte and wide character utilities):
75567         New section.
75568
75569 2005-08-16  Bruno Haible  <bruno@clisp.org>
75570
75571         * m4/tls.m4: New file, from GNU gettext.
75572
75573 2005-08-16  Bruno Haible  <bruno@clisp.org>
75574
75575         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75576         always.
75577         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75578
75579 2005-08-16  Bruno Haible  <bruno@clisp.org>
75580
75581         * m4/mbiter.m4: New file.
75582
75583 2005-08-16  Bruno Haible  <bruno@clisp.org>
75584
75585         * m4/mbfile.m4: New file.
75586
75587 2005-08-16  Bruno Haible  <bruno@clisp.org>
75588
75589         * m4/mbchar.m4: New file.
75590
75591 2005-08-16  Bruno Haible  <bruno@clisp.org>
75592
75593         * lib/tls.h: New file, from GNU gettext.
75594         * lib/tls.c: New file, from GNU gettext.
75595
75596 2005-08-16  Bruno Haible  <bruno@clisp.org>
75597
75598         * lib/strnlen1.h: New file.
75599         * lib/strnlen1.c: New file.
75600
75601 2005-08-16  Bruno Haible  <bruno@clisp.org>
75602
75603         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75604         (mbi_init): Update.
75605         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75606         NUL byte, not after it.
75607
75608 2005-08-16  Bruno Haible  <bruno@clisp.org>
75609
75610         * lib/strcase.h (strcasecmp): Add note in comments.
75611         * lib/strncasecmp.c: Use code from strcasecmp.c.
75612         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75613         (strcasecmp): Work correctly in multibyte locales.
75614
75615 2005-08-16  Bruno Haible  <bruno@clisp.org>
75616
75617         * lib/mbiter.h: New file.
75618
75619 2005-08-16  Bruno Haible  <bruno@clisp.org>
75620
75621         * lib/mbfile.h: New file.
75622
75623 2005-08-16  Bruno Haible  <bruno@clisp.org>
75624
75625         * lib/mbchar.h: New file.
75626         * lib/mbchar.c: New file.
75627
75628 2005-08-16  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75631         the valid ones. Makes the comparison operations transitive:
75632         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75633         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75634
75635 2005-08-15  Simon Josefsson  <jas@extundo.com>
75636
75637         * modules/ssize_t (License): Change to 'unlimited'.
75638
75639         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75640
75641 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75642
75643         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75644         Add comments for each pending glibc patch.
75645
75646 2005-08-15  Bruno Haible  <bruno@clisp.org>
75647
75648         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75649         __cplusplus is defined.
75650
75651 2005-08-14  Jim Meyering  <jim@meyering.net>
75652
75653         Sync from coreutils.
75654
75655         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75656         Use the hash-table-based cycle-detection code not just when
75657         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75658         Reported by James Youngman in
75659         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75660         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75661         FTS_TIGHT_CYCLE_CHECK.
75662         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75663         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75664         once again.
75665         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75666         * lib/fts.c (fd_safer): Remove decl.
75667         Include fcntl--.h rather than unistd-safer.h
75668         (fts_safe_changedir): Don't call fd_safer; no longer needed
75669         now that we include fcntl--.h.
75670
75671 2005-08-12  Simon Josefsson  <jas@extundo.com>
75672
75673         * modules/getndelim2: Use ssize_t module.
75674         * modules/getnline: Likewise.
75675         * modules/safe-read: Likewise.
75676         * modules/xreadlink: Likewise.
75677
75678         * modules/ssize_t: New file.
75679
75680 2005-08-12  Simon Josefsson  <jas@extundo.com>
75681
75682         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75683
75684 2005-08-12  Simon Josefsson  <jas@extundo.com>
75685
75686         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75687         ssize_t.
75688
75689 2005-08-12  Simon Josefsson  <jas@extundo.com>
75690
75691         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75692         readline, getdelim and check_version.
75693         (Support for systems lacking ISO C 99: Sizes of integer types):
75694         Add size_max.
75695
75696 2005-08-12  Bruno Haible  <bruno@clisp.org>
75697
75698         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75699
75700 2005-08-11  Simon Josefsson  <jas@extundo.com>
75701
75702         * modules/readline: New file.
75703
75704         * modules/strnlen (Files): Add strnlen.h.
75705
75706 2005-08-11  Simon Josefsson  <jas@extundo.com>
75707
75708         * m4/readline.m4: New file.
75709
75710 2005-08-11  Simon Josefsson  <jas@extundo.com>
75711
75712         * lib/readline.h, readline.c: New file.
75713
75714 2005-08-11  Simon Josefsson  <jas@extundo.com>
75715
75716         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75717         gl_AVOID.
75718
75719 2005-08-11  Bruno Haible  <bruno@clisp.org>
75720
75721         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75722
75723 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75724
75725         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75726
75727 2005-08-10  Simon Josefsson  <jas@extundo.com>
75728
75729         * tests/test-iconvme.c: New file.
75730
75731 2005-08-10  Simon Josefsson  <jas@extundo.com>
75732
75733         * m4/strnlen.m4: New file.
75734
75735         * m4/strndup.m4: Don't check for strnlen declaration, done in
75736         strnlen.m4.
75737
75738 2005-08-10  Simon Josefsson  <jas@extundo.com>
75739
75740         * lib/strndup.c: Use strnlen.h.
75741
75742         * lib/strnlen.h: New file.
75743
75744 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75745
75746         * README: Typos.
75747
75748 2005-08-02  Simon Josefsson  <jas@extundo.com>
75749
75750         * modules/readline: New file.
75751
75752 2005-08-02  Simon Josefsson  <jas@extundo.com>
75753
75754         * modules/getdelim: New file.
75755
75756         * modules/getline: Rewrite, don't use getndelim2.
75757
75758 2005-08-02  Simon Josefsson  <jas@extundo.com>
75759
75760         * m4/getline.m4: Separate out getdelim stuff into separate module.
75761
75762         * m4/getdelim.m4: New file.
75763
75764 2005-08-02  Simon Josefsson  <jas@extundo.com>
75765
75766         * lib/getline.h, getline.c: Rewrite.
75767
75768         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75769
75770 2005-07-31  Bruno Haible  <bruno@clisp.org>
75771
75772         * lib/lock.h (gl_lock_initializer): New macro.
75773         (gl_lock_define_initialized): Use it.
75774         (gl_rwlock_initializer): New macro.
75775         (gl_rwlock_define_initialized): Use it.
75776         (gl_recursive_lock_initializer): New macro.
75777         (gl_recursive_lock_define_initialized): Use it.
75778
75779 2005-07-30  Karl Berry  <karl@gnu.org>
75780
75781         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75782         Report from Ben Pfaff, regarding getopt.
75783
75784 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75785
75786         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75787         normal way.
75788         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75789         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75790         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75791         (gl_GETOPT): Use the new macros.  Most of the implementation
75792         is moved to the new macros.  This is for programs like Emacs
75793         that don't want all the functionality of gl_GETOPT.
75794
75795 2005-07-26  Bruno Haible  <bruno@clisp.org>
75796
75797         * m4/lock.m4: Update from GNU gettext.
75798
75799 2005-07-26  Bruno Haible  <bruno@clisp.org>
75800
75801         * lib/lock.h: Update from GNU gettext.
75802         * lib/lock.c: Update from GNU gettext.
75803
75804 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75805
75806         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75807         obsolescent AC_TRY_RUN.  Include the default includes files, for
75808         'exit'.
75809
75810 2005-07-24  Bruno Haible  <bruno@clisp.org>
75811
75812         * modules/visibility: New file.
75813         * MODULES.html.sh (Misc): Add visibility.
75814
75815 2005-07-24  Bruno Haible  <bruno@clisp.org>
75816
75817         * m4/visibility.m4: New file.
75818
75819 2005-07-24  Bruno Haible  <bruno@clisp.org>
75820
75821         * doc/visibility.texi: New file.
75822
75823 2005-07-22  Bruno Haible  <bruno@clisp.org>
75824
75825         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75826         $(ALLOCA_H), redundant through BUILT_SOURCES.
75827         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75828         redundant through BUILT_SOURCES.
75829         * modules/byteswap (Makefile.am): Remove explicit dependency on
75830         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75831         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75832         $(FNMATCH_H), redundant through BUILT_SOURCES.
75833         * modules/getopt (Makefile.am): Remove explicit dependency on
75834         $(GETOPT_H), redundant through BUILT_SOURCES.
75835         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75836         redundant through BUILT_SOURCES.
75837         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75838         redundant through BUILT_SOURCES.
75839         * modules/stdbool (Makefile.am): Remove explicit dependency on
75840         $(STDBOOL_H), redundant through BUILT_SOURCES.
75841         * modules/stdint (Makefile.am): Remove explicit dependency on
75842         $(STDINT_H), redundant through BUILT_SOURCES.
75843         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75844         Remove explicit dependency on $(SYSEXITS_H).
75845         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75846
75847 2005-07-18  Simon Josefsson  <jas@extundo.com>
75848
75849         * lib/check-version.c (check_version): Accept identical versions too.
75850
75851 2005-07-18  Bruno Haible  <bruno@clisp.org>
75852
75853         * modules/lock: New file.
75854         * MODULES.html.sh (Multithreading): New section.
75855
75856 2005-07-18  Bruno Haible  <bruno@clisp.org>
75857
75858         * m4/lock.m4: New file, from GNU gettext.
75859
75860 2005-07-18  Bruno Haible  <bruno@clisp.org>
75861
75862         * lib/lock.h: New file, from GNU gettext.
75863         * lib/lock.c: New file, from GNU gettext.
75864
75865 2005-07-18  Bruno Haible  <bruno@clisp.org>
75866
75867         * lib/lock.h (gl_once_t): New type.
75868         (gl_once_define, gl_once): New macros.
75869         * lib/lock.c (fresh_once): New variable.
75870         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75871         functions.
75872
75873 2005-07-16  Simon Josefsson  <jas@extundo.com>
75874
75875         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75876         workaround, suggested by Bruno.
75877
75878 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75879
75880         * modules/xalloc (Depends-on): Add xalloc-die.
75881         * modules/xvasprintf (Depends-on): Add xalloc-die.
75882
75883 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75884
75885         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75886         with a minor change.
75887
75888 2005-07-15  Bruno Haible  <bruno@clisp.org>
75889
75890         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75891         When using lib/poll.c, define poll as rpl_poll.
75892
75893 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75894
75895         * modules/argp (Depends-on): Remove unlocked-io.
75896
75897 2005-07-14  Derek Price  <derek@ximbiot.com>
75898
75899         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75900         for glob symlink bug.
75901
75902 2005-07-14  Bruno Haible  <bruno@clisp.org>
75903
75904         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75905         Instead, test for *_unlocked function declarations directly.
75906
75907 2005-07-11  Simon Josefsson  <jas@extundo.com>
75908
75909         * modules/size_max: New file.
75910
75911         * modules/xsize: Depend on size_max module for size_max.m4.
75912
75913 2005-07-11  Simon Josefsson  <jas@extundo.com>
75914
75915         * lib/size_max.h: New file.
75916
75917 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75918
75919         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75920         copyright symbol and the year.
75921         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75922         (version_etc_va): Use parameterized copyright notice.
75923         Reword to conform to the current GNU coding standards.
75924
75925 2005-07-11  Karl Berry  <karl@gnu.org>
75926
75927         * doc/gnulib.texi (Quoting): new node.
75928         (Initial import): more info, from Patrice.
75929
75930 2005-07-11  Bruno Haible  <bruno@clisp.org>
75931
75932         * gnulib-tool (func_usage): Document option --avoid.
75933         (Command line options): Handle --avoid.
75934         (func_acceptable): New function.
75935         (func_modules_transitive_closure): Use it.
75936
75937 2005-07-11  Bruno Haible  <bruno@clisp.org>
75938
75939         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
75940         Reported by Jim Meyering.
75941
75942 2005-07-10  Bruno Haible  <bruno@clisp.org>
75943
75944         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
75945         Needed when size_t is smaller than 'unsigned int'.
75946         Reported by Paul Eggert.
75947
75948 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75949
75950         * modules/argp (Depends-on): Add unlocked-io
75951
75952 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75953
75954         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
75955         block of defines.
75956
75957 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75958
75959         * config/srclist.txt: Comment out regcomp.c, since we have a porting
75960         fix now.
75961
75962 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
75963         and Paul Eggert  <eggert@cs.ucla.edu>
75964
75965         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
75966         in wint_t, not wchar_t.  Remove now-unnecessary cast.
75967
75968 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * modules/regex (Files): Add lib/regex_internal.c,
75971         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
75972         (Depends-on): Add extensions.
75973         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
75974
75975 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75976
75977         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
75978         pathconf.
75979         * m4/same.m4 (gl_SAME): Likewise.
75980         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
75981
75982         * m4/regex.m4: Adjust to new libc regex implementation.
75983         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
75984         all the .c and .h parts of (the new) regex.
75985         Quote the m4 stuff better.
75986         Check for RE_ICASE bug of old gnulib.
75987         Check for REG_STARTEND of recent libc.
75988         Rename local variables from jm_* to gl_*.
75989         Quote operand of "test -f".
75990         Say "recent enough" version of libc, not "version 2".
75991         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
75992         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
75993         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
75994         Remove check for btowc, isascii.
75995         Require AM_LANGINFO_CODESET.
75996
75997 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
75998
75999         * lib/regex.c, regex.h: Sync from libc.
76000         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76001         * lib/regexec.c:
76002         New files, synced from libc, except that regex_internal.h
76003         currently has a small porting fix.
76004
76005 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76006
76007         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76008         regex_internal.c, regexec.c.
76009         Add regex_internal.h too, but as a comment, since the libc version
76010         is currently broken in gnulib mode.
76011
76012 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76013
76014         Support programs like Emacs that use gnulib but not gettext.
76015         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76016         * modules/gettext-h: New file.
76017         * modules/gettext (Files): Remove lib/gettext.h.
76018         (Depends-on): Add gettext-h.
76019         (Makefile.am): Remove lib_SOURCES.
76020         * modules/argmatch, modules/c-stack, modules/closeout:
76021         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76022         * modules/execute, modules/file-type, modules/getaddrinfo:
76023         * modules/getopt, modules/human, modules/javacomp:
76024         * modules/javaexec, modules/mkdir-p, modules/obstack:
76025         * modules/openat, modules/pagealign_alloc, modules/pipe:
76026         * modules/quotearg, modules/regex, modules/rpmatch:
76027         * modules/unicodeio, modules/userspec, modules/version-etc:
76028         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76029         * modules/xsetenv:
76030         Depend on gettext-h, not gettext.
76031
76032 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76033
76034         * gnulib-tool (func_import): Add support for 'public domain' license.
76035         * modules/alloca, modules/atexit, modules/memmove:
76036         Now public domain, not GPL.
76037         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76038         * modules/realloc, modules/strerror, modules/strtod:
76039         Now LGPL, not GPL.
76040
76041 2005-07-05  Bruno Haible  <bruno@clisp.org>
76042
76043         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76044         autoconf CVS. Needed for mingw.
76045
76046 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76047
76048         Remove the dependency of the strftime module on the tzset module.
76049         * modules/strftime (Depends-on): Remove dependency on tzset.
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         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76055         gl_FUNC_TZSET_CLOBBER.
76056
76057 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76058
76059         Remove the dependency of the strftime module on the tzset module.
76060         * lib/strftime.c (my_strftime)
76061         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76062         Copy the input structure, to work around some of the bug with
76063         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76064         Solaris releases, you should also use the tzset module, but we won't
76065         require it as a dependency any more since we don't want LGPLed code
76066         to depend on GPLed code.
76067
76068 2005-07-02  Jim Meyering  <jim@meyering.net>
76069
76070         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76071         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76072         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76073         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76074
76075 2005-07-02  Jim Meyering  <jim@meyering.net>
76076
76077         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76078
76079 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76080
76081         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76082         declares only 'struct timespec;' (!).
76083
76084 2005-07-01  Jim Meyering  <jim@meyering.net>
76085
76086         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76087         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76088         * lib/save-cwd.c, tempname.c:
76089         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76090         and don't include <sys/file.h>).
76091
76092 2005-06-29  Jim Meyering  <jim@meyering.net>
76093
76094         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76095         type name.  Use the variable name instead.
76096         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76097         Likewise.
76098
76099 2005-06-28  Simon Josefsson  <jas@extundo.com>
76100
76101         * modules/check-version (Files): Add check-version.m4.
76102
76103 2005-06-28  Simon Josefsson  <jas@extundo.com>
76104
76105         * m4/check-version.m4: New file, suggested by Jim Meyering
76106         <jim@meyering.net>.
76107
76108 2005-06-28  Simon Josefsson  <jas@extundo.com>
76109
76110         * lib/check-version.h, lib/check-version.c: New files.
76111
76112 2005-06-28  Simon Josefsson  <jas@extundo.com>
76113
76114         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76115         collision with global variable.  Better indentation.  Don't
76116         increment buffer pointer beyond buffer end.  Based on comments
76117         from Paul Eggert <eggert@cs.ucla.edu>.
76118
76119         * lib/base64.h: Indent.
76120
76121 2005-06-28  Simon Josefsson  <jas@extundo.com>
76122
76123         * doc/gnulib.texi (Library version handling): New section.
76124
76125 2005-06-28  Jim Meyering  <jim@meyering.net>
76126
76127         * check-module (find_included_lib_files): Hard-code another
76128         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76129         but modules/fts-lgpl (correctly) does not list those files.
76130
76131         * modules/canonicalize (Files): Add lib/pathmax.h.
76132
76133 2005-06-25  Simon Josefsson  <jas@extundo.com>
76134
76135         * modules/check-version: New file.
76136
76137 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76138
76139         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76140         initializer of struct addrinfo, as an indication that we don't
76141         care how many members the structure has.
76142
76143 2005-06-24  Derek Price  <derek@ximbiot.com>
76144         and Bruno Haible  <bruno@clisp.org>
76145
76146         Remove stat module & update lstat.
76147         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76148         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76149         * m4/stat.m4: Remove this file.
76150
76151 2005-06-24  Derek Price  <derek@ximbiot.com>
76152         and Bruno Haible  <bruno@clisp.org>
76153
76154         Remove stat module & update lstat.
76155         * lib/stat.c: Remove this file...
76156         (slash_aware_lstat): ...moving this content and its support...
76157         * lib/lstat.c (rpl_lstat): ...into here.
76158         * lib/lstat.h: New file.
76159
76160 2005-06-24  Derek Price  <derek@ximbiot.com>
76161         and Bruno Haible  <bruno@clisp.org>
76162
76163         Remove stat module & update lstat.
76164         * config/srclist.txt (libc sources): Remove stat.
76165
76166 2005-06-24  Derek Price  <derek@ximbiot.com>
76167         and Bruno Haible  <bruno@clisp.org>
76168
76169         Remove stat module & update lstat.
76170         * MODULES.html.sh (stat): Remove.
76171         * MODULES.html: Regenerated.
76172         * modules/lstat (Description): Correct function name.
76173         (Files): Add "lstat.h".
76174         (Depends-on): Remove stat, add xalloc, stat-macros.
76175         * modules/stat: Remove this file.
76176         (Include): Add "lstat.h", remove <sys/stat.h>.
76177
76178 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76179
76180         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76181         (ranged_convert): Don't save conversion in a temporary struct.
76182         This causes a warning with GCC 4.0.0, and anyway in the typical
76183         case it's not worth the extra 100 bytes or so of code.
76184         (ranged_convert, __mktime_internal): When calling a function via a
76185         pointer P, use P () rather than (*P) (), as we now assume C89 or
76186         better.
76187
76188 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76189
76190         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76191         "who -r" failed to give output.  Problem reported by Tim Waugh.
76192
76193         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76194         (xcalloc): Use it to avoid needless tests.
76195         Problem reported by Jim Meyering.
76196
76197 2005-06-20  Derek Price  <derek@ximbiot.com>
76198
76199         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76200         unnecessary for Autoconfs > 2.59c.
76201
76202 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76203
76204         * lib/argp.h (__option_is_short): Check upper limit of
76205         __key. Isprint() requires its argument to have the value
76206         of an unsigned char or EOF.
76207
76208 2005-06-16  Jim Meyering  <jim@meyering.net>
76209
76210         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76211         when either N or S is zero.
76212
76213 2005-06-16  Derek Price  <derek@ximbiot.com>
76214
76215         * m4/bison.m4: Declare YACC & YFLAGS precious.
76216
76217 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76218
76219         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76220         multibyte string or pattern, fall back on unibyte matching.
76221         Problem reported by James Youngman.
76222
76223 2005-06-08  Bruno Haible  <bruno@clisp.org>
76224
76225         * modules/csharpcomp: New file.
76226         * MODULES.html.sh (C#): Add csharpcomp.
76227
76228 2005-06-08  Bruno Haible  <bruno@clisp.org>
76229
76230         * m4/csharpcomp.m4: New file, from GNU gettext.
76231
76232 2005-06-08  Bruno Haible  <bruno@clisp.org>
76233
76234         * lib/csharpcomp.h: New file, from GNU gettext.
76235         * lib/csharpcomp.c: New file, from GNU gettext.
76236         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76237
76238 2005-06-08  Bruno Haible  <bruno@clisp.org>
76239
76240         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76241         warning on mingw.
76242
76243 2005-06-07  Derek Price  <derek@ximbiot.com>
76244
76245         Sync from CVS.
76246         * lib/glob_.h: Indent nested #ifdef.
76247
76248 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76249
76250         Sync from coreutils.
76251         Use "file name" when talking about file names, instead of "filename"
76252         or "path", as per the GNU coding standards.
76253         * lib/mkdir-p.c: Renamed from makepath.c.
76254         (make_dir_parents): Renamed from make_path.  All callers changed.
76255         * lib/mkdir-p.h: Likewise.  All includers changed.
76256         * lib/filenamecat.c: Renamed from path-concat.c.
76257         (file_name_concat): Renamed from path_concat.  All callers changed.
76258         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76259         * lib/filenamecat.h: Likewise.  All includers changed.
76260         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76261         in comments or local variable names.
76262         * lib/basename.c: Likewise.
76263         * lib/canonicalize.c, canonicalize.h: Likewise.
76264         * lib/dirname.c, dirname.h: Likewise.
76265         * lib/euidaccess.c: Likewise.
76266         * lib/exclude.c: Likewise
76267         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76268         * lib/fsusage.c, fsuage.h: Likewise.
76269         * lib/fts.c, fts_.h: Likewise.
76270         * lib/getcwd.c: Likewise.
76271         * lib/getloadavg.c: Likewise.
76272         * lib/mkstemp.c: Likewise.
76273         * lib/mountlist.c, mountlist.h: Likewise.
76274         * lib/openat.c, openat.h: Likewise.
76275         * lib/readlink-stub.c: Likewise.
76276         * lib/readutmp.c, readutmp.h: Likewise.
76277         * lib/rename.c: Likewise.
76278         * lib/rmdir.c: Likewise.
76279         * lib/same.c: Likewise.
76280         * lib/savedir.c: Likewise.
76281         * lib/stripslash.c: Likewise.
76282         * lib/tempname.c: Likewise.
76283         * lib/xreadlink.c: Likewise.
76284         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76285         All uses changed.
76286         * lib/exclude.h: Likewise.
76287
76288         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76289         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76290         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76291         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76292         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76293         files have been getting away with it for years (MORE/BSD 4.3
76294         is extinct now).
76295         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76296         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76297
76298         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76299         Define to 256, not 255, as per modern POSIX.
76300
76301 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76302
76303         Sync from coreutils.
76304         Use "file name" when talking about file names, instead of "filename"
76305         or "path", as per the GNU coding standards.
76306         * MODULES.html.sh: mkdir-p renamed from makepath.
76307         filenamecat renamed from path-concat.
76308         * modules/filenamecat: Renamed from modules/path-concat.
76309         (Files): filenamecat.h and filenamecat.c renamed from
76310         path-concat.h and path-concat.c.
76311         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76312         (Include): filenamecat.h, not path-concat.h.
76313         * modules/mkdir-p: Renamed from modules/makepath.
76314         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76315         makepath.c.
76316         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76317         (Include): mkdir-p.h, not makepath.h.
76318
76319 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76320
76321         Sync from coreutils.
76322         * m4/mkdir-p.m4: Renamed from makepath.m4.
76323         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76324         Rename files from makepath.c to mkdir-p.c, and from
76325         makepath.h to mkdir-p.h.
76326         * m4/filenamecat.m4: Renamed from path-concat.m4.
76327         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76328         Rename files from path-concat.c to filenamecat.c,
76329         and from path-concat.h to filenamecat.h.
76330         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76331         "file name" in local variables or comments.
76332         * m4/rename.m4: Likewise.
76333
76334 2005-06-01  Bruno Haible  <bruno@clisp.org>
76335
76336         * modules/csharpexec: New file.
76337         * MODULES.html.sh (C#): New section.
76338
76339 2005-06-01  Bruno Haible  <bruno@clisp.org>
76340
76341         * m4/csharp.m4: New file, from GNU gettext.
76342         * m4/csharpexec.m4: New file, from GNU gettext.
76343
76344 2005-06-01  Bruno Haible  <bruno@clisp.org>
76345
76346         * lib/csharpexec.h: New file, from GNU gettext.
76347         * lib/csharpexec.c: New file, from GNU gettext.
76348         * lib/csharpexec.sh.in: New file, from GNU gettext.
76349
76350 2005-05-31  Derek Price  <derek@ximbiot.com>
76351             Paul Eggert  <eggert@cs.ucla.edu>
76352
76353         Sync from cvs.
76354         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76355
76356 2005-05-31  Derek Price  <derek@ximbiot.com>
76357             Paul Eggert  <eggert@cs.ucla.edu>
76358
76359         Sync from cvs.
76360         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76361
76362 2005-05-29  Derek Price  <derek@ximbiot.com>
76363
76364         * config/srclist.txt (glob_.h, glob.c): Add these files.
76365
76366 2005-05-29  Derek Price  <derek@ximbiot.com>
76367
76368         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76369         * modules/glob: New file.
76370         * modules/getlogin_r: Add link to POSIX spec in description.
76371
76372 2005-05-29  Derek Price  <derek@ximbiot.com>
76373             Paul Eggert  <eggert@cs.ucla.edu>
76374
76375         * m4/glob.m4: New file.
76376
76377 2005-05-29  Derek Price  <derek@ximbiot.com>
76378             Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         * lib/glob_.h, lib/glob.c: New files.
76381
76382 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76383
76384         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76385         * modules/fts-lgpl (Depends-on): Remove gettext.
76386
76387 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76388
76389         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76390         and don't require gt_INTTYPES_PRI.
76391
76392 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76393
76394         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76395
76396         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76397         the configuration hassle isn't worth it.
76398         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76399         (LONGEST_MODIFIER, PRIuMAX): Remove.
76400
76401 2005-05-27  Bruno Haible  <bruno@clisp.org>
76402
76403         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76404
76405 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76406
76407         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76408         _POSIX_PTHREAD_SEMANTICS for Solaris.
76409
76410 2005-05-25  Derek Price  <derek@ximbiot.com>
76411
76412         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76413
76414 2005-05-25  Derek Price  <derek@ximbiot.com>
76415             Paul Eggert  <eggert@cs.ucla.edu>
76416
76417         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76418         * lib/getlogin_r.c, getlogin_r.h: New files.
76419
76420 2005-05-25  Bruno Haible  <bruno@clisp.org>
76421             Derek Price  <derek@ximbiot.com>
76422
76423         * lib/getlogin_r.h: Simplify API documentation.
76424
76425 2005-05-23  Derek Price  <derek@ximbiot.com>
76426
76427         * modules/minmax (Files): Add m4/minmax.m4.
76428         (configure.ac): Add gl_MINMAX.
76429
76430 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76431
76432         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76433         so that unistd-safer.h (GPL'ed code) need not be included.
76434
76435 2005-05-22  Bruno Haible  <bruno@clisp.org>
76436
76437         * m4/minmax.m4: New file.
76438         Based on a patch by Derek Price <derek@ximbiot.com>.
76439
76440 2005-05-22  Bruno Haible  <bruno@clisp.org>
76441
76442         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76443         (INT64_MIN): Fix definition.
76444         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76445
76446         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76447         NEED_SIGNED_INT_TYPES.
76448
76449         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76450         HAVE_SYSTEM_INTTYPES.
76451
76452 2005-05-22  Bruno Haible  <bruno@clisp.org>
76453
76454         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76455         Also include <sys/param.h> if it defines MIN, MAX.
76456         Based on a patch by Derek Price <derek@ximbiot.com>.
76457
76458 2005-05-21  Jim Meyering  <jim@meyering.net>
76459
76460         * modules/fts (Files): Add m4/inttypes-pri.m4.
76461         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76462
76463 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76464
76465         New fts module.
76466         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76467         (setup_dir, free_dir): New functions.
76468         (enter_dir, leave_dir): Define trivial
76469         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76470         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76471         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76472         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76473         Move to fts-cycle.c.
76474         (fts_open): Use setup_dir.
76475         (fts_close): Use free_dir.
76476         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76477         This adds a label and some gotos, but the alternatives were messier.
76478         Check for memory allocation failure when entering a dir.
76479         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76480         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76481         (FTS): New member fts_cycle, that is a union that contains the
76482         old active_dir_ht and cycle_state.  All uses changed to mention
76483         fts_cycle.ht and fts_cycle.state.
76484         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76485         fts.c, with the following changes:
76486         (setup_dir, free_dir): New functions.
76487         (enter_dir): Now returns bool.  Return true if successful, false
76488         if memory exhausted.  All callers changed.
76489         Do not bother partly cleaning up on
76490         memory allocation failure; that is free_dir's job.
76491         However, free ad if hash_insert fails, to avoid memory leak.
76492         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76493         fts->fts_options to see which union member to use.
76494
76495 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76496
76497         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76498         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76499
76500 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76501
76502         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76503
76504 2005-05-20  Jim Meyering  <jim@meyering.net>
76505
76506         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76507         Now a macro, to pacify GCC.
76508
76509 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76510
76511         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76512         of -1.
76513
76514 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76515
76516         * lib/chown.c (rpl_chown): Return -1 on failure.
76517
76518 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76519
76520         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76521         Don't check for stddef.h.
76522         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76523         don't use its results.
76524         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76525         since we include them unconditionally.  Don't require
76526         AM_STDBOOL_H, since stdbool is a prerequisite.
76527         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76528         since we assume C89 or better.
76529         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76530         as we don't use their results.
76531         Don't check for fchdir, memmove, memset, strrchr, as we use
76532         them unconditionally.
76533         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76534         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76535
76536 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76537
76538         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76539         Include <stddef.h> unconditionally, since we assume C89 now.
76540         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76541         * lib/fts.c: Include fts_.h first, to check interface.
76542         Do not include intprops.h; no longer needed.
76543         Include cycle-check.h and hash.h, since fts_.h no longer does.
76544         Remove unnecessary casts of closedir to void.
76545         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76546         decide whether to decrement nlinks.
76547         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76548         (FTS): Use struct hash_table * instead of Hash_table, so that
76549         we no longer need to include hash.h here.
76550
76551 2005-05-18  Jim Meyering  <jim@meyering.net>
76552
76553         * modules/dirfd (License): Change to LGPL.  Most of the code
76554         is already in the public domain.
76555
76556 2005-05-18  Jim Meyering  <jim@meyering.net>
76557
76558         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76559         Reported by Yoann Vandoorselaere.
76560
76561 2005-05-17  Jim Meyering  <jim@meyering.net>
76562
76563         * m4/fts.m4: New file, from coreutils.
76564
76565 2005-05-17  Jim Meyering  <jim@meyering.net>
76566
76567         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76568
76569 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76570
76571         Sync from coreutils.
76572         * m4/unlinkdir.m4: New file.
76573
76574 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         Sync from coreutils.
76577         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76578         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76579         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76580         White space changes only.
76581         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76582         special.
76583         * lib/yesno.c: Include getline.h, not ctype.h.
76584         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76585         Use getline to remove arbitrary restriction on response length.
76586
76587 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76588
76589         * config/srclist-update: Spell out "Street" in FSF postal
76590         mail address; this is the style the FSF seems to prefer.
76591
76592         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76593         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76594         this updates FSF postal mail address.
76595
76596         Sync from coreutils.
76597         * modules/unlinkdir: New file.
76598         * modules/yesno (Depends-on): Add getline.
76599         * MODULES.html.sh (File system functions): Add unlinkdir.
76600
76601 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76602
76603         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76604         lib/strsep.h:
76605         Change the initial comment to refer to GPL, not LGPL.
76606         gnulib-tool will change it to LGPL as needed.
76607
76608         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76609         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76610         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76611         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76612         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76613         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76614         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76615         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76616         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76617         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76618         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76619         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76620         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76621         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76622         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76623         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76624         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76625         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76626         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76627         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76628         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76629         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76630         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76631         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76632         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76633         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76634         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76635         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76636         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76637         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76638         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76639         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76640         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76641         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76642         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76643         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76644         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76645         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76646         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76647         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76648         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76649         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76650         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76651         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76652         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76653         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76654         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76655         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76656         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76657         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76658         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76659         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76660         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76661         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76662         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76663         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76664         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76665         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76666         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76667         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76668         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76669         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76670         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76671         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76672         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76673         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76674         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76675         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76676         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76677         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76678         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76679         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76680         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76681         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76682         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76683         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76684         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76685         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76686         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76687         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76688         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76689         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76690         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76691         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76692         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76693         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76694         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76695         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76696         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76697         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76698         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76699         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76700         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76701         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76702         lib/yesno.c, lib/yesno.h:
76703         Update FSF postal mail address.
76704
76705 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76706
76707         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76708         tests/test-memmem.c, tests/test-stpncpy.c:
76709         Update FSF postal mail address.
76710
76711 2005-05-13  Bruno Haible  <bruno@clisp.org>
76712
76713         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76714         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76715         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76716         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76717         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76718         Add support for 64-bit integers in the MSVC compiler.
76719
76720 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76721
76722         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76723
76724 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76725
76726         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76727
76728 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76729
76730         * doc/getdate.texi (General date syntax): Don't say that date
76731         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76732         Problem reported by Nic Ferrier.
76733
76734 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76735
76736         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76737         specified in ai_socktype. Fix invalid ai_protocol
76738         check. ai_protocol is usually set to 0 or depending on
76739         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76740         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76741         ai_socktype / ai_protocol in the returned addrinfo structure.
76742
76743 2005-05-10  Simon Josefsson  <jas@extundo.com>
76744
76745         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76746         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76747
76748 2005-05-10  Karl Berry  <karl@gnu.org>
76749
76750         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76751         (from http://www.gnu.org/licenses).
76752         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76753         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76754         fdl.texi suffices.
76755
76756 2005-05-10  Karl Berry  <karl@gnu.org>
76757
76758         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76759         (COPYING.DOC): remove.
76760
76761         * config/srclist-update: new FSF address.
76762
76763 2005-05-10  Derek Price  <derek@ximbiot.com>
76764
76765         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76766         possible.
76767
76768 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76769             Bruno Haible  <bruno@clisp.org>
76770
76771         * modules/inet_ntop: New file.
76772         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76773         inet_ntop.
76774
76775 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76776             Bruno Haible  <bruno@clisp.org>
76777
76778         * m4/inet_ntop.m4: New file.
76779
76780 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76781             Bruno Haible  <bruno@clisp.org>
76782
76783         * lib/inet_ntop.h: New file.
76784         * lib/inet_ntop.c: New file, from glibc with modifications.
76785
76786 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76787
76788         * modules/time_r (License): Change to LGPL.
76789         * modules/extensions (License): Change to LGPL.  Actually,
76790         the license is more permissive than that, but currently gnulib-tool
76791         doesn't know how to handle more-permissive licenses.
76792
76793         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76794         Problem reported by Dave Love.
76795
76796 2005-05-08  Jim Meyering  <jim@meyering.net>
76797
76798         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76799         blank.
76800
76801 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76802
76803         * modules/argmatch (Depends-on): Add stdbool.
76804         * modules/backupfile (Depends-on): Likewise.
76805         * modules/chdir-long (Depends-on): Likewise.
76806         * modules/closeout (Depends-on): Likewise.
76807         * modules/cycle-check (Depends-on): Likewise.
76808         * modules/dirname (Depends-on): Likewise.
76809         * modules/fnmatch (Depends-on): Likewise.
76810         * modules/fsusage (Depends-on): Likewise.
76811         * modules/fwriteerror (Depends-on): Likewise.
76812         * modules/getcwd (Depends-on): Likewise.
76813         * modules/getloadavg (Depends-on): Likewise.
76814         * modules/hard-locale (Depends-on): Likewise.
76815         * modules/makepath (Depends-on): Likewise.
76816         * modules/mountlist (Depends-on): Likewise.
76817         * modules/nanosleep (Depends-on): Likewise.
76818         * modules/posixtm (Depends-on): Likewise.
76819         * modules/quotearg (Depends-on): Likewise.
76820         * modules/readtokens (Depends-on): Likewise.
76821         * modules/readtokens0 (Depends-on): Likewise.
76822         * modules/readutmp (Depends-on): Likewise.
76823         * modules/save-cwd (Depends-on): Likewise.
76824         * modules/strftime (Depends-on): Likewise.
76825         * modules/userspec (Depends-on): Likewise.
76826         * modules/utimecmp (Depends-on): Likewise.
76827         * modules/xgetcwd (Depends-on): Likewise.
76828         * modules/xnanosleep (Depends-on): Likewise.
76829         * modules/xstrtod (Depends-on): Likewise.
76830         * modules/yesno (Depends-on): Likewise.
76831
76832 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76833
76834         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76835         needless checks.
76836
76837 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76838
76839         Merge from coreutils.  Among other things,
76840         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76841         * lib/fd-safer.c: New file.
76842         * lib/fcntl-safer.h, open-safer.c: Remove.
76843         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76844         * lib/dup-safer.c: Include unistd-safer.h first.
76845         Don't include errno.h.
76846         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76847         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76848         * lib/file-type.c: Rely on file-type.h change.
76849         * lib/getloadavg.c: Include unistd-safer.h.
76850         (getloadavg): Use safer open.
76851         * lib/getusershell.c: Include "stdio-safer.h".
76852         (getusershell): Use safer fopen.
76853         * lib/long-options.c (long_options): Use NULL rather than 0.
76854         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76855         'free'.
76856         * lib/modechange.c: Likewise.
76857         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76858         (MODE_DONE): New constant.
76859         (struct mode_change): Remove 'next' member.
76860         (make_node_op_equals): New function; like the old one of the
76861         same name, except it allocates an array.
76862         (mode_compile, mode_create_from_ref): Use it.
76863         (mode_compile): Allocate result as an array, not a linked list.
76864         Parse octal string ourself, so that we catch mistakes like "+0".
76865         (mode_adjust): Arg is an array, not a linked list.
76866         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76867         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76868         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76869         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76870         Remove.  This is now stat-macros.h's job.
76871         (talloc): Remove.  All callers replaced by xalloc, so that
76872         our invokers don't have to worry about reporting memory failures.
76873         (make_node_op_equals): Remove.
76874         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76875         New constants.
76876         (struct mode_change): Moved here from modechange.h.
76877         (mode_append_entry): Remove.
76878         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76879         apps to have incorrect behavior.  Use simpler algorithm for head
76880         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76881         Detect more invalid usages rather than having somewhat-random behavior.
76882         Don't insert an "a=" action, as that leads to incorrect behavior.
76883         (mode_compile, mode_create_from_ref): Return NULL on error instead
76884         of an enum, since now there's only one way to have an error.  All
76885         callers changed.
76886         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76887         at the correct time.  Simplify calculation of "+u" and its ilk.
76888         Don't mishandle "+X".
76889         (mode_free): Remove "register" and localize decls.
76890         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76891         (struct mode_change): Move to modechange.c; callers don't
76892         need to see this stuff.
76893         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76894         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76895         (mode_change, mode_adjust): Reflect the new signatures noted above.
76896         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76897         that might redefine system include files.
76898         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76899         (my_usleep): Use NULL rather than (void *) 0.
76900         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76901         Use siginterrupt to specify that system calls should be interrupted.
76902         (rpl_nanosleep): Move initialization of suspended closer to call of
76903         my_usleep.
76904         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76905         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76906         (desirable_utmp_entry): New function.
76907         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76908         using x2nrealloc, to simplify logic.
76909         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76910         size calculation.  Do not assume utmp file is a regular file.
76911         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76912         (READ_UTMP_CHECK_PIDS): New constant.
76913         * lib/save-cwd.c: Include unistd-safer.h.
76914         (save_cwd): Use fd_safer.
76915         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76916         [!_LIBC] Include "stat-macros.h" instead.
76917         * lib/unistd-safer.h (fd_safer): New decl.
76918
76919 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76920
76921         * modules/getloadavg (Depends-on): Add unistd-safer.
76922         * modules/getusershell (Depends-on): Add stdio-safer.
76923         * modules/lstat (Depends-on): Remove xalloc.
76924         * modules/mkstemp (Depends-on): Add stat-macros.
76925         * modules/modechange (Depends-on): Remove xstrtol.
76926         Add stat-macros, xalloc.
76927         * modules/save-cwd (Depends-on): Add unistd-safer.
76928         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
76929         * modules/unistd-safer (Files): Add lib/fd-safer.c
76930         (Makefile.am): Remove lib_SOURCES.
76931
76932         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
76933         Remove fcntl-safer; unistd-safer supersedes it.
76934
76935 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76936
76937         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
76938         AC_HEADER_STAT.
76939         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
76940         (gl_PREREQ_CHOWN): Remove.
76941         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
76942         it.  Don't require AC_HEADER_STAT.
76943         (gl_PREREQ_LSTAT): Remove.
76944         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
76945         Don't require AC_HEADER_STAT.
76946         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
76947         (gl_PREREQ_RMDIR): Remove.
76948         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
76949         mention stat-macros.h or AC_HEADER_STAT, since we'll make
76950         the stat-macros module a prerequisite.
76951         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
76952         * m4/filemode.m4 (gl_FILEMODE): Likewise.
76953         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
76954         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
76955         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
76956         variable names.
76957         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
76958         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
76959         variable prefixes.
76960         * m4/fcntl-safer.m4: Remove.
76961         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
76962         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
76963         Invoke gl_PREREQ_FD_SAFER.
76964         (gl_PREREQ_FD_SAFER): New macro.
76965         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
76966         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
76967         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
76968         Remove duplicate call to AC_LIBOBJ(readutmp).
76969         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
76970
76971         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
76972         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
76973
76974 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76975
76976         * MODULES.html.sh (Misc): Add byteswap.
76977
76978 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76979
76980         * modules/getcwd (Depends-on): Add extensions.
76981         * modules/openat (Depends-on): Likewise.
76982
76983 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76984
76985         * modules/byteswap: New file.
76986
76987 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76988
76989         * m4/byteswap.m4: New file.
76990
76991 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
76992
76993         * lib/byteswap_.h: New file.
76994
76995 2005-04-25  Karl Berry  <karl@gnu.org>
76996
76997         * m4/gettext.m4: Update from GNU gettext 0.14.4.
76998
76999 2005-04-25  Albert Chin  <china@thewrittenword.com>
77000
77001         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77002         Toolkit C bug.
77003
77004 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77005
77006         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77007         (func_ln_if_changed): Remove forcibly for no error message
77008         in case file does not exist.
77009
77010 2005-04-19  Simon Josefsson  <jas@extundo.com>
77011
77012         * gnulib-tool (Options): Make --symlink mean --symbolic.
77013
77014 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77015
77016         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77017
77018 2005-04-16  Simon Josefsson  <jas@extundo.com>
77019
77020         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77021
77022 2005-04-15  Simon Josefsson  <jas@extundo.com>
77023
77024         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77025
77026 2005-04-15  Simon Josefsson  <jas@extundo.com>
77027
77028         * gnulib-tool: Rename --symlink to --symbolic.
77029
77030 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77031
77032         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77033         symbolic links to files instead of copying/moving.  Add --aux-dir,
77034         specifying directory relative --dir where auxiliary build tools
77035         are placed.
77036
77037 2005-04-14  Bruno Haible  <bruno@clisp.org>
77038
77039         * modules/allocsa (License): Change to LGPL.
77040         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77041
77042 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77043
77044         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77045         that "UTC +1 second" continues to work.  Problem reported
77046         by Dmitry V. Levin.
77047         (relunit_snumber): New rule.
77048         (relunit): Use it.
77049
77050 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77051
77052         * lib/getdate.y (universal_time_zone_table): New constant.
77053         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77054         universal_time_zone_table.
77055         (lookup_zone): Prefer universal_time_zone_table to
77056         local_time_zone_table, so that "GMT" time stamps are allowed in
77057         London during the summer.  Problem reported by Ian Abbott.
77058
77059 2005-04-12  Jim Meyering  <jim@meyering.net>
77060
77061         * lib/human.c (humblock): Set *options even when returning due to
77062         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77063         warning from gcc-4.
77064
77065 2005-04-09  Jim Meyering  <jim@meyering.net>
77066
77067         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77068         -Wuninitialized: initialize tm0.tm_year.
77069
77070 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77071
77072         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77073         count, since there's no maximum.  All uses changed.
77074         Add member dsts_seen.
77075         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77076         not being INT_MAX.
77077         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77078         Use pc_rels_seen to decide whther a date is absolute.
77079
77080         * lib/getdate.y (number): Don't overwrite year.
77081         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77082         check.
77083
77084 2005-04-02  Simon Josefsson  <jas@extundo.com>
77085
77086         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77087         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77088
77089 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77090
77091         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77092         where no absolute path name can be longer than PATH_MAX.
77093
77094 2005-03-27  Jim Meyering  <jim@meyering.net>
77095
77096         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77097
77098 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77099
77100         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77101         "one's complement" -> "ones' complement" in comment, as per Knuth.
77102         "value of type" -> "type or expression" in comment.
77103         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77104
77105 2005-03-26  Jim Meyering  <jim@meyering.net>
77106
77107         Comment nits.
77108         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77109         Correct typos: s/or/of/.
77110
77111 2005-03-26  Jim Meyering  <jim@meyering.net>
77112
77113         * modules/check-include-files: Move to ../ and rename to...
77114         * check-module: ...this.
77115
77116 2005-03-25  Jim Meyering  <jim@meyering.net>
77117
77118         * modules/xvasprintf (Files): Add xalloc.h.
77119
77120 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77121
77122         * modules/gettext (Files): config/config.rpath ->
77123         build-aux/config.rpath
77124         * modules/iconv (Files): Likewise.
77125         Problem reported by Oskar Liljeblad.
77126
77127 2005-03-23  Jim Meyering  <jim@meyering.net>
77128
77129         * modules/check-include-files: New script to check for
77130         missing dependencies, multiple includes, etc.
77131
77132         * modules/c-strtold (Depends-on): Add xalloc.
77133         * modules/c-strtod (Depends-on): Add xalloc.
77134         * modules/hash (Depends-on): Add xalloc.
77135         (Files): Remove lib/xalloc.h.
77136
77137         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77138         * modules/userspec (Files): Add lib/inttostr.h.
77139
77140 2005-03-23  Jim Meyering  <jim@meyering.net>
77141
77142         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77143
77144 2005-03-22  Jim Meyering  <jim@meyering.net>
77145
77146         * modules/stat-macros: New module.
77147         * modules/canonicalize, modules/euidaccess, modules/file-type,
77148         * modules/filemode, modules/lchown, modules/makepath,
77149         * modules/rmdir, modules/stat: Depend on new stat-macros module
77150         rather than listing lib/stat-macros.h manually.
77151         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77152
77153 2005-03-22  Jim Meyering  <jim@meyering.net>
77154
77155         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77156
77157 2005-03-22  Bruno Haible  <bruno@clisp.org>
77158
77159         * config/srclist.txt: Replace target directory 'config' with
77160         'build-aux'.
77161         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77162         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77163         ../build-aux/.
77164
77165 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77166
77167         * modules/chdir-long (Depends-on): Add mempcpy.
77168
77169         * modules/acl, modules/backupfile, modules/c-strtod,
77170         modules/c-strtold, modules/canon-host, modules/canonicalize,
77171         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77172         modules/exclude, modules/exitfail, modules/file-type,
77173         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77174         modules/getdate, modules/getline, modules/getpagesize,
77175         modules/getpass, modules/getugroups, modules/group-member,
77176         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77177         modules/inttostr, modules/long-options, modules/makepath,
77178         modules/md5, modules/memcasecmp, modules/memcoll,
77179         modules/modechange, modules/mountlist, modules/path-concat,
77180         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77181         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77182         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77183         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77184         modules/strftime, modules/strndup, modules/strverscmp,
77185         modules/timespec, modules/unlocked-io, modules/userspec,
77186         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77187         modules/yesno:
77188         Remove lib_SOURCES line from Makefile.am section, as this is now
77189         done automatically by the corresponding Autoconf macro.
77190
77191 2005-03-21  Jim Meyering  <jim@meyering.net>
77192
77193         Changes imported from coreutils.
77194
77195         * lib/cycle-check.c: Don't include xalloc.h.
77196
77197         * lib/path-concat.c: Don't include assert.h.
77198         (path_concat): Remove assertion that would have triggered
77199         for ABASE starting with more than one slash.
77200         Reported by Andreas Schwab.
77201
77202         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77203         properly when ABASE is an absolute file name.
77204         Correct the description of this function.
77205         Include <assert.h>.
77206         Add an assertion and a test driver.
77207         This fixes a bug introduced on 2004-07-02.
77208         Andreas Schwab reported the resulting failure of cp --parents:
77209         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77210
77211 2005-03-21  Jim Meyering  <jim@meyering.net>
77212
77213         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77214         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77215
77216 2005-03-21  Jim Meyering  <jim@meyering.net>
77217         and  Paul Eggert  <eggert@cs.ucla.edu>
77218
77219         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77220         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77221         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77222         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77223         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77224         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77225         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77226         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77227         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77228         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77229         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77230         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77231         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77232         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77233         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77234         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77235         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77236         for these modules.
77237
77238 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77239
77240         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77241         (which shouldn't happen), generate nothing instead of returning 0
77242         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77243
77244 2005-03-16  Bruno Haible  <bruno@clisp.org>
77245
77246         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77247         HAVE_LONGLONG_64BIT.
77248
77249 2005-03-16  Bruno Haible  <bruno@clisp.org>
77250
77251         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77252         HAVE_LONGLONG_64BIT.
77253
77254 2005-03-16  Bruno Haible  <bruno@clisp.org>
77255
77256         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77257         HAVE_LONGLONG_64BIT.
77258
77259 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77260
77261         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77262         reliably distinguish strftime failure from empty output on POSIX
77263         hosts.
77264
77265 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77266
77267         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77268         (iconv_string): Don't guess a size-zero buffer, as that might cause
77269         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77270         result would be 'too large', where 'too large' is (heuristically)
77271         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77272         overflow concerns.  This will prevent some unwanted malloc failures
77273         when the inputs are very large.
77274
77275 2005-03-15  Karl Berry  <karl@gnu.org>
77276
77277         * config/srclist.txt (config.rpath): from gettext.
77278         * config/config.rpath: update.
77279
77280 2005-03-15  Bruno Haible  <bruno@clisp.org>
77281
77282         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77283         to 'negate'.
77284
77285         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77286         variable.
77287
77288         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77289         results.
77290
77291 2005-03-14  Simon Josefsson  <jas@extundo.com>
77292
77293         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77294         <fx@gnu.org>.
77295
77296 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77297
77298         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77299         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77300         intprops.h.
77301         * lib/strtol.c: Likewise.
77302
77303 2005-03-14  Jim Meyering  <jim@meyering.net>
77304
77305         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77306         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77307         to be nonzero so that we (and caller) can detect the difference
77308         between a valid zero-length expansion and an error return, even
77309         when the underlying strftime fails before writing anything into
77310         that location.
77311
77312 2005-03-14  Bruno Haible  <bruno@clisp.org>
77313
77314         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77315         Update from GNU gettext 0.14.3.
77316
77317 2005-03-10  Jim Meyering  <jim@meyering.net>
77318
77319         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77320
77321 2005-03-10  Jim Meyering  <jim@meyering.net>
77322
77323         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77324         so that this module works on systems without fchdir.
77325
77326 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77327
77328         Factor int-properties macros into a single file, except for
77329         glibc-related files.
77330         * lib/intprops.h: New file.
77331         * lib/getloadavg.c: Include it instead of limits.h.
77332         (INT_STRLEN_BOUND): Remove.
77333         * lib/human.c: Include intprops.h.
77334         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77335         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77336         302/1000.
77337         * lib/inttostr.h: Include intprops.h instead of limits.h.
77338         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77339         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77340         for consistency with intprops.h.
77341         (time_t_is_integer, twos_complement_arithmetic): Use them.
77342         * lib/sig2str.h: Include <signal.h>, intprops.h.
77343         (INT_STRLEN_BOUND): Remove.
77344         * lib/strftime.c (TYPE_SIGNED): Remove.
77345         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77346         * lib/strtol.c: Adjust comments to match intprops.h.
77347         * lib/userspec.c: Include intprops.h.
77348         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77349         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77350         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77351         instead of rolling our own expressions.
77352         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77353
77354         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77355         instead of int.
77356         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77357         the right thing even if adding 1900 would overflow.  Similarly
77358         for tm_mon + 1 and tm_yday + 1.
77359         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77360         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77361         (DO_SIGNED_NUMBER): New macro.
77362         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77363
77364 2005-03-07  Bruno Haible  <bruno@clisp.org>
77365
77366         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77367
77368 2005-03-07  Bruno Haible  <bruno@clisp.org>
77369
77370         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77371
77372 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77373
77374         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77375         (func_import): Only replace files via --import when they have actually
77376         changed.
77377
77378 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77379
77380         * m4/mmap-anon.m4: New file.
77381         * m4/pagealign_alloc.m4: New file.
77382
77383 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77384             Bruno Haible  <bruno@clisp.org>
77385
77386         * modules/pagealign_alloc: New file.
77387         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77388
77389 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77390             Bruno Haible  <bruno@clisp.org>
77391
77392         * lib/pagealign_alloc.h: New file.
77393         * lib/pagealign_alloc.c: New file.
77394
77395 2005-03-03  Bruno Haible  <bruno@clisp.org>
77396
77397         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77398         Use an all-permissive copyright notice, recommended by RMS.
77399
77400 2005-03-02  Bruno Haible  <bruno@clisp.org>
77401
77402         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77403         of AIX, the replacement has to be done only after <string.h> is
77404         included, therefore not in config.h. stpncpy.h does the replacement,
77405         and stpncpy.c uses it.
77406
77407 2005-03-02  Bruno Haible  <bruno@clisp.org>
77408
77409         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77410         stpncpy.c uses it.
77411
77412 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77413
77414         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77415         The workaround isn't strictly needed for POSIX conformance, and
77416         it's too much of a pain to configure and maintain.  We'll ask
77417         people to fix their kernels instead.
77418         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77419         (NANOSLEEP_BUG_WORKAROUND): Remove.
77420         (xnanosleep): Remove the workaround.
77421
77422 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77423
77424         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77425         Reported by Derek Price.
77426         (Include): Add "timespec.h".
77427
77428         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77429
77430 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77431
77432         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77433         to detect nanosleep bug.
77434
77435 2005-03-01  Bruno Haible  <bruno@clisp.org>
77436
77437         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77438
77439 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77440
77441         * modules/gethrxtime: New file.
77442         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77443         (Depends-on): Add gethrxtime.
77444         (configure.ac): Add gl_XNANOSLEEP.
77445         (Makefile.am): Remove lib_SOURCES line.
77446
77447 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77448
77449         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77450         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77451
77452 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77453
77454         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77455         * lib/timespec.h (gettime): Return void, since it always
77456         succeeds now.  All uses changed.
77457         * lib/gettime.c (gettime): Likewise.
77458         [HAVE_NANOTIME]: Prefer nanotime.
77459         Assume gettimeofday succeeds, as POSIX requires.
77460         Assime time () succeeds, since other code already does.
77461         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77462         (timespec_subtract): Remove.
77463         (NANOSLEEP_BUG_WORKAROUND): New constant.
77464         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77465         things considerably.  Use it only on GNU/Linux hosts, since the
77466         workaround shouldn't be needed elsewhere.
77467
77468 2005-02-24  Bruno Haible  <bruno@clisp.org>
77469
77470         * modules/gettext (Files): Add m4/glibc2.m4.
77471
77472 2005-02-24  Bruno Haible  <bruno@clisp.org>
77473
77474         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77475         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77476         * m4/progtest.m4:
77477         Update from GNU gettext 0.14.2.
77478         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77479
77480 2005-02-24  Bruno Haible  <bruno@clisp.org>
77481
77482         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77483         * lib/config.charset: Update from GNU gettext 0.14.2.
77484
77485 2005-02-24  Bruno Haible  <bruno@clisp.org>
77486
77487         * lib/gettext.h: Update from GNU gettext 0.14.2.
77488
77489 2005-02-23  Simon Josefsson  <jas@extundo.com>
77490
77491         * m4/iconvme.m4: New file.
77492
77493 2005-02-23  Jim Meyering  <jim@meyering.net>
77494
77495         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77496         change.
77497         Thanks to Bruno Haible for catching it.
77498
77499 2005-02-22  Simon Josefsson  <jas@extundo.com>
77500
77501         * modules/iconvme: New file.
77502
77503         * MODULES.html.sh: Add iconvme.
77504
77505 2005-02-22  Simon Josefsson  <jas@extundo.com>
77506
77507         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77508
77509 2005-02-22  Simon Josefsson  <jas@extundo.com>
77510
77511         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77512
77513 2005-02-22  Jim Meyering  <jim@meyering.net>
77514
77515         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77516         s/ifndef/ifdef/.
77517
77518 2005-02-20  Neil Conway  <neilc@samurai.com>
77519
77520         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77521         returned by OSX/Darwin if the specified buffer is not large
77522         enough for the hostname.
77523
77524 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77525
77526         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77527         pass it to _help, otherwise the latter coredumps trying to
77528         dereference state.root_argp.
77529
77530 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77531
77532         * modules/chdir-long (Depends-on): Add memrchr.
77533         * modules/memrchr (Files): Add lib/memrchr.h.
77534         (Include): "memrchr.h".
77535
77536 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77537
77538         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77539
77540 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77541
77542         * lib/memrchr.h: New file.
77543         * lib/chdir-long.c: Include it.
77544         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77545         Don't bother including stddef.h.
77546
77547 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77548
77549         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77550         inclusion.
77551         Include <sys/types.h>, for dev_t.
77552         (ME_DUMMY, ME_REMOTE): Move from here....
77553         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77554         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77555         Dmitry V. Levin.
77556         Include mountlist.h first, to test the interface.
77557
77558 2005-01-29  Bruno Haible  <bruno@clisp.org>
77559
77560         * lib/progname.c (program_name): Initialize.
77561         Needed when linking statically on MacOS X.
77562
77563 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77564
77565         Sync from coreutils.
77566         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77567         (Depends-on): Add c-strtod.
77568         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77569
77570 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77571
77572         Sync from coreutils.
77573         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77574
77575         Remove files that are specific to coreutils.
77576         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77577
77578 2005-01-28  Bruno Haible  <bruno@clisp.org>
77579
77580         * modules/javacomp: New file.
77581         * MODULES.html.sh (Java): Add javacomp.
77582
77583 2005-01-28  Bruno Haible  <bruno@clisp.org>
77584
77585         * m4/javacomp.m4: New file, from GNU gettext.
77586
77587 2005-01-28  Bruno Haible  <bruno@clisp.org>
77588
77589         * lib/javacomp.sh.in: New file, from GNU gettext.
77590         * lib/javacomp.h: New file, from GNU gettext.
77591         * lib/javacomp.c: New file, from GNU gettext.
77592
77593 2005-01-26  Simon Josefsson  <jas@extundo.com>
77594
77595         * lib/gai_strerror.c: Use GPL in header.
77596
77597 2005-01-26  Bruno Haible  <bruno@clisp.org>
77598
77599         * modules/javaexec: New file.
77600         * MODULES.html.sh (Java): Add javaexec.
77601
77602 2005-01-26  Bruno Haible  <bruno@clisp.org>
77603
77604         * m4/javaexec.m4: New file, from GNU gettext.
77605
77606 2005-01-26  Bruno Haible  <bruno@clisp.org>
77607
77608         * lib/javaexec.sh.in: New file, from GNU gettext.
77609         * lib/javaexec.h: New file, from GNU gettext.
77610         * lib/javaexec.c: New file, from GNU gettext.
77611
77612 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77613
77614         * modules/lchown (Depends-on): Remove lchown.h
77615
77616 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77617
77618         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77619         must be defined if the header file was not found, in order
77620         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77621
77622 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77623
77624         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77625         initializers for struct pentry_state.
77626         (__argp_error): Check return value of __asprintf
77627         (__argp_failure): Translate error message
77628
77629         * lib/argp-parse.c: Removed braces around the expansion of N_()
77630
77631 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77632
77633         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77634         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77635         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77636         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77637         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77638         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77639         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77640         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77641         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77642         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77643         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77644         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77645         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77646         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77647         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77648         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77649         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77650         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77651         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77652         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77653         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77654         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77655         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77656         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77657         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77658         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77659         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77660         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77661         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77662         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77663         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77664         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77665         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77666         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77667         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77668         Use an all-permissive copyright notice, recommended by RMS.
77669
77670 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77671
77672         * modules/chdir-long (Depends-on): Remove mempcpy.
77673
77674 2005-01-21  Jim Meyering  <jim@meyering.net>
77675
77676         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77677         same value as for Solaris 9.
77678
77679         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77680         component length.  This included changing the parameter to be
77681         of type `char *' rather than `char const *'.
77682         * lib/chdir-long.h (chdir_long): Update prototype.
77683
77684         * lib/openat.c (fdopendir, fstatat): New functions.
77685         * lib/openat.h: Include headers required for use of DIR and struct
77686         stat.
77687         [AT_SYMLINK_NOFOLLOW]: Define.
77688         (fdopendir, fstatat): Add prototypes.
77689
77690 2005-01-21  Bruno Haible  <bruno@clisp.org>
77691
77692         * modules/classpath: New file.
77693         * MODULES.html.sh (Java): Add classpath.
77694
77695 2005-01-21  Bruno Haible  <bruno@clisp.org>
77696
77697         * lib/classpath.h: New file, from GNU gettext.
77698         * lib/classpath.c: New file, from GNU gettext.
77699
77700 2005-01-20  Simon Josefsson  <jas@extundo.com>
77701
77702         * modules/version-etc-fsf: New file.
77703
77704 2005-01-20  Simon Josefsson  <jas@extundo.com>
77705
77706         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77707         * lib/version-etc.c: Remove version_etc_copyright.
77708         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77709         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77710
77711 2005-01-20  Simon Josefsson  <jas@extundo.com>
77712
77713         * lib/base64.h (isbase64): Add.
77714
77715         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77716         using a unsigned prototype, don't inline.
77717         (base64_decode): Use it.
77718
77719 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77720
77721         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77722         it.
77723
77724 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77725
77726         * lib/save-cwd.c (save_cwd): Remove code to support the case
77727         where fchdir is missing or flaky.
77728
77729 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77730
77731         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77732
77733 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77734
77735         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77736         AC_LIBSOURCES now does this.
77737         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77738         with new ullong_max module.
77739
77740 2005-01-19  Bruno Haible  <bruno@clisp.org>
77741
77742         * modules/sh-quote: New file.
77743         * MODULES.html.sh (Executing programs): Add sh-quote.
77744
77745 2005-01-19  Bruno Haible  <bruno@clisp.org>
77746
77747         * lib/sh-quote.h: New file, from GNU gettext.
77748         * lib/sh-quote.c: New file, from GNU gettext.
77749
77750 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77751
77752         Merge from coreutils.
77753         * m4/ullong_max.m4: New file.
77754         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77755         (gl_MACROS): Assume localeconv exists.
77756
77757 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77758
77759         Merge changes from coreutils, as described below in several
77760         changelogs dated today.
77761
77762         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77763         (O_DIRECTORY): Remove; not needed here, since "." must be
77764         a directory.  All uses removed.
77765         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77766         universal on Suns, and we also need to test for IRIX.
77767         Revamp code to use 'if' rather than '#if'.
77768         Avoid unnecessary comparison of cwd->desc to 0.
77769
77770         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77771         for known valid error numbers rather than observed invalid ones.
77772
77773 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77774
77775         * modules/ullong_max: New file.
77776
77777         * modules/chdir-long, modules/openat: New files.
77778         * modules/save-cwd (Depends-on): Depend on chdir-long.
77779         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77780
77781 2005-01-18  Jim Meyering  <jim@meyering.net>
77782
77783         Merge from coreutils.
77784         * m4/chdir-long.m4, m4/openat.m4: New files.
77785         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77786         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77787         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77788         is sane and DOES follow symlinks.  Besides, testing 20 different
77789         systems found no broken chown implementations.
77790         Prompted by a change in rsync's copy of this macro.
77791         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77792
77793         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77794
77795         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77796         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77797         NULL-means-set-to-current-time semantics.
77798         Remove temporary file immediately, rather than waiting
77799         for configure's at-exit trap code to do it.
77800
77801 2005-01-18  Jim Meyering  <jim@meyering.net>
77802
77803         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77804
77805         * lib/utimens.c (futimens): Account for the fact that futimes
77806         can also fail with errno == ENOSYS or errno == ENOENT.
77807         Patch from Dmitry V. Levin.
77808
77809         Change the name of the robust chdir function from chdir to chdir_long.
77810         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77811         (restore_cwd): Use chdir_long, not chdir.
77812         * lib/chdir-long.c: Renamed from chdir.c.
77813         * lib/chdir-long.h: Renamed from chdir.h.
77814         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77815         Hurd.
77816
77817 2005-01-18  Bruno Haible  <bruno@clisp.org>
77818
77819         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77820         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77821         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77822         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77823         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77824         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77825         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77826         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77827         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77828         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77829         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77830         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77831         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77832         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77833         Use an all-permissive copyright notice, recommended by RMS.
77834
77835 2005-01-18  Bob Proulx  <bob@proulx.com>
77836
77837         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77838         simplify offsetof() macro construct to avoid compile failure with
77839         native HP-UX 11.0 ANSI C compiler.
77840
77841 2005-01-17  Bruno Haible  <bruno@clisp.org>
77842
77843         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77844         redundant because stpncpy.m4 takes care of it.
77845
77846 2005-01-17  Bruno Haible  <bruno@clisp.org>
77847
77848         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77849
77850 2005-01-17  Bruno Haible  <bruno@clisp.org>
77851
77852         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77853         used.
77854
77855 2005-01-17  Bruno Haible  <bruno@clisp.org>
77856
77857         * lib/fwriteerror.h (fwriteerror): Change specification to include
77858         fclose.
77859         * lib/fwriteerror.c: Include <stdbool.h>.
77860         (fwriteerror): At the end, close the file stream. Record whether
77861         stdout was already closed.
77862
77863 2005-01-17  Bruno Haible  <bruno@clisp.org>
77864
77865         * lib/execute.c (environ): Declare if needed.
77866         * lib/pipe.c (environ): Likewise.
77867         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77868
77869 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77870
77871         * modules/argp: Depend on vsnprintf
77872
77873 2005-01-10  Jim Meyering  <jim@meyering.net>
77874
77875         * modules/closeout (Depends-on): Add atexit.
77876
77877 2005-01-06  Bruno Haible  <bruno@clisp.org>
77878
77879         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77880
77881 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77882
77883         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77884         definitions to be after all include files, to avoid collisions.
77885         Problem reported by Bob Proulx.
77886
77887 2005-01-04  Jim Meyering  <jim@meyering.net>
77888
77889         Changes imported from coreutils.
77890         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77891         as the mkstemp template, use a temporary directory and an
77892         8.3-friendly template to avoid trouble on systems like DJGPP.
77893         Reported by Juan M. Guerrero via Stepan Kasal.
77894         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77895         close. Remove the temporary directory right away, rather than waiting
77896         for configure's at-exit trap code to do it.
77897         Suggestion from Stepan Kasal.
77898
77899 2005-01-01  Simon Josefsson  <jas@extundo.com>
77900
77901         * gnulib-tool: Print #include directives when --import'ing.
77902
77903 2004-12-28  Simon Josefsson  <jas@extundo.com>
77904
77905         * tests/test-base64.c: Include required header files.  Remove
77906         unused variables.
77907
77908 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77909
77910         * modules/error (Depends-on): Remove gettext.
77911
77912 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77913
77914         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77915         not needed.  This removes a dependency on the gettext module.
77916         [defined _LIBC]: Do not include <libintl.h>; not needed.
77917
77918 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77919
77920         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77921         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77922
77923 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77924
77925         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77926         HAVE_DECL_STRTOLD.
77927
77928 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77929
77930         * modules/getdate (Depends-on): Remove alloca-opt.
77931
77932 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77933
77934         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
77935
77936 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77937
77938         * lib/argp-parse.c: Include <stddef.h>.
77939         (alignof, alignto): New macros.
77940         (parser_init): Don't assume that void * is aligned sufficiently
77941         for struct option.
77942
77943         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
77944         need to extend the stack.
77945         (YYINITDEPTH): New macro, so that the initial stack isn't overly
77946         large.
77947
77948 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77949
77950         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
77951
77952 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77953
77954         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
77955         (2004-10-24) change.  Apparently this was a false alarm.
77956
77957         * modules/getdate: Depend on alloca-opt, not alloca.
77958
77959 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
77960
77961         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
77962         Remove now-obsolete comment about AIX.
77963         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
77964         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
77965         (YYMAXDEPTH): New macro.
77966
77967 2004-12-18  Simon Josefsson  <jas@extundo.com>
77968
77969         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
77970
77971 2004-12-18  Bruno Haible  <bruno@clisp.org>
77972
77973         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
77974
77975 2004-12-18  Bruno Haible  <bruno@clisp.org>
77976
77977         * lib/fatal-signal.c (fatal_signals): Make non-const.
77978         (init_fatal_signals): New function.
77979         (uninstall_handlers, install_handlers): Ignore signals that were set to
77980         SIG_IGN.
77981         (at_fatal_signal): Call init_fatal_signals.
77982         (init_fatal_signal_set): Likewise. Ignore signals that were set to
77983         SIG_IGN.
77984         Reported by Paul Eggert.
77985
77986 2004-12-18  Bruno Haible  <bruno@clisp.org>
77987
77988         * doc/alloca.texi: New file.
77989         * doc/alloca-opt.texi: New file.
77990
77991 2004-12-17  Jim Meyering  <jim@meyering.net>
77992
77993         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
77994         Otherwise, install-sh could exit with improper exit status when
77995         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
77996
77997 2004-12-16  Simon Josefsson  <jas@extundo.com>
77998
77999         * tests/test-base64.c: Add license.
78000
78001 2004-12-15  Stepan Kasal  <address@hidden>
78002
78003         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78004
78005 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78006
78007         * modules/getcwd (Files): Add m4/d-ino.m4.
78008         Suggested by Mark D. Baushke.
78009
78010 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78011
78012         * lib/getdate.y (textint): New member "negative".
78013         (time_zone_hhmm): New function.
78014         Expect 14 shift-reduce conflicts, not 13.
78015         (o_colon_minutes): New rule.
78016         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78017         (yylex): Set the "negative" member of signed numbers.
78018
78019 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78020
78021         * doc/getdate.texi (Time of day items, Time zone items):
78022         Describe new formats +00:00, UTC+00:00.
78023
78024 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78025
78026         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78027         spurious "-l"s.  Problem reported by Stepan Kasal.
78028
78029 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78030
78031         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78032         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78033
78034 2004-12-04  Simon Josefsson  <jas@extundo.com>
78035
78036         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78037         Vandoorselaere <yoann@prelude-ids.org>.
78038
78039 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78040
78041         Changes imported from coreutils.
78042         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78043         exist.
78044         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78045
78046 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78047
78048         Changes imported from coreutils.
78049         * lib/hard-locale.c: Assume <locale.h> exists.
78050         Include "strdup.h".
78051         (GLIBC_VERSION): New macro.
78052         (hard_locale): Assume setlocale exists.
78053         Rewrite to avoid #ifdef.
78054         Use strdup rather than malloc + strcpy.
78055         * lib/human.c: Assume <locale.h> exists.
78056         (human_readable): Assume localeconv exists.
78057
78058 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         * modules/hard-locale (Depends-on): Add strdup.
78061
78062 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78063
78064         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78065         convert T2, not T.  (Imported from libc.)
78066
78067 2004-11-30  Simon Josefsson  <jas@extundo.com>
78068
78069         * modules/restrict (License): Change to LGPL.
78070
78071 2004-11-30  Simon Josefsson  <jas@extundo.com>
78072
78073         * m4/restrict.m4: Add copyright and copying conditions.
78074
78075 2004-11-30  Simon Josefsson  <jas@extundo.com>
78076
78077         * m4/base64.m4: New file.
78078
78079 2004-11-30  Simon Josefsson  <jas@extundo.com>
78080
78081         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78082         base64.
78083
78084         * tests/test-base64.c: New file.
78085
78086         * modules/base64: New file.
78087
78088 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78089
78090         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78091         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78092
78093         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78094
78095 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78096
78097         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78098         (__getcwd.c): Don't restore errno; glibc doesn't.
78099         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78100         first, falling back to our code only if its results look suspicious.
78101         Ensure that the resulting buffer is only as large as necessary.
78102
78103         * lib/readutmp.c: Include readutmp.h first.
78104         Include <errno.h>, since readutmp.h no longer does that.
78105         * lib/readutmp.h: Don't include <errno.h>,
78106         <sys/param.h>, <time.h>; not needed to establish interface.
78107         (errno): Remove decl.
78108         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78109         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78110         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78111
78112 2004-11-28  Simon Josefsson  <jas@extundo.com>
78113
78114         * lib/base64.h, base64.c: New file.
78115
78116 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78117
78118         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78119
78120 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78121
78122         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78123         (Depends-on): Remove pathmax, same.  Add mempcpy.
78124         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78125         (Makefile.am): Append getcwd.h to lib_SOURCES.
78126         (Include): Add getcwd.h.
78127         (Maintainer): Change from Jim Meyering to "all, glibc",
78128         since getdate now uses intended-for-glibc code.
78129         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78130         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78131
78132 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78133
78134         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78135         HP's ANSI C compiler.
78136         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78137         Declaring int functions causes warnings on some modern systems and
78138         shouldn't be needed to compile on ancient ones.
78139         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78140         defined.
78141
78142         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78143         with the following changes.
78144         (__set_errno): Parenthesize properly.
78145         Include <stdbool.h>.
78146         (MIN, MAX, MATCHING_INO): New macros.
78147         (__getcwd): Define with prototype, not K&R form.
78148         Use heuristics to allocate default buffer on stack if possible.
78149         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78150         behavior, and to avoid the PATH_MAX limit when computing
78151         ../../../../...
78152         Use MATCHING_INO to compare inode number to file.
78153         Check for arithmetic overflow in size calculations.
78154         Fix bug in reallocation of dot array that caused getcwd to fail
78155         on directories nested deeper than 75.
78156         Be more careful about saving errno on error.
78157         Do not use realloc; use only free+malloc, as this is a bit
78158         more flexible and avoids a needless copy operation.
78159         Do not inspect st_dev and st_ino for symbolic links; POSIX
78160         doesn't specify the latter.
78161         Check for closedir errors.
78162         Avoid needless casts.
78163         Use "#ifdef weak_alias" around weak_alias, to be like other
78164         glibc code.
78165         The following changes to getcwd.c have effect only when used in
78166         gnulib; they have no effect inside glibc proper.
78167         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78168         as alloca isn't used.
78169         (alloca, __alloca): Likewise.
78170         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78171         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78172         unconditionally, as gnulib assumes C89 or better.
78173         Do not include <sys/param.h>.
78174         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78175         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78176         better.
78177         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78178         Include <dirent.h> in a way that is compatible with modern Autoconf.
78179         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78180         New macros, if not already defined.
78181         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78182         Use "_LIBC", not "defined _LIBC", for consistency.
78183         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78184         a mempcpy module.
78185         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78186         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78187         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78188         credit only to Jim Meyering and adjust the copyright dates.
78189         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78190         <stdlib.h>, <unistd.h>, "pathmax.h".
78191         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78192         (INITIAL_BUFFER_SIZE): Remove.
78193         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78194
78195 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78196
78197         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78198         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78199         Use the _ONCE methods, for efficiency.
78200         Check for fcntl.h.  In test program, include <errno.h>
78201         and <fcntl.h> if available.  Remove old K&R cruft from
78202         test program.  Check for common errors in GNU/Linux,
78203         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78204         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78205         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78206         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78207         name accordingly.
78208         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78209         accommodate new getcwd.c.
78210         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78211         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78212         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78213         that's all we need now.
78214
78215 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78216
78217         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78218         argp-parse.c depends on getopt internals, that means we should
78219         always use our getopt, to be on the safe side.
78220         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78221         order not to spoil the result of an eventual previous invocation
78222         of gl_GETOPT_SUBSTITUTE.
78223
78224 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78225
78226         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78227         redefinition warnings. To avoid them, include the defines
78228         in `#if !defined __need_getopt ... #endif'. The only place
78229         where __getopt_argv_const is used is in definitions
78230         of getopt_long and getopt_long_only below, which are as well
78231         protected by `#ifndef __need_getopt'.
78232         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78233         __need_getopt after including <stdio.h> and <unistd.h> These
78234         headers might have defined it.
78235
78236 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78237
78238         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78239
78240 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78241
78242         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78243         (futimens): New function, which uses futimes if available.
78244         (futimens, utimens): Support timespec==NULL, with same semantics
78245         as utime and utimens.
78246         * lib/utimens.h (futimens): New decl.
78247
78248 2004-11-23  Jim Meyering  <jim@meyering.net>
78249
78250         * lib/getopt_.h: Remove trailing blanks.
78251
78252 2004-11-23  Jim Meyering  <jim@meyering.net>
78253
78254         * lib/__fpending.c: Add comment.
78255
78256 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78257
78258         * modules/canonicalize (Depends-on): Add xreadlink.
78259         Problem reported by James Youngman.
78260
78261 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78262
78263         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78264         New macros.
78265         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78266         optopt): Use them instead of invoking ## directly; otherwise, the
78267         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78268
78269 2004-11-19  Bruno Haible  <bruno@clisp.org>
78270
78271         * lib/strtok_r.c: Move comments from here...
78272         * lib/strtok_r.h: ... to here.
78273
78274 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78275
78276         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78277         implementations that mishandle size_t overflow.
78278
78279 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78280
78281         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78282         might fail.  Problem reported by Yoann Vandoorselaere.
78283         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78284         implementations that mishandle size_t overflow.
78285
78286 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78287
78288         * modules/canon-host (Depends-on): Add strdup.
78289
78290 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78291
78292         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78293
78294 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78295
78296         * lib/canon-host.c: Include "strdup.h".
78297         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78298         Use strdup instead of malloc/strcpy to duplicate strings.
78299
78300         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78301         (human_space_before_unit): New constant.
78302         * lib/human.c (human_readable): Support it.
78303
78304         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78305         (xgetcwd): Set errno correctly when failing.
78306         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78307         the failure is actually due to a PATH_MAX problem.
78308
78309         Further getopt changes to make it more likely that glibc will
78310         buy the changes back.
78311         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78312         (getopt): Use it, so to preserve glibc semantic
78313         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78314         when compiling for libc.
78315         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78316         (getopt_long, getopt_long_only): Use it.
78317
78318         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78319         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78320         (getopt): Argv is now char * const *, as per standard.
78321         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78322         not char *__getopt_argv_const *.
78323         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78324         _getopt_long_only_r): Likewise.
78325         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78326         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78327         _getopt_long_r, _getopt_long_only_r): Likewise.
78328         * lib/getopt_.h (__getopt_argv_const): Remove.
78329         (getopt): Argv is now char * const *, as per standard.
78330
78331         * lib/getdate.y (tORDINAL): New token.
78332         (day, relunit): Allow it for relative times.
78333         (relative_time_table): Use tORDINAL for ordinals.
78334
78335 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78336
78337         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78338         Document that "second" isn't allowed as an ordinal number.
78339
78340 2004-11-16  Jim Meyering  <jim@meyering.net>
78341
78342         * modules/closeout (Depends-on): Add fpending.
78343
78344 2004-11-15  Jim Meyering  <jim@meyering.net>
78345
78346         * lib/closeout.c: Include "__fpending.h" once again.
78347         Include <stdbool.h>.
78348         (close_stdout): Don't fail just because stdout was closed initially,
78349         since some programs don't write to stdout in the normal course of
78350         operation (other than --version and --help), and we don't want this
78351         function to make e.g. `touch file >&-' fail.
78352         But do fail if it was closed and someone has tried to write to it.
78353         E.g., `printf foo >&-' must fail.
78354
78355 2004-11-13  Jim Meyering  <jim@meyering.net>
78356
78357         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78358
78359 2004-11-12  Simon Josefsson  <jas@extundo.com>
78360
78361         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78362         small doc fix is still pending.
78363
78364 2004-11-11  Simon Josefsson  <jas@extundo.com>
78365
78366         * modules/strtok_r: New file.
78367
78368         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78369         strtok_r.
78370
78371 2004-11-11  Simon Josefsson  <jas@extundo.com>
78372
78373         * m4/strtok_r.m4: New file.
78374
78375         * m4/getopt.m4: Replace opterr.
78376
78377 2004-11-11  Simon Josefsson  <jas@extundo.com>
78378
78379         * lib/strtok_r.h, strtok_r.c: New file.
78380
78381 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78382
78383         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78384         of replacing opterr, getopt, etc.  This should handle the
78385         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78386
78387 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78388
78389         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78390         we can stop lying to compilers about the constness of argv when we
78391         are compiled outside glibc.
78392         (getopt, getopt_long, getopt_long_only): Use it.
78393         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78394         _getopt_internal, getopt): Likewise.
78395         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78396         _getopt_long_only_r): Likewise.
78397         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78398         _getopt_long_r, _getopt_long_only_r): Likewise.
78399
78400         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78401         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78402         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78403         the other external symbols.
78404         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78405         declaration, since the above renaming now works around collisions.
78406
78407 2004-11-11  Jim Meyering  <jim@meyering.net>
78408
78409         * lib/linebreak.c: Remove trailing blanks.
78410         * lib/alloca_.h: Likewise.
78411         * lib/acosl.c: Likewise.
78412         * lib/euidaccess.c: Likewise.
78413         * lib/allocsa.h: Likewise.
78414
78415 2004-11-10  Simon Josefsson  <jas@extundo.com>
78416
78417         * m4/getaddrinfo.m4: New file.
78418
78419 2004-11-10  Simon Josefsson  <jas@extundo.com>
78420
78421         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78422
78423 2004-11-10  Simon Josefsson  <jas@extundo.com>
78424
78425         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78426         getaddrinfo.
78427
78428         * modules/getaddrinfo: New file.
78429
78430 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78431
78432         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78433
78434 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78435
78436         * lib/mktime.c (SHR): New macro, which is a portable
78437         substitute for >> that should work even on Crays.
78438         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78439         Problem reported by Mark D. Baushke in
78440         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78441         * lib/getdate.y (SHR): Likewise.
78442         (tm_diff): Use it.
78443         * lib/strftime.c (SHR): Likewise.
78444         (tm_diff): Use it.
78445         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78446         quote_these_too, so that right shifts are well defined.  All uses
78447         changed.
78448
78449 2004-11-10  Jim Meyering  <jim@meyering.net>
78450
78451         Ensure that no close failure goes unreported.
78452         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78453         return early when it seems there's nothing to flush.
78454         Don't include __fpending.h.
78455
78456 2004-11-10  Jim Meyering  <jim@meyering.net>
78457
78458         * modules/closeout (Depends-on): Remove fpending.
78459
78460 2004-11-10  Jim Meyering  <jim@meyering.net>
78461
78462         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78463
78464 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78465
78466         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78467         gl_FUNC_STRFTIME.
78468         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78469         and AC_REQUIRE when possible, to avoid duplicate checks.
78470         Check for <wchar.h>.
78471
78472 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78473
78474         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78475
78476 2004-11-09  Bruno Haible  <bruno@clisp.org>
78477
78478         * m4/sockpfaf.m4: New file.
78479
78480 2004-11-05  Bruno Haible  <bruno@clisp.org>
78481
78482         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78483         Reported by Mark D. Baushke <mdb@cvshome.org>.
78484
78485 2004-11-04  Bruno Haible  <bruno@clisp.org>
78486
78487         2004-09-11  Bruno Haible  <bruno@clisp.org>
78488                 * allocsa.valgrind: New file.
78489         2004-02-06  Bruno Haible  <bruno@clisp.org>
78490                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78491                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78492                 Reported by Christopher Seip <chris.seip@hp.com>.
78493
78494 2004-11-04  Bruno Haible  <bruno@clisp.org>
78495
78496         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78497         (Makefile.am): Distribute it.
78498
78499 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78500
78501         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78502         with errno == ERANGE if the buffer is too small.
78503         Problem reported by Mark D. Baushke.
78504
78505 2004-11-03  Albert Chin  <china@thewrittenword.com>
78506             Paul Eggert  <eggert@cs.ucla.edu>
78507
78508         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78509         equivalent, substitute $ac_type for equivalent type rather than
78510         blindly using uint32_t *always* which won't work if uint32_t is not
78511         available.  Define _UINT32_T to work around typedef of uint32_t if
78512         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78513         2.5.1.
78514
78515 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78516
78517         * m4/jm-macros.m4: Sync from coreutils.
78518         (gl_MACROS): Check for mbrlen, for pathchk.
78519         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78520
78521 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78522
78523         * lib/xreadlink.c (MAXSIZE): New macro.
78524         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78525         size does not exceed MAXSIZE.  Avoid cast.
78526         As suggested by Mark D. Baushke in
78527         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78528         if readlink fails with buffer size just under MAXSIZE, try again
78529         with MAXSIZE.
78530
78531 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78532
78533         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78534
78535 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78536         and  Paul Eggert  <eggert@cs.ucla.edu>
78537
78538         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78539         (get_date): Overparenthesize to avoid GCC warning.
78540
78541 2004-11-02  Bruno Haible  <bruno@clisp.org>
78542
78543         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78544         returns void.
78545
78546 2004-11-02  Bruno Haible  <bruno@clisp.org>
78547
78548         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78549         function returns void.
78550
78551 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78552
78553         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78554         fflush_unlocked, flockfile, funlockfile, funlockfile,
78555         fputs_unlocked, putc_unlocked.
78556
78557 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78558
78559         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78560         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78561         already declared.
78562
78563 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78564
78565         * modules/getdate (Files): Add doc/getdate.texi.
78566         (Depends-on): Add setenv, xalloc.
78567
78568 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78569
78570         * lib/getdate.y: Add support for TZ="foo" within a date string.
78571         Fix some bugs near time_t boundaries.  Reject dates with
78572         out-of-range components, e.g., "Sept 31".
78573         Include <stdlib.h>, "setenv.h", "xalloc.h".
78574         (ISDIGIT_LOCALE): Remove; unused.
78575         Note that the TZ and time functions used here are not reentrant.
78576         (mktime_ok, get_tz): New functions.
78577         (TZBUFSIZE): New constant.
78578         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78579         This requires that we sometimes generate our own TZ="XXX..." setting.
78580
78581 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78582
78583         * doc/getdate.texi: New file, from coreutils with modifications for
78584         the new TZ parsing.
78585
78586 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78587
78588         * lib/mktime.c (not_equal_tm): Remove redundant check.
78589
78590 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78591
78592         * modules/regex (lib_SOURCES): Add regex.c.
78593         Reported by James Youngman in
78594         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78595
78596 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78597
78598         * lib/getdate.y: Use Bison 1.875 features, and some minor
78599         code cleanups.  This change does not affect semantics.
78600         Don't include <stdlib.h>; no longer needed.
78601         Don't include unlocked-io.h; only the "#if TEST" code uses
78602         stdio, and performance isn't crucial there.
78603         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78604         Bison 1.875 features as described below.
78605         All uses of "PC." replaced by "pc->".
78606         (YYSTYPE): Add a forward declaration.
78607         (yylex, yyerror): Use full prototypes in forward decls.
78608         Use "%pure-parser" rather than obsolescent "%pure_parser".
78609         Use %parse-param and %lex-param instead of obsolescent
78610         YYPARSE_PARAM and YYLEX_PARAM.
78611         (meridian_table, month_and_day_table, time_units_table,
78612         relative_time_table, time_zone_table, military_table,
78613         lookup_zone, lookup_word, get_date):
78614         Use NULL instead of 0 where appropriate.
78615         (to_hour): Avoid abort (), to avoid a dependency on
78616         stdlib.h.
78617         (yyerror, yylex): Now accepts parser_control * arg.
78618         (main) [TEST]: Use '\0' rather than 0 for char.
78619
78620 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78621
78622         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78623
78624 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78625
78626         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78627         It's now the caller's responsibility to handle the case where
78628         !HAVE_GETPAGESIZE && !defined getpagesize.
78629
78630         * lib/mktime.c (leapyear): Arg is long int, not int.
78631
78632 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78633
78634         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78635
78636 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78637
78638         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78639         missing.  Problem reported by James Youngman.
78640
78641 2004-10-16  Simon Josefsson  <jas@extundo.com>
78642
78643         * gnulib-tool: Fix comments.  Fix parse problem.
78644         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78645
78646 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78647
78648         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78649         implementation of getopt_long.  Problem reported by Alexander Taler in:
78650         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78651
78652 2004-10-15  Bruno Haible  <bruno@clisp.org>
78653
78654         * gnulib-tool: Untabify. Initialize supplied_libname.
78655         (func_usage): More homogenous output.
78656         (func_modules_transitive_closure, func_modules_to_filelist,
78657         func_emit_lib_Makefile_am): New functions.
78658         (func_import): New function, extracted from big case statement. Use
78659         func_get_license, func_modules_transitive_closure,
78660         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78661         opt_lgpl. Don't use test -a, as it's not portable.
78662         (func_create_testdir): Use func_modules_transitive_closure,
78663         func_modules_to_filelist, func_emit_lib_Makefile_am.
78664
78665 2004-10-15  Bruno Haible  <bruno@clisp.org>
78666
78667         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78668
78669 2004-10-15  Bruno Haible  <bruno@clisp.org>
78670
78671         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78672         the portions belonging to each module.
78673         Suggested by Derek Robert Price <derek@ximbiot.com>.
78674
78675 2004-10-12  Simon Josefsson  <jas@extundo.com>
78676
78677         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78678         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78679         to real functions.
78680
78681 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78682
78683         * modules/vsnprintf: New file.
78684
78685 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78686
78687         * m4/vsnprintf.m4: New file.
78688
78689 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78690
78691         * lib/vsnprintf.h: New file.
78692         * lib/vsnprintf.c: New file.
78693
78694 2004-10-11  Bruno Haible  <bruno@clisp.org>
78695
78696         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78697         vsnprintf.
78698
78699 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78700
78701         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78702
78703 2004-10-07  Bruno Haible  <bruno@clisp.org>
78704
78705         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78706         fits into the provided buffer.
78707
78708 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78709
78710         * lib/diacrit.c, diacrit.h: Add GPL notice.
78711
78712         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78713         notice.
78714         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78715         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78716         This avoids a potential constant-folding bug.
78717
78718 2004-10-05  Bruno Haible  <bruno@clisp.org>
78719
78720         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78721         for the declaration of strsep.
78722
78723 2004-10-05  Bruno Haible  <bruno@clisp.org>
78724
78725         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78726
78727 2004-10-04  Simon Josefsson  <jas@extundo.com>
78728
78729         * modules/memmem: New file.
78730         * tests/test-memmem.c: New file.
78731         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78732
78733 2004-10-04  Simon Josefsson  <jas@extundo.com>
78734
78735         * m4/memmem.m4: New file.
78736
78737 2004-10-04  Simon Josefsson  <jas@extundo.com>
78738
78739         * lib/memmem.h: New file.
78740         * lib/memmem.c: New file, taken from glibc.
78741
78742 2004-10-04  Simon Josefsson  <jas@extundo.com>
78743
78744         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78745         '#ifdef USE_UNLOCKED_IO'.
78746
78747 2004-10-04  Simon Josefsson  <jas@extundo.com>
78748
78749         * config/srclist.txt: Add memmem from glibc.
78750
78751 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78752
78753         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78754
78755         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78756         modules/exclude, modules/getdate, modules/getline,
78757         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78758         modules/getusershell, modules/linebuffer, modules/md5,
78759         modules/mountlist, modules/posixtm, modules/readtokens,
78760         modules/readutmp, modules/regex, modules/sha1,
78761         modules/version-etc, modules/yesno:
78762         Remove dependency on unlocked-io.
78763
78764 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78765
78766         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78767
78768         * m4/unlocked-io.m4: Add copyright notice.
78769         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78770
78771 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78772
78773         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78774         * lib/xmalloc.c (xmemdup): Likewise.
78775         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78776         XFREE): Remove these long-obsolescent macros.
78777         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78778         * lib/xstrdup.c: Remove.
78779
78780         * lib/regex.c (re_comp): Cast gettext return value to char *,
78781         Problem reported by Martin Neitzel via Mark D. Baushke.
78782
78783 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78784
78785         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78786         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78787         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78788         regex.c, sha1.c, version-etc.c, yesno.c:
78789         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78790         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78791         the includer's responsibility.
78792
78793         Sync from coreutils.
78794
78795         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78796         points to the start of a string, as the C Standard says the
78797         resulting behavior is undefined.
78798
78799         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78800         simple -> simple_backups, numbered_existing ->
78801         numbered_existing_backups, numbered -> numbered_backups
78802         to avoid shadowing problems.  All uses changed.
78803         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78804         * lib/backupfile.c (check_extension, numbered_backup):
78805         Rename locals to avoid shadowing 'basename'.
78806         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78807         once.
78808
78809         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78810         * lib/.cvsignore: Add getopt.h.
78811
78812 2004-10-04  Bruno Haible  <bruno@clisp.org>
78813
78814         * modules/README: New file.
78815         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78816         not a module.
78817
78818 2004-10-02  Jim Meyering  <jim@meyering.net>
78819
78820         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78821
78822 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78823
78824         * modules/strsep: New file.
78825
78826 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78827
78828         * m4/strsep.m4: New file.
78829
78830 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78831
78832         * lib/strsep.h: New file.
78833         * lib/strsep.c: New file.
78834
78835 2004-10-01  Simon Josefsson  <jas@extundo.com>
78836
78837         * lib/snprintf.c (snprintf): Handle size==0.
78838
78839 2004-10-01  Simon Josefsson  <jas@extundo.com>
78840             Bruno Haible  <bruno@clisp.org>
78841
78842         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78843         (snprintf): Declare 'args'.
78844
78845 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78846
78847         * lib/snprintf.c: Remove comments as to why each header is needed.
78848
78849 2004-10-01  Bruno Haible  <bruno@clisp.org>
78850
78851         * MODULES.html.sh: Add strsep.
78852
78853 2004-09-30  Simon Josefsson  <jas@extundo.com>
78854
78855         * modules/snprintf: New file.
78856
78857 2004-09-30  Simon Josefsson  <jas@extundo.com>
78858
78859         * m4/snprintf.m4: New file.
78860
78861 2004-09-30  Simon Josefsson  <jas@extundo.com>
78862
78863         * lib/snprintf.h, lib/snprintf.c: New files.
78864
78865 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78866
78867         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78868         (hol_entry_help): Never translate an empty string.
78869         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78870         * lib/argp.h (OPTION_NO_TRANS): New option.
78871
78872 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78873
78874         * modules/argp (Maintainer): Replace Simon Josefsson
78875         by Sergey Poznyakoff.
78876
78877 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78878
78879         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78880         changes merged back into glibc.
78881
78882 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78883
78884         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78885
78886 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78887
78888         * lib/xvasprintf.c: Include xalloc.h.
78889         (xvasprintf): Use xalloc_die, not xmalloc_die.
78890
78891 2004-09-29  Bruno Haible  <bruno@clisp.org>
78892
78893         * modules/alloca-opt: New file, derived from modules/alloca.
78894         * modules/allocsa: Depend on alloca-opt instead of alloca.
78895         * modules/setenv: Likewise.
78896         * modules/vasnprintf: Likewise.
78897         * MODULES.html.sh: Add alloca-opt.
78898
78899 2004-09-28  Simon Josefsson  <jas@extundo.com>
78900
78901         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78902         LGPL, and to replace license template from GPL to LGPL.
78903
78904 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78905
78906         * modules/dummy: Change license to LGPL.
78907
78908 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78909
78910         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78911
78912 2004-09-24  Simon Josefsson  <jas@extundo.com>
78913
78914         * modules/minmax (License): Change from GPL to LGPL.
78915
78916 2004-09-23  Simon Josefsson  <jas@extundo.com>
78917
78918         * gnulib-tool (--import): Typo.
78919
78920 2004-09-23  Simon Josefsson  <jas@extundo.com>
78921
78922         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78923
78924 2004-09-22  Bruno Haible  <bruno@clisp.org>
78925
78926         * modules/*: Add 'License' field.
78927         * gnulib-tool: Accept --extract-license option.
78928         (func_get_license): New function.
78929
78930 2004-09-21  Bruno Haible  <bruno@clisp.org>
78931
78932         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
78933         Reported by Simon Josefsson.
78934
78935 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78936
78937         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
78938         gl_AC_TYPE_LONG_LONG.
78939
78940 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78941
78942         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
78943
78944 2004-09-18  Simon Josefsson  <jas@extundo.com>
78945         and  Paul Eggert  <eggert@cs.ucla.edu>
78946
78947         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
78948         calls with autoreconf.  Define GL_LIB.
78949
78950 2004-09-14  Karl Berry  <karl@gnu.org>
78951
78952         * config/srclist.txt: unsync setenv.c, sigh.
78953
78954 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78955
78956         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
78957         Problem reported by Bruno Haible in:
78958         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
78959
78960 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78961
78962         * config/srclist.txt: Comment out argp-pvh.c.
78963
78964 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
78965
78966         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
78967         in case some system header has #define'd it.  Problem reported by
78968         Soeren D. Schulze in
78969         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
78970
78971 2004-09-09  Karl Berry  <karl@gnu.org>
78972
78973         * regex.[ch]: delete from the root.  These were supposed to be
78974                 synced with emacs cvs, but this has not happened for about
78975                 a year, and anyway nothing else uses emacs regex.[ch].
78976                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
78977                 lib/regex[.ch] is untouched.
78978
78979 2004-09-09  Bruno Haible  <bruno@clisp.org>
78980
78981         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
78982
78983 2004-09-09  Bruno Haible  <bruno@clisp.org>
78984
78985         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
78986         modifications.
78987         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
78988
78989 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78990
78991         * modules/xvasprintf: New file.
78992         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
78993
78994 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
78995
78996         * lib/xvasprintf.h: New file.
78997         * lib/xvasprintf.c: New file.
78998         * lib/xasprintf.c: New file.
78999
79000 2004-09-08  Bruno Haible  <bruno@clisp.org>
79001
79002         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79003
79004 2004-09-08  Bruno Haible  <bruno@clisp.org>
79005
79006         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79007         length is > INT_MAX.
79008         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79009         more.
79010
79011 2004-09-08  Bruno Haible  <bruno@clisp.org>
79012
79013         * lib/stdint_.h: New file, taken from GNU clisp.
79014
79015 2004-09-08  Bruno Haible  <bruno@clisp.org>
79016             Oskar Liljeblad  <oskar@osk.mine.nu>
79017
79018         * modules/stdint: New file.
79019         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79020
79021 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79022
79023         Import from coreutils.
79024         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79025         strings on unbounded length.  alloca's performance benefits aren't
79026         that important here.
79027         (V_STRDUP): Remove.
79028         (parse_with_separator): New function, with most of the internals
79029         of the old parse_user_spec.  Allow user to omit both user and group,
79030         for compatibility with FreeBSD.
79031         Clone only the user name, not the entire spec.
79032         Do not set *uid, *gid unless entirely successful.
79033         Avoid memory leak in some failing cases.
79034         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79035         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79036         (parse_user_spec): Rewrite to use parse_with_separator.
79037
79038 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79039
79040         * modules/userspec: Don't depend on alloca.
79041
79042 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79043
79044         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79045
79046 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79047
79048         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79049         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79050         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79051
79052 2004-08-16  Simon Josefsson  <jas@extundo.com>
79053
79054         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79055         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79056         Add --dry-run for --import.
79057         Let user provided command line parameters override configure.ac
79058         settings.
79059
79060 2004-08-12  Simon Josefsson  <jas@extundo.com>
79061
79062         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79063         as discussed with Paul Eggert in threads rooted at
79064         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79065         and
79066         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79067         Before, the test was empty, and relied on ELIDE_CODE in source
79068         code.)
79069         (gl_PREREQ_GETOPT): New macro.
79070         (gl_GETOPT): Use them.
79071
79072 2004-08-12  Simon Josefsson  <jas@extundo.com>
79073
79074         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79075         * lib/getopt_.h: Renamed from getopt.h.
79076
79077 2004-08-12  Simon Josefsson  <jas@extundo.com>
79078
79079         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79080         Change default library name from libfoo to libgnu.
79081         Now, if you have a configure.ac that says:
79082                 gl_SOURCE_BASE(gl)
79083                 gl_M4_BASE(gl/m4)
79084                 gl_MODULES(error getopt etcetera)
79085                 gl_INIT
79086         you can import all you need by running:
79087                 ../gnulib/gnulib-tool --import
79088
79089         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79090         (Makefile.am): Rewrite, use logic from argz.
79091         (Include): Use <getopt.h> instead of "getopt.h".
79092
79093 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79094
79095         * modules/argp (Files): Add m4/unlocked-io.m4.
79096         (Depends-on): Add extensions.
79097
79098 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79099
79100         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79101         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79102         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79103         Check for program_invocation_name, program_invocation_short_name,
79104         flockfile, funlockfile, features.h, _getopt_long_only_r.
79105
79106 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79107
79108         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79109         its complicated substitute.
79110         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79111         and program_invocation_name.
79112         (__argp_basename) [!_LIBC]: Remove; the only use was
79113         replaced by its body.
79114         (__argp_short_program_name): Change condition from
79115         !defined __argp_short_program_name to
79116         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79117         to match argp-namefrob.h.
79118         (__argp_failure): Don't assume strerror_r returns char *.
79119         * lib/argp-parse.c (N_): Define unconditionally.
79120         (argp_default_options): Fill out initializers with 0 to avoid
79121         gcc warnings.
79122
79123 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79124
79125         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79126         getopt1.c.
79127
79128 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79129
79130         Merge from coreutils.
79131
79132         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79133
79134         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79135         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79136
79137 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79138
79139         Merge from coreutils.
79140
79141         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79142         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79143         for Reliant Unix 5.43.
79144
79145         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79146         (union fooround): Use uintmax_t, not long int.
79147         The rest is a merge from libc:
79148         [defined _LIBC]: Include <shlib-compat.h>.
79149         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79150
79151         * lib/settime.c (settime): Recode to avoid warning with
79152         Sun Forte C 6U2.
79153
79154         * lib/strverscmp.c: Convert to UTF-8.
79155
79156 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79157
79158         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79159         m4/uintmax_t.m4.
79160
79161 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79162
79163         * modules/xalloc-die: New file.
79164         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79165
79166         * modules/md5 (Files): Add m4/uint32_t.m4.
79167         * modules/sha1: Renamed from modules/sha.
79168         (Files):
79169         Rename lib/sha.h to lib/sha1.h.
79170         Rename lib/sha.c to lib/sha1.c.
79171         Rename m4/sha.m4 to m4/sha1.m4.
79172         (lib_SOURCES): Likewise.
79173         (configure.ac): Rename gl_SHA to gl_SHA1.
79174         (Include): sha.h -> sha1.h.
79175
79176 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79177
79178         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79179         * m4/sha1.m4: Renamed from sha.m4.
79180         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79181
79182 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79183
79184         * lib/obstack.h (obstack_empty_p):
79185         Don't assume that chunk->contents is suitably aligned.
79186         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79187         Likewise. Problem reported by Benno in
79188         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79189
79190         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79191         readable.  This could be improved further but it'd take some work.
79192
79193 2004-08-08  Simon Josefsson  <jas@extundo.com>
79194
79195         * modules/xgethostname (Depends-on): Remove exit and error (not
79196         used).
79197
79198         * modules/getpass-gnu: Add getpass.h.
79199         (Depends-on): Add stdbool.
79200         * modules/getpass: Add getpass.h.
79201
79202 2004-08-08  Simon Josefsson  <jas@extundo.com>
79203
79204         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79205         Check getpass declaration.
79206
79207 2004-08-08  Simon Josefsson  <jas@extundo.com>
79208
79209         * lib/xgethostname.c: Don't include error.h (not used).
79210
79211         * lib/getpass.h: Add.
79212         * lib/getpass.c: Include getpass.h first.
79213
79214 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79215
79216         * lib/xalloc-die.c: New file.
79217         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79218         All uses removed.
79219         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79220         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79221         xalloc-die.c.
79222         (_, N_, xalloc_die): Move to xalloc-die.c.
79223         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79224         so that we needn't mess with xalloc_msg_memory_exhausted.
79225
79226         * lib/sha1.h: Renamed from sha.h.
79227         (SHA1_H): Renamed from _SHA_H.
79228         (sha1_ctx): Renamed from sha_ctx.
79229         (sha1_init_ctx): Renamed from sha_init_ctx.
79230         (sha1_process_block): Renamed from sha_process_block.
79231         (sha1_process_bytes): Renamed from sha_process_bytes.
79232         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79233         (sha1_read_ctx): Renamed from sha_read_ctx.
79234         (sha1_stream): Renamed from sha_stream.
79235         (sha1_buffer): Renamed from sha_buffer.
79236         * lib/sha1.c: Likewise; renamed from sha.c.
79237         Do not include <sys/types.h>.
79238         Include <stddef.h> rather than <stdlib.h>.
79239
79240 2004-08-08  Bruno Haible  <bruno@clisp.org>
79241
79242         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79243         FILESYSTEM_PREFIX_LEN.
79244         * lib/progreloc.c: Likewise.
79245         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79246
79247 2004-08-06  Simon Josefsson  <jas@extundo.com>
79248
79249         * modules/progname (Depends-on): Don't depend on stdbool.
79250
79251 2004-08-06  Simon Josefsson  <jas@extundo.com>
79252
79253         * modules/getsubopt: New file.
79254         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79255         getsubopt.
79256
79257 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79258
79259         More merge from coreutils.
79260
79261         * m4/utimens.m4, m4/utimecmp.m4: New files.
79262         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79263         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79264         prereq.m4, sha.m4: Import changes from coreutils.
79265
79266 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79267
79268         More merge from coreutils.
79269         * modules/raise, modules/readtokens0, modules/utimens:
79270         * modules/utimecmp, module/xnanosleep: New files.
79271         * modules/strftime: Add lib/strftime.h.
79272         Change include from <time.h> to "strftime.h".
79273         * modules/yesno: Add lib/yesno.h.
79274         * modules/backupfile: Remove lib/addext.c.
79275         * modules/euidaccess: Add stat-macros.h.
79276         * modules/canonicalize, modules/euidaccess,
79277         modules/filemode, modules/lchown, modules/makepath,
79278         modules/rmdir, modules/stat: Likewise.
79279
79280 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79281
79282         Merge from tar.
79283         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79284         SIZE_MAX is a valid preprocessor constant.
79285         (__argp_basename): Change from "#ifndef _LIBC"
79286         to "#ifndef __argp_short_program_name", so that
79287         we don't compile these functions for tar.
79288
79289         More merges from coreutils.
79290         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79291         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79292         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79293         * lib/addext.c: Remove; no longer needed.
79294         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79295         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79296         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79297         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79298         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79299         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79300         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79301         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79302         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79303         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79304         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79305         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79306         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79307         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79308         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79309         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79310         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79311         Import changes from coreutils.
79312
79313 2004-08-05  Simon Josefsson  <jas@extundo.com>
79314
79315         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79316
79317 2004-08-05  Simon Josefsson  <jas@extundo.com>
79318
79319         * m4/getsubopt.m4: New file.
79320
79321 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79322
79323         Merge from coreutils.
79324
79325         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79326         * m4/getcwd-path-max.m4: New files.
79327
79328         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79329         FILESYSTEM_PREFIX_LEN ->
79330         FILE_SYSTEM_PREFIX_LEN.
79331         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79332         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79333         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79334         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79335
79336         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79337         prerequisite modules now handle the DOS stuff.
79338         Don't check for unistd.h.
79339
79340 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79341
79342         Merge from coreutils.
79343
79344         * lib/.gdb-history: Remove; this doesn't belong here.
79345
79346         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79347         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79348         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79349         * lib/getcwd.c: New files.
79350
79351         * lib/dirname.h: Include <stdbool.h>.
79352         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79353         for consistency with POSIX terminology.  All uses changed.
79354         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79355         (strip_trailing_slashes): Use bool for booleans.
79356         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79357
79358         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79359         sometimes returns a positive errno value even when it succeeds.
79360         (print_errno_message) [!LIBC]: Fall back on strerror if
79361         __strerror_r fails.
79362
79363         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79364         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79365         (longest_relative_suffix): New function.
79366         (path_concat): Use it.  Assume first argument is not NULL.
79367         Port to DOS.  Omit redundant separators.
79368         Report an error instead of returning NULL.
79369         Use mempcpy instead of memcpy.
79370         (xpath_concat): Remove: not declared or used.
79371
79372         * lib/same.h: Include <stdbool.h>
79373         (same_name): Return bool, not int.
79374         * lib/same.c (same_name): Likewise.
79375         (errno): Don't declare; we assume C89 or better now.
79376
79377         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79378         if not already defined.
79379
79380         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79381         * lib/dup-safer.c (errno): Likewise.
79382
79383 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79384
79385         Merge from coreutils.
79386         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79387         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79388         * modules/path-concat: Don't depend on strdup.
79389
79390 2004-08-03  Simon Josefsson  <jas@extundo.com>
79391
79392         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79393         * lib/progname.h: Don't include stdbool.h.
79394
79395 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79396
79397         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79398         * MODULES.html.sh (func_all_modules): Remove fatal.
79399
79400 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79401
79402         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79403
79404 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79405
79406         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79407         working.
79408
79409 2004-08-02  Simon Josefsson  <jas@extundo.com>
79410
79411         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79412         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79413         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79414
79415 2004-08-01  Simon Josefsson  <jas@extundo.com>
79416
79417         * lib/xgetdomainname.c: Include stdlib.h, for free().
79418
79419 2004-07-19  Bruno Haible  <bruno@clisp.org>
79420
79421         * MODULES.html.sh (func_all_modules): Add dummy.
79422
79423 2004-07-16  Simon Josefsson  <jas@extundo.com>
79424
79425         * modules/dummy: New file.
79426
79427 2004-07-16  Simon Josefsson  <jas@extundo.com>
79428
79429         * lib/dummy.c: New file.
79430
79431 2004-07-16  Bruno Haible  <bruno@clisp.org>
79432
79433         * lib/backupfile.h: Add extern "C" for C++.
79434         * lib/closeout.h: Likewise.
79435         * lib/copy-file.h: Likewise.
79436         * lib/findprog.h: Likewise.
79437         * lib/full-write.h: Likewise.
79438         * lib/pathname.h: Likewise.
79439         * lib/progname.h: Likewise.
79440         * lib/stpcpy.h: Likewise.
79441         * lib/stpncpy.h: Likewise.
79442         * lib/strcase.h: Likewise.
79443         * lib/strstr.h: Likewise.
79444         * lib/xalloc.h: Likewise.
79445
79446         * lib/mbswidth.h: Add extern "C" for C++.
79447         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79448
79449 2004-07-13  Robert Millan  <robertmh@gnu.org>
79450
79451         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79452
79453 2004-07-09  Simon Josefsson  <jas@extundo.com>
79454
79455         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79456         failed without this.)
79457
79458 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79459
79460         * modules/chown (Files): Add lib/fchown-stub.c, since
79461         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79462
79463 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         * lib/fchown-stub.c: New file.
79466
79467 2004-06-24  Jim Meyering  <jim@meyering.net>
79468
79469         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79470
79471 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79472
79473         * modules/argz: Omit "#include".
79474
79475         * MODULES.html.sh (func_all_modules): Add calloc, to match
79476         2004-06-01 addition of calloc module.
79477
79478 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79479
79480         * m4/argz.m4: New file, which is autoupdated from libtool.
79481
79482 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79483
79484         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79485         libtool.
79486
79487 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79488
79489         * config/srclist-update: Don't insist on "USA." before the
79490         close-comment, as libtool omits the period and puts the */ on a
79491         separate line.
79492         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79493         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79494
79495 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79496
79497         * modules/argz: New file.
79498         * MODULES.html.sh (func_all_modules): Add argz.
79499
79500 2004-06-12  Jim Meyering  <jim@meyering.net>
79501         and  Paul Eggert  <eggert@cs.ucla.edu>
79502
79503         * modules/hash (Files): Add lib/xalloc.h.
79504         * modules/pipe (Depends-on): Add wait-process.
79505         * modules/stat (Depends-on): Add xalloc.
79506         * modules/userspec (Files): Add lib/userspec.h.
79507         * modules/xstrto
79508
79509         Upgrade from gettext-0.13.
79510         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79511         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79512         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79513
79514 2004-06-10  Jim Meyering  <jim@meyering.net>
79515
79516         * lib/calloc.c: New file.
79517
79518 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79519
79520         * lib/getdate.y (yylex): Allow space between sign and number.
79521         Problem reported by Dan Jacobson.
79522
79523 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79524
79525         Merge from coreutils CVS.
79526
79527         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79528         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79529         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79530         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79531         xstrtol.m4: Fix copyright date and/or serial number.
79532
79533         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79534         See if we need an fchown replacement.
79535         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79536         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79537         and use the replacement function if we detect either defect.
79538
79539         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79540         gl_UTIMECMP.
79541
79542 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79543         and  Jim Meyering  <jim@meyering.net>
79544
79545         Merge from coreutils CVS.
79546
79547         * lib/stat-macros.h: New file, with contents from file-type.h
79548         and coreutils' system.h.
79549         * lib/file-type.c: Include "stat-macros.h".
79550         * lib/file-type.h (file_type): Move all macro definitions to new file,
79551         stat-macros.h.
79552
79553         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79554         Wrap old code with this conditional.
79555         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79556         function that does not dereference symlinks.
79557         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79558
79559         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79560         dependency problems.
79561         (xreadlink): Accept new arg SIZE, for efficiency.
79562         All decls and uses changed.
79563         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79564
79565         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79566         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79567
79568         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79569         sysexits.h.
79570
79571 2004-06-01  Jim Meyering  <jim@meyering.net>
79572
79573         * m4/calloc.m4: New file.
79574
79575 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79576
79577         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79578         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79579         Also, fix a typo in a diagnostic.
79580
79581 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79582
79583         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79584         or AC_FUNC_REALLOC.
79585
79586 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79589         macros to be defined.
79590         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79591         the allocator returns NULL because the requested size is zero.
79592
79593 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79594
79595         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79596         var.  Add comment explaining why libc still defines it.  This
79597         merges the following patch from glibc:
79598         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79599
79600 2004-05-20  Andreas Schwab  <schwab@suse.de>
79601
79602         * m4/free.m4: Replace free if it not known to work, not the other
79603         way round.
79604
79605 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79606
79607         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79608         present in glibc since revision 1.1 of this file.
79609         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79610         obstack_alignment_mask, obstack_alloc, obstack_base,
79611         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79612         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79613         obstack_grow0, obstack_init, obstack_int_grow,
79614         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79615         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79616         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79617         nonexistent functions.
79618
79619 2004-05-18  Karl Berry  <karl@gnu.org>
79620
79621         * config/srclist.txt: break link for vasnprintf.c.
79622
79623 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79624
79625         Port obstack to the AS/400, where pointers are 16 bytes wide and
79626         you cannot cast an integer to a valid pointer.  This patch is
79627         currently waiting to be integrated into glibc; see
79628         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79629
79630         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79631         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79632         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79633         (struct obstack): temp member is now a union of a pointer and
79634         an integer, instead of an integer.  All integer uses changed.
79635         This does not affect the physical layout of struct obstack,
79636         except on hosts (like the AS/400) where the size or alignment of
79637         void * is greater than that of ptrdiff_t.
79638         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79639         __STDC__)]: Store temporary in pointer member of union, not
79640         integer member.
79641         * lib/obstack.c: Include <stddef.h>, for offsetof.
79642         (struct fooalign): Remove; it doesn't need a name.
79643         (union fooround): Change double to long double, and add void *.
79644         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79645         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79646         not a macro.  Hence the values are always int; so remove all
79647         casts-to-int in uses.
79648
79649 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79650
79651         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79652         we can get this patch merged into glibc.
79653
79654 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79655             Paul Eggert  <eggert@cs.ucla.edu>
79656
79657         * m4/argp: Depend on alloca.
79658
79659 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79660             Paul Eggert  <eggert@cs.ucla.edu>
79661
79662         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79663         freecoding.
79664
79665 2004-05-17  Bruno Haible  <bruno@clisp.org>
79666
79667         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79668         precision that consists of a '.' followed by an empty digit string.
79669         Patch by Tor Lillqvist <tml@iki.fi>.
79670
79671 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79674         for backward compatibility with older code.  We need our own
79675         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79676         it under some other name, and our alloca.h will define it.
79677
79678 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79679             Derek Price  <derek@ximbiot.com>
79680
79681         * lib/alloca.c: Include <alloca.h>, to get our interface.
79682         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79683         include <alloca.h> first.  Use C89 prototype for alloca; this
79684         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79685         Use #elif for simplicity, since we can assume C89 now.
79686         Don't try to source the system alloca.h since it will not be found
79687         and to prevent recursively including its replacement.
79688         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79689         * lib/regex.c: Likewise.
79690
79691 2004-05-16  Derek Price  <derek@ximbiot.com>
79692             Paul Eggert  <eggert@cs.ucla.edu>
79693
79694         getline cleanup.  This changes the getndelim2 API: both order of
79695         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79696         no delimiter).
79697
79698         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79699         interface does that.
79700         (getline): Always use getdelim, so that we don't have two
79701         copies of this code.
79702         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79703         if available.
79704         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79705         (GETNDELIM2_MAXIMUM): New macro.
79706         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79707         instead of the old practice of delim2==0.  All callers changed.
79708         Return -1 on overflow, instead of returning junk.
79709         Do not set *linesize unless allocation succeeds.
79710         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79711         that we include sys/types.h.
79712         * lib/getnline.h: Likewise.
79713         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79714         (getndelim2): Reorder arguments.
79715         * lib/getnline.c (getnline, getndelim):
79716         Don't discard the NMAX argument.
79717         (getnline): Invoke getndelim, to avoid code duplication.
79718         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79719         of (size_t) -1 by callers of the getnline family.
79720
79721 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79722
79723         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79724         Check for gettimeofday.
79725         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79726         Check for settimeofday, stime.
79727
79728 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79729
79730         * lib/nanosleep.c (suspended): Change its type from int to
79731         sig_atomic_t volatile.
79732         (first_call): Make it private to rpl_nanosleep, and have it
79733         be zero initially as that's a bit faster.
79734         (my_usleep): Round up fractional times instead of truncating them,
79735         as this is the usual meaning for 'sleep'.
79736
79737         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79738         doesn't work.
79739         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79740         (ENOSYS): Define if not defined.
79741         (settime): Fall back on stime if it exists and settimeofday fails.
79742         But don't bother with fallbacks if a method fails with errno == EPERM.
79743
79744 2004-05-11  Jim Meyering  <jim@meyering.net>
79745
79746         Prior to this change, the save_cwd caller required read access to the
79747         current directory on most systems (ones with the fchdir function).
79748
79749         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79750         fails, try write-only, and finally, resort to using xgetcwd.
79751
79752 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79753
79754         * lib/obstack.c, obstack.h: Import changes from libc.
79755
79756 2004-04-28  Bruno Haible  <bruno@clisp.org>
79757
79758         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79759         also implicitly appends .exe to executables.
79760         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79761         accepts Windows pathnames.
79762         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79763         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79764         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79765         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79766         Reported by Derek Robert Price <derek@ximbiot.com>.
79767
79768 2004-04-21  Karl Berry  <karl@gnu.org>
79769
79770         * config/srclist.txt (localcharset.c): break sync.
79771
79772 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79773
79774         * m4/host-os.m4: Add a copyright notice.
79775
79776 2004-04-20  Jim Meyering  <jim@meyering.net>
79777
79778         Change UTILS_ to gl_ in AC_DEFINE'd names.
79779         Change utils_- and jm_-prefixed variables, too.
79780         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79781         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79782         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79783
79784         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79785         Don't emit trailing blanks.
79786         Also rename jm_-prefixed variables to have gl_ prefix.
79787
79788         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79789         Also rename jm_-prefixed variables to have gl_ prefix.
79790
79791         * m4/jm-macros.m4: Reflect the renamings.
79792         * m4/prereq.m4: Likewise.
79793
79794 2004-04-20  Jim Meyering  <jim@meyering.net>
79795
79796         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79797         memory.
79798
79799 2004-04-20  Jim Meyering  <jim@meyering.net>
79800             Bruno Haible  <bruno@clisp.org>
79801
79802         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79803         memory when realloc fails.
79804
79805 2004-04-19  Jim Meyering  <jim@meyering.net>
79806
79807         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79808         now that readutmp.c may call `free (0)'.
79809
79810 2004-04-19  Bruno Haible  <bruno@clisp.org>
79811
79812         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79813         * m4/inttypes_h.m4: Likewise.
79814         * m4/stdint_h.m4: Likewise.
79815         * m4/intmax_t.m4: Likewise.
79816         * m4/uintmax_t.m4: Likewise.
79817
79818 2004-04-18  Jim Meyering  <jim@meyering.net>
79819
79820         * m4/prereq.m4: Don't forbid jm_ prefix.
79821
79822         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79823         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79824         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79825         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79826         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79827         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79828         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79829         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79830         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79831         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79832         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79833         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79834         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79835         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79836         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79837         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79838         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79839         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79840         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79841
79842 2004-04-18  Jim Meyering  <jim@meyering.net>
79843
79844         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79845         failure, don't leak memory and do call END_UTMP_ENT.
79846
79847 2004-04-16  Jim Meyering  <jim@meyering.net>
79848
79849         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79850         coreutils' stat program.
79851         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79852
79853 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79854
79855         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79856         C89.
79857         (CHAR_BIT): Remove, since we assume C89.
79858         Include <stdint.h> if available, as per current Autoconf CVS advice.
79859
79860 2004-03-31  Jim Meyering  <jim@meyering.net>
79861
79862         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79863         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79864         * m4/xalloc.m4: Likewise.
79865
79866 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79867
79868         Merge from coreutils.
79869
79870         * m4/inttostr.m4: New file.
79871         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79872         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79873         Require gl_CLOCK_TIME.
79874         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79875
79876 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79877
79878         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79879         not bool, to be more consistent with Unix conventions.
79880         Suggested by Bruno Haible.
79881
79882         Merge from coreutils.
79883
79884         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79885         * lib/umaxtostr.c: New files.
79886
79887         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79888         the usual <time.h> dance.
79889         (get_date): Change signature to support fractional time stamps.
79890         All callers changed.
79891         * lib/getdate.y: Include "getdate.h" first, as we can now
79892         assume C89 and don't need to worry about 'const'.
79893         Similarly, include "unlocked-io.h" near start, not in middle.
79894         Include <limits.h>.
79895         (textint.value): Use long int rather than int.
79896         (textint.digits): Use size_t rather than int.
79897         (BILLION, LOG10_BILLION): New constants.
79898         (parser_control): New member rel_ns.  Members day_ordinal,
79899         time_zone, month, day, hour, minutes, rel_year, rel_month,
79900         rel_day, rel_hour, rel_minutes, rel_seconds
79901         are now long int, not int.  Member seconds is now struct timespec,
79902         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79903         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79904         not int.
79905         (%union.intval): Now long int, not int.
79906         New member timespec.
79907         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79908         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79909         (spec): Now is a timespec or an item list.
79910         (timespec, items): New nonterminals.
79911         (time, rel, relunit, number, get_date):
79912         Add support for fractional seconds.
79913         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79914         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79915         (to_hour): First arg is now long int, not int.
79916         (to_year): Returns long int, not int.
79917         Don't treat year -70 like 70.
79918         (tm_diff): Returns long int, not int.
79919         (lookup_word): Use bool instead of int when appropriate.
79920         (yylex): Use size_t for count, not int.
79921         Detect overflow when parsing large integer constants.
79922         Add support for fractions.
79923         (get_date): Make pointers 'const' if possible.
79924         Use more-portable code to detect integer overflow.
79925         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79926         Don't use ctime; it's not reliable if the year has >4 digits.
79927
79928         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
79929         This is for compatibility with BSD.
79930
79931         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
79932         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
79933         From coreutils' system.h.
79934
79935         * lib/userspec.c: Don't include "posixver.h".
79936         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
79937         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
79938         compatible extension.  Simplify code by removing a boolean int
79939         that was always nonzero if a string was nonnull.
79940
79941 2004-03-30  Jim Meyering  <jim@meyering.net>
79942
79943         Merge from coreutils.
79944
79945         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
79946         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
79947         on some systems one must include <grp.h> before it.
79948         Reported by Christian Krackowizer.
79949
79950 2004-03-30  Jim Meyering  <jim@meyering.net>
79951
79952         Merge from coreutils.
79953
79954         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
79955
79956         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
79957         an empty input stream.
79958
79959         * lib/readtokens.c: Include <stdbool.h>.
79960         (readtoken): Use `size_t' rather than int/long.
79961         All callers adjusted.
79962         Use `bool' rather than `int' where appropriate.
79963         Use memset rather than an explicit loop.
79964         Use x2nrealloc rather than xrealloc.
79965         Allow the use of `\0' as a delimiter.
79966         (readtokens): Likewise.
79967         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
79968
79969 2004-03-30  Jim Meyering  <jim@meyering.net>
79970
79971         * m4/realloc.m4: Remove file, since now it does no more than
79972         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
79973         the `configure.ac' section of module/realloc.
79974         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
79975
79976 2004-03-30  Bruno Haible  <bruno@clisp.org>
79977
79978         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
79979         nonnull.
79980
79981 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79982
79983         Merge changes to getloadavg.c from coreutils and Emacs.
79984
79985         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
79986         Define to an expression, not to the empty string.
79987         Include cloexec.h and xalloc.h.
79988         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
79989         Use set_cloexec_flag rather than rolling our own.
79990         * lib/cloexec.c, lib/cloexec.h: New files.
79991
79992 2004-03-29  Paul Eggert  <eggert@twinsun.com>
79993
79994         * m4/cloexec.m4: New file.
79995
79996 2004-03-18  Paul Eggert  <eggert@twinsun.com>
79997
79998         * lib/getopt.h: Sync with libc CVS.
79999
80000 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80001             Bruno Haible  <bruno@clisp.org>
80002
80003         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80004         mbswidth.
80005
80006 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80007             Bruno Haible  <bruno@clisp.org>
80008
80009         * lib/mbswidth.h: Include <wchar.h> only if
80010         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80011         <wchar.h>.
80012         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80013
80014 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80015
80016         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80017         Sync with libc CVS.
80018         * lib/getopt_int.h: New file, also synced from libc.
80019
80020 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80021
80022         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80023         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80024         Bring back getopt.c, getopt.h, getopt1.c.
80025
80026 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80027
80028         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80029         All uses changed.  Check for sa_sigaction member; this fixes
80030         a bug first reported by Jason Andrade in
80031         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80032
80033 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80034
80035         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80036         '#if' expressions.  Unlike the code it replaces, it does not
80037         depend on (defined _SC_PAGESIZE).  However, it does depend on
80038         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80039         first reported by Jason Andrade in
80040         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80041
80042 2004-02-25  Simon Josefsson  <jas@extundo.com>
80043
80044         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80045
80046 2004-02-25  Simon Josefsson  <jas@extundo.com>
80047
80048         * lib/strdup.h: New file.
80049         * lib/strdup.c: Include it.
80050         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80051         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80052
80053 2004-02-23  Karl Berry  <karl@gnu.org>
80054
80055         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80056         (from fencepost.gnu.org:/gd/gnuorg).
80057
80058 2004-02-23  Karl Berry  <karl@gnu.org>
80059
80060         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80061         * config/srclist.txt: add maintain/standards documents.
80062
80063 2004-02-18  Bruno Haible  <bruno@clisp.org>
80064
80065         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80066         Reported by Derek Robert Price <derek@ximbiot.com>.
80067
80068 2004-02-16  Karl Berry  <karl@gnu.org>
80069
80070         * config/mkinstalldirs, install-sh: update from automake.
80071
80072 2004-02-06  Karl Berry  <karl@gnu.org>
80073
80074         * m4/po.m4: update from gettext 0.14.1.
80075
80076 2004-02-06  Karl Berry  <karl@gnu.org>
80077
80078         * lib/config.charset: update from gettext 0.14.1.
80079
80080 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80081
80082         Add comments and code, prompted by suggestions from Bruno Haible
80083         for sh-quote.
80084         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80085         describing the enum quoting_style values.
80086         * lib/quotearg.c (quotearg_alloc): New function.
80087         (quotearg_buffer_restyled): Treat lone { and } as special.
80088         Treat = as special.  Work around bug with older shells
80089         that "see" a '\' that is really the 2nd byte of a multibyte char.
80090         Quote empty string with shell_quoting_style.
80091
80092 2004-02-03  Bruno Haible  <bruno@clisp.org>
80093
80094         * m4/pipe.m4: New file, from GNU gettext.
80095
80096 2004-02-03  Bruno Haible  <bruno@clisp.org>
80097
80098         * lib/pipe.h: New file, from GNU gettext.
80099         * lib/pipe.c: New file, from GNU gettext.
80100
80101 2004-01-27  Bruno Haible  <bruno@clisp.org>
80102
80103         * m4/execute.m4: New file, from GNU gettext.
80104
80105 2004-01-27  Bruno Haible  <bruno@clisp.org>
80106
80107         * lib/execute.h: New file, from GNU gettext.
80108         * lib/execute.c: New file, from GNU gettext.
80109         * lib/w32spawn.h: New file, from GNU gettext.
80110
80111 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80112
80113         Merge from diffutils.
80114
80115         * lib/file-type.c (file_type): Add typed memory objects.
80116         * lib/file-type.h (S_TYPEISTMO): New macro.
80117
80118         * lib/c-stack.h (c_stack_action): Remove argv argument.
80119         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80120         (die): Don't calculate message unless segv_action returns.
80121         (get_stack_location, min_address_from_argv, max_address_from_argv,
80122         volatile stack_base, volatile_stack_size): Remove.
80123         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80124         that every segmentation violation is a stack overflow.  (Ouch!)
80125         See Debian bug 136249 (still outstanding) for more info about why
80126         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80127
80128 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80129
80130         Exit-status fix from coreutils.
80131
80132         Use exit_failure consistently in place of EXIT_FAILURE,
80133         so that program exit statuses are consistent on failure.
80134
80135         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80136         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80137         * lib/argmatch.h: Comment fix to match the above.
80138         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80139         Now a macro referring to exit_failure, instead of a separate
80140         variable.  Include "exitfail.h" to get it.
80141         * lib/xstrtol.h: Include "exitfail.h".
80142         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80143
80144         * lib/long-options.c (parse_long_options): Use prototype
80145         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80146         for clarity.
80147
80148 2004-01-21  Jim Meyering  <jim@meyering.net>
80149
80150         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80151         so as not to conflict with a different-sized __mktime_internal
80152         function in GNU libc.
80153         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80154         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80155
80156 2004-01-20  Karl Berry  <karl@gnu.org>
80157
80158         * config/config.guess: update from config.
80159
80160         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80161
80162 2004-01-20  Bruno Haible  <bruno@clisp.org>
80163
80164         Safer stack allocation.
80165         * lib/setenv.c: Include allocsa.h.
80166         (alloca): Remove fallback definition.
80167         (freea): Remove macro.
80168         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80169         instead of freea.
80170
80171 2004-01-20  Bruno Haible  <bruno@clisp.org>
80172
80173         * m4/eealloc.m4: New file, from GNU gettext.
80174
80175 2004-01-20  Bruno Haible  <bruno@clisp.org>
80176
80177         * m4/allocsa.m4: New file, from GNU gettext.
80178
80179 2004-01-20  Bruno Haible  <bruno@clisp.org>
80180
80181         * lib/xallocsa.h: New file, from GNU gettext.
80182         * lib/xallocsa.c: New file, from GNU gettext.
80183
80184 2004-01-20  Bruno Haible  <bruno@clisp.org>
80185
80186         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80187
80188 2004-01-20  Bruno Haible  <bruno@clisp.org>
80189
80190         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80191         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80192         specially.
80193
80194 2004-01-20  Bruno Haible  <bruno@clisp.org>
80195
80196         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80197         patch.
80198
80199 2004-01-20  Bruno Haible  <bruno@clisp.org>
80200
80201         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80202
80203 2004-01-20  Bruno Haible  <bruno@clisp.org>
80204
80205         * lib/eealloc.h: New file.
80206
80207 2004-01-20  Bruno Haible  <bruno@clisp.org>
80208
80209         * lib/binary-io.h: Avoid warnings on Cygwin.
80210
80211 2004-01-20  Bruno Haible  <bruno@clisp.org>
80212
80213         * lib/allocsa.h: New file, from GNU gettext.
80214         * lib/allocsa.c: New file, from GNU gettext.
80215
80216 2004-01-18  Karl Berry  <karl@gnu.org>
80217
80218         * doc/gpl.texi, doc/lgpl.texi: new files.
80219
80220 2004-01-18  Karl Berry  <karl@gnu.org>
80221
80222         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80223         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80224
80225 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80226
80227         Merge from coreutils.
80228
80229         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80230         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80231         (gl_DEFAULT_POSIX2_VERSION): Move
80232         the documentation from 'configure' into 'config.hin',
80233         so that 'configure --help' isn't burdened by it and
80234         we don't have to worry about its formatting there.
80235         Reword the documentation so that it's more succinct
80236         and can be run together into a single paragraph.
80237         * m4/same.m4 (gl_SAME): Check for pathconf.
80238
80239 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80240
80241         Merge from coreutils.
80242
80243         * lib/posixver.c: Include posixver.h.
80244
80245         * lib/same.c: Include <stdbool.h>, <limits.h>.
80246         (_POSIX_NAME_MAX): Define if not defined.
80247         (MIN): New macro.
80248         (same_name): If file names are silently truncated, report
80249         that the file names are the same if they are the same after
80250         the silent truncation.
80251
80252         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80253         conversion function.
80254         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80255         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80256         longer needed.
80257
80258 2004-01-15  Jim Meyering  <jim@meyering.net>
80259
80260         Merge from coreutils.
80261
80262         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80263         if no library is required.
80264         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80265         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80266         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80267         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80268         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80269         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80270         value, $ac_cv_search_crypt, if it's "none required".
80271         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80272         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80273         not gl_FUNC_GETLOADAVG.
80274         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80275         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80276
80277 2004-01-15  Jim Meyering  <jim@meyering.net>
80278
80279         Merge from coreutils.
80280
80281         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80282         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80283         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80284
80285         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80286         optional configure-time default.
80287
80288         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80289
80290         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80291
80292 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80293
80294         Merge from coreutils.
80295
80296         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80297         value, $ac_cv_search_nanosleep, if it's "none required".
80298
80299 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80300
80301         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80302         with like-named macro in fnmatch.c.
80303         (EXT): Use an internal constant instead.
80304
80305         Merge fnmatch patches from glibc.
80306         * lib/fnmatch.c (mbsinit): Remove define.
80307         Add libc_hidden_ver (__fnmatch, fnmatch).
80308         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80309         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80310
80311 2004-01-14  Karl Berry  <karl@gnu.org>
80312
80313         * config/install-sh: update from automake.
80314
80315 2004-01-13  Karl Berry  <karl@gnu.org>
80316
80317         * config/install-sh: update from automake.
80318
80319 2004-01-09  Karl Berry  <karl@gnu.org>
80320
80321         * config/install-sh: update from automake.
80322
80323 2004-01-05  Karl Berry  <karl@gnu.org>
80324
80325         * config/config.{sub,guess}: update from config.
80326
80327 2003-12-31  Karl Berry  <karl@gnu.org>
80328
80329         * config/depcomp: update from automake.
80330
80331 2003-12-14  Karl Berry  <karl@gnu.org>
80332
80333         * lib/config.charset: update from gettext-runtime.
80334
80335 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80336
80337         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80338         Bug reported by Alfred M. Szmidt.
80339
80340 2003-12-03  Bruno Haible  <bruno@clisp.org>
80341
80342         * m4/gettext.m4: Upgrade from gettext-0.13.
80343         * m4/po.m4: Upgrade from gettext-0.13.
80344         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80345         * m4/intmax.m4: New file, from gettext-0.13.
80346         * m4/printf-posix.m4: New file, from gettext-0.13.
80347
80348 2003-11-29  Karl Berry  <karl@gnu.org>
80349
80350         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80351
80352 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80353             Bruno Haible  <bruno@clisp.org>
80354
80355         * lib/printf-parse.h: Don't include sys/types.h.
80356         (ARG_NONE): New macro.
80357         (char_directive): Change type of *arg_index fields to size_t.
80358         * lib/printf-parse.c: Don't include sys/types.h.
80359         (SSIZE_MAX): Remove macro.
80360         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80361         Remove unnecessary overflow check.
80362         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80363         fields.
80364
80365 2003-11-25  Bruno Haible  <bruno@clisp.org>
80366
80367         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80368
80369 2003-11-25  Bruno Haible  <bruno@clisp.org>
80370
80371         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80372         gt_TYPE_SSIZE_T.
80373
80374 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80375
80376         * modules/alloca: Remove dependency on xalloc.
80377
80378 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80379
80380         * lib/alloca.c: Remove dependency on xalloc module.
80381         (xalloc_die): Remove.
80382         (memory_full) [!defined emacs]: New macro.
80383         [!defined emacs]: Don't include xalloc.h.
80384         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80385         address arithmetic overflows.  Change datatypes a bit to avoid
80386         unnecessary casts.
80387
80388 2003-11-22  Jim Meyering  <jim@meyering.net>
80389
80390         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80391         s/size/size_t/.
80392
80393 2003-11-21  Karl Berry  <karl@gnu.org>
80394
80395         * config/config.{sub,guess}: update from config.
80396
80397 2003-11-18  Karl Berry  <karl@gnu.org>
80398
80399         * config/config.{sub,guess}: update from config.
80400
80401         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80402
80403 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80404
80405         * README: Mention that S+T cannot overflow if S is the size of
80406         an existing object and T is sufficiently small.
80407
80408 2003-11-17  Jim Meyering  <jim@meyering.net>
80409
80410         On systems without utime and without a utimes function capable of
80411         dealing with a NULL struct utimbuf* argument, this utime replacement
80412         could -- in unusual circumstances -- leak a file descriptor.
80413         * lib/utime.c: Include <unistd.h> and <errno.h>.
80414         (utime_null): Be sure to close `fd' and to preserve errno.
80415         Reported by Geoff Collyer via Arnold Robbins.
80416
80417 2003-11-17  Bruno Haible  <bruno@clisp.org>
80418
80419         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80420         (Depends-on): Add xsize.
80421
80422 2003-11-17  Bruno Haible  <bruno@clisp.org>
80423
80424         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80425
80426 2003-11-17  Bruno Haible  <bruno@clisp.org>
80427
80428         * lib/vasnprintf.c (alloca): Remove fallback definition.
80429         (freea): Remove definition.
80430         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80431         Reported by Paul Eggert.
80432
80433 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80434             Bruno Haible  <bruno@clisp.org>
80435
80436         Protect against address arithmetic overflow.
80437         * lib/printf-args.h: Include stddef.h.
80438         (arguments): Change type of field 'count' to size_t.
80439         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80440         'unsigned int' where appropriate.
80441         * lib/printf-parse.h: Include sys/types.h.
80442         (char_directive): Change type of *arg_index fields to ssize_t.
80443         (char_directives): Change type of fields 'count', max_*_length to
80444         size_t.
80445         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80446         (SSIZE_MAX): Define fallback value.
80447         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80448         instead of 'int' where appropriate. Check a_allocated, d_allocated
80449         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80450         * lib/vasnprintf.c: Include xsize.h.
80451         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80452         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80453         overflow. Avoid wraparound when converting a width or precision from
80454         decimal to binary.
80455
80456 2003-11-16  Bruno Haible  <bruno@clisp.org>
80457
80458         Update from GNU gettext.
80459         * lib/printf-parse.c: Generalize to it can be compiled for wide
80460         strings.
80461         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80462         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80463         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80464         SNPRINTF): New macros.
80465         Don't include <alloca.h> if the file is used inside libintl.
80466         (local_wcslen): New function, for Solaris 2.5.1.
80467         (VASNPRINTF): Use it instead of wcslen.
80468
80469 2003-11-16  Bruno Haible  <bruno@clisp.org>
80470
80471         * lib/xsize.h (xmax): New function.
80472         (xsum, xsum3, xsum4): Declare as "pure" functions.
80473
80474 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80475
80476         * modules/xalloc (Files): Undo latest change, since xalloc.h
80477         no longer needs SIZE_MAX or PTRDIFF_MAX.
80478
80479 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80480
80481         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80482         gl_PTRDIFF_MAX.
80483
80484 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80485
80486         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80487         "return", to pacify some unknown compiler.  Problem reported
80488         by Joerg Schilling.
80489
80490 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80491
80492         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80493         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80494         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80495         heuristic is just as accurate as far as we know, and it removes a
80496         dependency on size_max.m4 and ptrdiff_max.m4.
80497
80498 2003-11-11  Bruno Haible  <bruno@clisp.org>
80499
80500         * modules/xsize (Files): Add m4/size_max.m4.
80501         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80502
80503 2003-11-11  Bruno Haible  <bruno@clisp.org>
80504
80505         * m4/size_max.m4: New file.
80506         * m4/ptrdiff_max.m4: New file.
80507         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80508         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80509         (gl_XALLOC): Invoke it.
80510
80511 2003-11-11  Bruno Haible  <bruno@clisp.org>
80512
80513         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80514         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80515         defined.
80516
80517 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80518
80519         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80520         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80521         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80522         From Bruno Haible.
80523         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80524         not (size_t) -1, since it's defined here.
80525
80526 2003-11-09  Karl Berry  <karl@gnu.org>
80527
80528         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80529
80530 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80531
80532         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80533         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80534         Reject sizes of exactly SIZE_MAX bytes.
80535         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80536         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80537
80538 2003-11-05  Bruno Haible  <bruno@clisp.org>
80539
80540         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80541         SIZE_MAX defined in <limits.h> on Solaris.
80542
80543 2003-11-04  Jim Meyering  <jim@meyering.net>
80544
80545         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80546         variable names, rather than @VAR@.
80547         * modules/poll: Likewise.
80548
80549 2003-11-04  Bruno Haible  <bruno@clisp.org>
80550
80551         * modules/xsize: New file.
80552         * modules/linebreak: Depend on xsize.
80553         * MODULES.html.sh (func_all_modules): Add xsize.
80554
80555 2003-11-04  Bruno Haible  <bruno@clisp.org>
80556
80557         * m4/xsize.m4: New file.
80558
80559 2003-11-04  Bruno Haible  <bruno@clisp.org>
80560
80561         * lib/xsize.h: New file.
80562         * lib/linebreak.c: Include xsize.h.
80563         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80564         argument for overflow.
80565         Suggested by Paul Eggert.
80566
80567 2003-11-03  Karl Berry  <karl@gnu.org>
80568
80569         * config/config.{guess,sub}: update from config.
80570
80571 2003-11-03  Jim Meyering  <jim@meyering.net>
80572
80573         * modules/userspec (lib_SOURCES): Add userspec.h.
80574         (Include): Add "userspec.h".
80575         Improve description.
80576
80577 2003-11-03  Jim Meyering  <jim@meyering.net>
80578
80579         * lib/userspec.c: Include "userspec.h".
80580         * lib/userspec.h: New file.
80581
80582 2003-11-03  Bruno Haible  <bruno@clisp.org>
80583
80584         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80585
80586 2003-11-03  Bruno Haible  <bruno@clisp.org>
80587
80588         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80589         available, to avoid (extremely rare) race condition.
80590         Suggested by Paul Eggert.
80591
80592 2003-11-02  Karl Berry  <karl@gnu.org>
80593
80594         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80595
80596 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80597
80598         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80599         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80600         (read_filesystem_list): Set and use me_type_malloced.
80601         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80602         whatever the type happens to be), for brevity and consistency.
80603         Check for size calculation overflow on Alphas running OSF/1.
80604
80605 2003-10-31  Jim Meyering  <jim@meyering.net>
80606
80607         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80608
80609         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80610
80611 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80612             Bruno Haible  <bruno@clisp.org>
80613
80614         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80615         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80616
80617 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80618
80619         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80620         netbsd*-gnu*.  Suggested by Robert Millan.
80621
80622 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80623
80624         * modules/group-member: Depend on stdbool.
80625
80626 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80627
80628         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80629
80630 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80631
80632         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80633         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80634         after the 'gnu' in these cases.  This fixes some bugs in the
80635         previous change, and is based on suggestions by Robert Millan.
80636
80637 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80638
80639         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80640         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80641         no longer needed.
80642         * lib/quotearg.c (quotearg_n_options): Use it.
80643         * lib/group-member.c: Include <stdbool.h>.
80644         (free_group_info): Arg is now const *; don't free arg.
80645         (get_group_info): Now returns bool and accepts struct group_info *,
80646         rather than returning a malloc'ed struct group_info *.
80647         All uses changed.  Check for overflow in internal size calculation.
80648
80649         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80650         rather than xmalloc/xrealloc.
80651         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80652         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80653         conformance bug: the old code used a pointer after freeing the
80654         storage that it addressed.
80655         * lib/hash.c (hash_initialize): Simplify the code by using
80656         xalloc_oversized rather than doing it by hand.
80657         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80658         the buffer preserved.  Use free and xmalloc instead.
80659         * lib/quotearg.c (quotearg_n_options): Likewise.
80660         Use a simpler test for size overflow.  Don't use xalloc_oversized
80661         because unsigned int might be wider than size_t (!); this suggests
80662         that we should switch from unsigned int to size_t for slot numbers.
80663
80664 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80665
80666         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80667         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80668         NetBSD kernels.  Requested by Richard Stallman.
80669
80670 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80671
80672         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80673         to allocate the returned structure.  Do not allocate a subarray,
80674         as x2nrealloc will do that.
80675         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80676         instead of xnrealloc.
80677         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80678
80679 2003-10-27  Bruno Haible  <bruno@clisp.org>
80680
80681         * lib/stdbool_.h: Better support for BeOS.
80682
80683 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80684
80685         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80686         now uses inline.
80687
80688 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80689
80690         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80691         callers that want to do their own size-overflow checking.  Include
80692         <stdbool.h>, since xalloc_oversized returns bool.
80693         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80694         to use xalloc_oversized.
80695
80696         Add two functions x2realloc, x2nrealloc, for programs that grow
80697         arrays dynamically by doubling their sizes.
80698         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80699         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80700         New functions.
80701
80702         Port to C99 semantics for 'inline' of external functions.
80703         Bug reported by Bruno Haible.
80704         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80705         with the old contents of xnmalloc.
80706         (xnmalloc, xmalloc): Use it.
80707         (xnrealloc_inline): New static inline function,
80708         with the old contents of xnrealloc.
80709         (xnrealloc, xrealloc): Use it.
80710
80711         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80712         that.
80713
80714 2003-10-26  Karl Berry  <karl@gnu.org>
80715
80716         * config/srclist.txt (COPYING.DOC): no longer available from
80717         /gd/gnuorg; don't know where the ultimate source is.
80718
80719 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80720
80721         Fix several address-calculation bugs in the hash modules,
80722         plus some minor code cleanup.
80723
80724         * lib/hash.h: Include <stdbool.h>, for bool.
80725         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80726         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80727         hash_get_n_entries, hash_get_max_bucket_length,
80728         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80729         hash_rehash): Use size_t rather than unsigned.
80730         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80731         hash_get_n_buckets_used, hash_get_n_entries,
80732         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80733         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80734         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80735         Likewise.
80736         (SIZE_MAX): Define if not defined.
80737         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80738         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80739         hash_print):
80740         Use const * when possible.
80741         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80742         (check_tuning): Fix bug: if tuning parameters were very close to
80743         0 or 1, rounding errors could have caused subscript violations.
80744         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80745         (hash_initialize): Add 'fail:' label
80746         to free table and return NULL, and use it to simplify code.
80747         Use calloc rather than clearing the storage ourself.
80748         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80749         buffer size calculations.
80750         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80751         Include <stddef.h>, for size_t.
80752         * lib/hash-pjw.c (hash_pjw): Likewise.
80753         Switch to method described by Bruno Haible.
80754         Include <limits.h>, for CHAR_BIT.
80755         (SIZE_BITS): New macro.
80756
80757 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80758
80759         * m4/getline.m4 (AM_FUNC_GETLINE):
80760         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80761         hosts.  Problem reported by Derek Robert Price in
80762         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80763         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80764         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80765
80766 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80767
80768         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80769         ceiling the allocation at NMAX bytes rather than silently
80770         discarding input bytes before NMAX is reached.  This makes
80771         a difference only if NMAX exceeds SIZE_MAX / 2.
80772
80773         * lib/obstack.c: Merge from glibc.
80774         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80775         Add libc_hidden_def (_obstack_newchunk).
80776         (_obstack_free) [! defined _LIBC]: Remove.
80777         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80778         a clone of the function body.
80779         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80780         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80781
80782         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80783         glibc.
80784         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80785         arg to memcpy.
80786
80787         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80788         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80789         Don't use lvalue casts, as GCC plans to remove support for them
80790         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80791         was also present in the non-GCC version, indicating that this
80792         code had always been buggy and had never been widely used.
80793         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80794         Use the fast variant of each macro, rather than copying the
80795         definiens of the fast variant; that way, we'll be more likely to
80796         catch future bugs in the fast variants.
80797
80798 2003-10-20  Bruno Haible  <bruno@clisp.org>
80799
80800         * modules/wait-process: New file.
80801         * MODULES.html.sh (func_all_modules): Add wait-process.
80802
80803 2003-10-20  Bruno Haible  <bruno@clisp.org>
80804
80805         * m4/wait-process.m4: New file.
80806
80807 2003-10-20  Bruno Haible  <bruno@clisp.org>
80808
80809         * lib/wait-process.h: New file, from GNU gettext.
80810         * lib/wait-process.c: New file, from GNU gettext.
80811
80812 2003-10-19  Jim Meyering  <jim@meyering.net>
80813
80814         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80815         HPUX 10.20.
80816
80817 2003-10-18  Karl Berry  <karl@gnu.org>
80818
80819         * config/config.guess: update from config.
80820
80821 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80822
80823         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80824         (getgroups): First arg is int, not size_t.
80825         Don't let 'free' mangle errno.
80826
80827 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80828
80829         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80830
80831 2003-10-16  Karl Berry  <karl@gnu.org>
80832
80833         * config/config.{guess,sub}: update from config.
80834
80835 2003-10-16  Jim Meyering  <jim@meyering.net>
80836
80837         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80838         memcpy.
80839
80840 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80841
80842         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80843         (SIZE_MAX): Remove.
80844         (new_exclude, add_exclude_file): Initial size no longer needs to
80845         be a power of 2.
80846         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80847         our own address arithmetic overflow checking.
80848
80849         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80850         (fnmatch): Do not alloca more than 2000 wide characters;
80851         instead, use malloc for large buffers.
80852         Check for address arithmetic overflow, and return -1
80853         with errno set to ENOMEM in that case.
80854         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80855         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80856         instead, return -1.  Check for address arithmetic overflow.
80857
80858 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80859
80860         Handle invalid suffixes and overflow independently, so that
80861         callers can treat them independently as needed.  Fix some bugs in
80862         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80863         suffix for a human-readable blocksize.  The major caller-visible
80864         change is the addition of a new
80865         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80866         that both overflow and suffix chars were found.
80867
80868         * lib/human.c (humblock): Don't check separately for invalid suffix
80869         char; that is xstrtoumax's job (now that its bug is fixed).
80870         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80871         INTMAX_MAX]: New macros.
80872         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80873         TYPE_MAXIMUM): New macros.
80874         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80875         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80876         if overflow occurs, as it's what __strtol does and it's more useful
80877         in practice.
80878         (__xstrtol): If __strtol reports some error other than ERANGE,
80879         reflect it to the caller as LONGINT_INVALID.  If it reports
80880         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80881         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80882         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80883         value.
80884         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80885         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80886         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80887         [defined UINTMAX_MAX]: New macros.
80888
80889 2003-10-14  Bruno Haible  <bruno@clisp.org>
80890
80891         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80892
80893 2003-10-14  Bruno Haible  <bruno@clisp.org>
80894
80895         * m4/sig_atomic_t: New file, from GNU gettext.
80896         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80897
80898 2003-10-14  Bruno Haible  <bruno@clisp.org>
80899
80900         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80901         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80902         Also use volatile where needed.
80903
80904 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80905
80906         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80907         Change maintainer from Bruno Haible to 'all'.
80908
80909 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80910
80911         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80912
80913 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80914
80915         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80916         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80917         and define in terms of the other primitives.
80918         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80919         (SIZE_MAX): Define if not already defined.
80920         (array_size_overflow): New function.
80921         (xalloc_die): Abort instead of exiting if 'error' returns.
80922         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80923         (xmalloc, xrealloc): Use them.
80924         (xcalloc): Check for address arithmetic overflow.
80925         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80926         a bit faster than strcpy.
80927
80928 2003-10-10  Simon Josefsson  <jas@extundo.com>
80929
80930         * modules/argp (Depends-on): Add restrict and strcase.
80931
80932 2003-10-10  Simon Josefsson  <jas@extundo.com>
80933
80934         * m4/argp.m4: Add AC_C_INLINE.
80935
80936 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80937
80938         Merge getpass from libc, plus a few fixes.
80939
80940         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
80941         Include <stdbool.h>.
80942         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
80943         __fsetlocking to empty.
80944         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
80945         do include <bits/libc-lock.h>.
80946         Do not include <fcntl.h>; not needed.
80947         [_LIBC]: Include <wchar.h>.
80948         (NOTCANCEL_MODE): New macro.
80949         (flockfile, funlockfile) [_LIBC]: New macros.
80950         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
80951         [!_LIBC]: New macros.
80952         (call_fclose): New function.
80953         (getpass): Use it.  Save tty stream separately; this simplifies the
80954         code and makes it more reliable if stdin happens to equal stdout.
80955         Invoke __fsetlocking on tty.
80956         Handle thread cancellation if needed.
80957         Namespace cleanup (use __tcgetattr, __getline).
80958         Use bool for Booleans.
80959         [USE_IN_LIBIO]: Handle wide streams.
80960         [!_LIBC]: Unconditionally do the fseek, since we don't know what
80961         stream might go where.
80962
80963         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
80964         doesn't have to include <stdio.h> before us.
80965         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
80966         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
80967         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
80968         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
80969         if not declared, so that we can use getpass.c code from libc without
80970         rewriting it.
80971         (flockfile, ftrylockfile, funlockfile): New macros.
80972
80973 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80974
80975         * modules/getpass: Depend on stdbool.
80976
80977 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80978
80979         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
80980
80981 2003-10-07  Karl Berry  <karl@gnu.org>
80982
80983         * config/config.{guess,sub}: update from config.
80984
80985 2003-10-06  Jim Meyering  <jim@meyering.net>
80986             Bruno Haible  <bruno@clisp.org>
80987
80988         This lets translators provide better translations for the
80989         "Written by ..." part of --version output.
80990         * lib/version-etc.h: Include stdarg.h.
80991         (version_etc_copyright): Declare as readonly.
80992         (version_etc): Make this function variadic with a NULL-terminated list
80993         of author name strings.
80994         (version_etc_va): New declaration.
80995         * lib/version-etc.c: Include stdarg.h, stdlib.h.
80996         (version_etc_copyright): Declare as readonly.
80997         (version_etc_va): New function. Provide a different translatable string
80998         for each possible number of authors < 10. Abbreviate when there are 10
80999         authors or more.
81000         (version_etc): Make this function variadic. Call version_etc_va.
81001         Suggestion from Gary V. Vaughan.
81002
81003         * lib/long-options.h (parse_long_options): Change prototype: the
81004         authors string is moved to the end and becomes variadic.
81005         * lib/long-options.c: Include stdarg.h.
81006         (parse_long_options): Make this function variadic, too.
81007         Call version_etc_va, not version_etc.
81008
81009 2003-10-06  Bruno Haible  <bruno@clisp.org>
81010
81011         * modules/version-etc-2: Remove file.
81012         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81013
81014 2003-10-06  Bruno Haible  <bruno@clisp.org>
81015
81016         * modules/fatal-signal: New file.
81017         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81018
81019 2003-10-06  Bruno Haible  <bruno@clisp.org>
81020
81021         * m4/fatal-signal.m4: New file.
81022         * m4/signalblocking.m4: New file, from GNU gettext.
81023
81024 2003-10-06  Bruno Haible  <bruno@clisp.org>
81025
81026         * lib/version-etc-2.h: Remove file.
81027         * lib/version-etc-2.c: Remove file.
81028
81029 2003-10-06  Bruno Haible  <bruno@clisp.org>
81030
81031         * lib/fatal-signal.h: New file, from GNU gettext.
81032         * lib/fatal-signal.c: New file, from GNU gettext.
81033
81034 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81035
81036         * README: Rework advice for preventing empty .o files.
81037         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81038         not <sys/types.h>.
81039
81040 2003-10-04  Karl Berry  <karl@gnu.org>
81041
81042         * lib/argp*: update from libc.
81043
81044 2003-10-04  Karl Berry  <karl@gnu.org>
81045
81046         * config/config.{guess,sub}: update from config.
81047
81048 2003-10-02  Bruno Haible  <bruno@clisp.org>
81049
81050         * modules/lchown (Include): Add lchown.h.
81051         * modules/time_r (Include): Use "..." syntax.
81052         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81053
81054 2003-10-01  Simon Josefsson  <jas@extundo.com>
81055
81056         * MODULES.html.sh (func_all_modules): Move gethostname from section
81057         'based on' to section 'lacking' POSIX:2001.
81058
81059 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81060
81061         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81062         to output mode on the same stream.
81063
81064 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81065
81066         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81067         Fix arg typo in previous patch.
81068
81069 2003-09-28  Jim Meyering  <jim@meyering.net>
81070
81071         * lib/error.c: Correct cpp indentation.
81072
81073 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81074
81075         * modules/free: New file.
81076
81077 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81078
81079         * m4/free.m4: New file.
81080
81081 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81082
81083         * lib/minmax.h (MIN, MAX)
81084         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81085         Omit the special code that used __typeof__, since we worry that
81086         it could be more trouble than it's worth.  See:
81087         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81088         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81089
81090         * lib/free.c: New file.
81091
81092 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81093
81094         Trivial fixes to Makefile.am parts of module listings.
81095         * modules/strstr: Append strstr.h to lib_SOURCES.
81096         * modules/strcase: Likewise, for strcase.h.
81097
81098 2003-09-27  Karl Berry  <karl@gnu.org>
81099
81100         * config/mkinstalldirs: update from automake.
81101
81102 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81103
81104         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81105         (error_tail): Do not loop, reallocating temporary buffer, since
81106         the output cannot contain more wide characters than the input
81107         contains bytes, the size must be big enough already.  This avoids
81108         one potential size overflow calculation.  Check for size overflow
81109         when calculating temporary buffer size.  Free temporary buffer
81110         when done, if it was allocated with malloc; this plugs a memory
81111         leak.  Remove casts from void * to pointers, that are no longer
81112         needed now that we're assuming C89 or better.
81113
81114         Merge error changes from glibc.
81115
81116         * lib/error.c, error.h: Update copyright notice header to match glibc.
81117         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81118         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81119         Disable cancellation while printing error.
81120         * lib/error.h: Prepend __ to parameter names.
81121
81122 2003-09-26  Jim Meyering  <jim@meyering.net>
81123
81124         * lib/error.c (error_tail): Move some declarations
81125         into inner scope where the local variables are used.
81126
81127 2003-09-26  Bruno Haible  <bruno@clisp.org>
81128
81129         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81130         stpncpy().
81131         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81132
81133 2003-09-26  Bruno Haible  <bruno@clisp.org>
81134
81135         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81136         (stpncpy): Define as alias for gnu_stpncpy.
81137         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81138
81139 2003-09-25  Simon Josefsson  <jas@extundo.com>
81140
81141         * lib/xgetdomainname.h: New file.
81142         * lib/xgetdomainname.c: New file.
81143
81144 2003-09-25  Simon Josefsson  <jas@extundo.com>
81145             Bruno Haible  <bruno@clisp.org>
81146
81147         * modules/getdomainname: New file.
81148         * modules/xgetdomainname: New file.
81149         * MODULES.html.sh (func_all_modules): Add getdomainname,
81150         xgetdomainname.
81151
81152 2003-09-25  Simon Josefsson  <jas@extundo.com>
81153             Bruno Haible  <bruno@clisp.org>
81154
81155         * m4/getdomainname.m4: New file.
81156
81157 2003-09-25  Simon Josefsson  <jas@extundo.com>
81158             Bruno Haible  <bruno@clisp.org>
81159
81160         * lib/getdomainname.h: New file.
81161         * lib/getdomainname.c: New file.
81162
81163 2003-09-25  Karl Berry  <karl@gnu.org>
81164
81165         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81166
81167 2003-09-25  Karl Berry  <karl@gnu.org>
81168
81169         * config/install-sh: update from automake.
81170
81171 2003-09-25  Bruno Haible  <bruno@clisp.org>
81172
81173         * modules/version-etc-2: New file, from modules/version-etc with
81174         modifications.
81175         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81176
81177 2003-09-25  Bruno Haible  <bruno@clisp.org>
81178
81179         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81180         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81181
81182 2003-09-24  Simon Josefsson  <jas@extundo.com>
81183
81184         * modules/xgethostname: Add xgethostname.h.
81185
81186 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81187
81188         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81189         the buffer associated with the argument.  Bug reported by
81190         Simon Josefsson.
81191
81192 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81193
81194         * README: Document assumptions that 'int' is at least 32 bits
81195         wide, that integer arithmetic is 2's complement without overflow,
81196         that there are no holes in integer values, that adding sizes of
81197         two nonoverlapping objects can't overflow, and that all-bits-zero
81198         yields scalar zero.  Fix spelling and capitalization typos.
81199
81200 2003-09-19  Karl Berry  <karl@gnu.org>
81201
81202         * lib/argp.h: update from libc.
81203
81204 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81205
81206         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81207         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81208         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81209
81210 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81211
81212         * gnulib-tool: Use "test -h", not "test -L", for portability
81213         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81214         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81215         (sed_extract_prog): Issue s commands one-by-one, rather than
81216         using \| in one s command.
81217
81218 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81219
81220         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81221         input error, instead of returning NULL the next time we are called
81222         (and therefore losing track of errno).
81223
81224 2003-09-16  Bruno Haible  <bruno@clisp.org>
81225
81226         * gnulib-tool (func_create_testdir): Warn about duplicated
81227         dependencies.
81228
81229 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81230
81231         * modules/argmatch, modules/fatal, modules/obstack,
81232         modules/xalloc, modules/xgethostname: Sort dependencies by
81233         importance, not alphabetically.
81234
81235 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81236
81237         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81238         fails, so that the caller gets the proper errno.
81239
81240         * lib/readutmp.c (read_utmp): Likewise.
81241         Check for fstat error.  Close stream and free storage
81242         when failing.
81243
81244 2003-09-14  Karl Berry  <karl@gnu.org>
81245
81246         * config/srclist.txt (strdup.c): disable for c89 changes.
81247
81248 2003-09-14  Jim Meyering  <jim@meyering.net>
81249
81250         * lib/getloadavg.c: Correct cpp indentation.
81251         * lib/strdup.c: Likewise.
81252         * lib/vasnprintf.c: Likewise.
81253
81254 2003-09-14  Bruno Haible  <bruno@clisp.org>
81255
81256         * modules/fwriteerror: New file.
81257         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81258
81259 2003-09-14  Bruno Haible  <bruno@clisp.org>
81260
81261         * lib/fwriteerror.h: New file.
81262         * lib/fwriteerror.c: New file.
81263
81264 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81265
81266         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81267         modules/xgethostname, modules/xalloc: Depend on exit.
81268
81269 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81270
81271         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81272
81273         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81274         and AC_MINIX, too, so that their extensions are available.
81275
81276         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81277         This macro has been superseded by gl_BACKUPFILE.
81278
81279         More patches to assume C89 or better.
81280
81281         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81282
81283         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81284         unconditionally.
81285         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81286         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81287         Include <string.h>, <stdlib.h> unconditionally.
81288         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81289         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81290         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81291         headers or for string.h.
81292         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81293         or strtoul.
81294
81295         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81296         headers.
81297         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81298         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81299         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81300         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81301         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81302         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81303         memcpy, memset.
81304         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81305         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81306         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81307         strtol.
81308         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81309         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81310         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81311         strtoul.
81312
81313 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81314
81315         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81316         * lib/obstack.c [!defined _LIBC]: Likewise.
81317         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81318         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81319         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81320
81321         More changes to assume C89 or better.
81322
81323         * lib/error.c (error_tail): Assume vprintf.
81324
81325         * lib/argmatch.c (getenv): Remove decl.
81326         * lib/progreloc.c (get_full_program_name): Define via prototype.
81327         * lib/setenv.c (clearenv): Likewise.
81328         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81329         needed.
81330         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81331         (malloc, memcpy): Remove decls.
81332         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81333         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81334         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81335         (memcpy): Remove macro.
81336         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81337         (__P): Remove.  All uses removed.
81338         (PTR): Remove.  All uses changed to void *.
81339         (CHAR_BIT, NULL): Remove.
81340         (spaces, zeros, memset_space, memset_zero)
81341         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81342         Remove.
81343         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81344         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81345         Define with prototype.
81346         Remove now-unnecessary prototype decl.
81347         (extra_args_spec): Assume ANSI C.  All uses changed.
81348         (extra_args_spec_iso): Remove.
81349         (my_strftime, emacs_strftimeu): Define via prototype.
81350         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81351         unconditionally.
81352         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81353         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81354         (strtoul, strtol): Remove decls.
81355         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81356         LONG_MAX): Remove.
81357         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81358         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81359         (LOCALE_PARAM_PROTO): New macro.
81360         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81361         (INTERNAL (strtol), strtol): Define with a prototype.
81362         (PARAMS): Remove.  All uses removed.
81363         * lib/tempname.c: Include <string.h> unconditionally.
81364         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81365         * lib/xgethostname.c (main): Define with a prototype.
81366         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81367         Include <stdlib.h> unconditionally.
81368         (calloc, malloc, realloc, free): Remove decls.
81369         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81370         Include <stdlib.h> unconditionally.  Sort include file names.
81371         (strtod): Remove.
81372         (xstrtod): Define with a prototype.
81373         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81374         (strtol, strtoul): Remove decls.
81375
81376 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81377
81378         More patches to assume C89 or better.
81379         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81380         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81381         string.h, memchr, STDC_HEADERS.
81382
81383 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81384
81385         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81386         Include <stdlib.h>, <string.h> unconditionally.
81387         Remove now-unnecessary cast to char *.
81388         * lib/strnlen.c: Include <string.h> unconditionally.
81389         * lib/yesno.c (yesno): Define with a prototype.
81390
81391 2003-09-11  Bruno Haible  <bruno@clisp.org>
81392
81393         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81394
81395 2003-09-10  Jim Meyering  <jim@meyering.net>
81396
81397         * lib/error.c: Correct indentation of cpp directives.
81398
81399 2003-09-10  Bruno Haible  <bruno@clisp.org>
81400
81401         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81402         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81403         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81404         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81405         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81406         <stdlib.h> and <string.h> checks.
81407         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81408         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81409
81410 2003-09-10  Bruno Haible  <bruno@clisp.org>
81411
81412         * lib/strcspn.c: Include <string.h> unconditionally.
81413         * lib/strpbrk.c: Include <string.h> unconditionally.
81414         * lib/strstr.c: Include <string.h> unconditionally.
81415         * lib/unicodeio.c: Include <string.h> unconditionally.
81416         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81417         * lib/unsetenv.c: Likewise.
81418         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81419         * lib/yesno.c: Include <stdlib.h> unconditionally.
81420         (rpmatch): Add prototype.
81421
81422 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81423
81424         More patches to assume C89 or better.
81425         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81426         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81427         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81428         or for string.h.
81429         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81430         stdlib.h.
81431         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81432         C headers.
81433         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81434         string.h.
81435         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81436         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81437         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81438         or for string.h.
81439         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81440         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81441         C headers.
81442         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81443         memcpy.
81444         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81445         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81446         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81447         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81448         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81449         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81450         string.h, free.
81451         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81452         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81453         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81454         C headers, or for string.h.
81455         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81456         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81457         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81458         headers, memory.h, stdlib.h, string.h, strings.h.
81459         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81460         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81461         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81462         strchr.
81463         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81464         headers, memory.h, string.h.
81465         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81466         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81467         free.
81468         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81469         headers.
81470         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81471         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81472         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81473         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81474         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81475
81476 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81477
81478         More K&R removal.
81479
81480         * lib/acosl.c (main): Use a prototype.
81481         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81482         tanl.c: Likewise.
81483
81484         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81485
81486         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81487         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81488         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81489         with a prototype.
81490         * lib/getopt.c (const): Remove macro.
81491         Include <string.h> unconditionally.
81492         (my_index): Remove; all uses changed to strchr.
81493         (strlen): Remove decl.
81494         (exchange): Remove forward decl; no longer needed.
81495         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81496         Define with prototype.
81497         * lib/getopt1.c (const): Remove macro.
81498         (getopt_long, getopt_long_only, main): Define with prototype.
81499
81500         * lib/getugroups.c: Include <string.h> unconditionally.
81501
81502         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81503         (getusershell, setusershell, endusershell, readname, main):
81504         Define with prototypes.
81505
81506         * lib/group-member.c: Include group-member.h first.
81507         Include <stdlib.h> unconditionally.
81508
81509         * lib/hard-locale.c: Include hard-locale.h first.
81510         Include <stdlib.h>, <string.h> unconditionally.
81511
81512         * lib/hash.c (free, malloc): Remove decls.
81513         Include <stdlib.h> unconditionally.
81514
81515         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81516         (getenv): Do not declare.
81517
81518         * lib/idcache.c: Include <string.h> unconditionally.
81519
81520         * lib/long-options.c: Include long-options.h first, to test interface.
81521         Include <stdlib.h> unconditionally.
81522
81523         * lib/makepath.c: Include makepath.h first, to test interface.
81524         Include <stdlib.h> and <string.h> unconditionally.
81525
81526         * lib/linebuffer.c: Include <stdlib.h>.
81527         (free): Remove decl.
81528
81529         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81530         stddef.h. rpl_malloc returns void *, not char *.
81531         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81532         prototype.
81533
81534         * lib/md5.h: Include <limits.h> unconditionally.
81535         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81536         (__P): Remove; all uses removed.
81537         * lib/md5.c: Include "md5.h" first.
81538         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81539         md5_buffer, md5_process_bytes, md5_process_block):
81540         Define with prototypes.
81541         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81542         * lib/sha.c: Include "sha.h" first.
81543         Include <stdlib.h>, <string.h> unconditionally.
81544
81545         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81546         * lib/memcmp.c (__ptr_t): Likewise.
81547         * lib/memrchr.c (__ptr_t): Likewise.
81548         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81549         Include <string.h> unconditionally.
81550         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81551         * lib/memchr.c: Include <stdlib.h> unconditionally.
81552         * lib/memchr.c (LONG_MAX): Remove.
81553         * lib/memrchr.c (LONG_MAX): Likewise.
81554         * lib/memchr.c (__memchr): Define via a prototype.
81555         * lib/memrchr.c (__memrchr): Likewise.
81556         * lib/memcmp.c (__P): Remove, and remove all uses.
81557         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81558         Remove forward decls; no longer needed.
81559         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81560         Use types required by C89 in prototype.
81561
81562         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81563         * lib/savedir.c: Likewise.
81564         * lib/mkdir.c (free): Remove decl.
81565         * lib/rmdir.c (rmdir): Define with a prototype.
81566         * lib/savedir.c: Include savedir.h first, to test interface.
81567
81568         * lib/mktime.c (STDC_HEADERS): Remove.
81569         Include <stdlib.h>, <string.h> unconditionally.
81570
81571         * lib/modechange.c: Include <stdlib.h> unconditionally.
81572         (malloc): Remove decl.
81573
81574         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81575         (free): Remove decl.
81576
81577         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81578         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81579         (This type really should be intptr_t, but that's a C99ism.)
81580         (_obstack_memcpy): Remove: all uses changed to memcpy.
81581         Include <string.h> unconditionally.
81582         (struct obstack): Assume __STDC__ for types of members
81583         chunkfun, freefun, extra_arg.
81584         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81585         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81586         obstack_begin, obstack_specify_allocation,
81587         obstack_specify_allocation_with_arg, obstack_chunkfun,
81588         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81589         Remove unprototyped decls and the macros that use them.
81590         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81591         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81592         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81593         (defined __STDC__ && __STDC__)]:
81594         Remove nonprototyped code.
81595         Include <stdlib.h> unconditionally.
81596         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81597         _obstack_allocated_p, _obstack_free, obstack_free,
81598         _obstack_memory_used, print_and_abort):
81599         Define using prototypes.
81600         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81601         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81602         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81603         obstack_next_free, obstack_object_size, obstack_room) [0]:
81604         Remove unused, unprototyped code.
81605
81606         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81607
81608         * lib/physmem.c (physmem_total, physmem_available, main): Define
81609         with prototypes.
81610
81611         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81612         (main): Define with a prototype.
81613
81614         * lib/posixver.c (getenv): Remove decl.
81615
81616         * lib/putenv.c (malloc): Returns void *, not char *.
81617         Include <string.h> unconditionally.
81618         (strchr, memcpy, NULL): Do not define.
81619
81620         * lib/readtokens.c: Include readtokens.h first, to test interface.
81621         Include <stdlib.h>, <string.h> unconditionally.
81622         (init_tokenbuffer): Define with a prototype.
81623
81624         * lib/regex.c (PARAMS): Remove.  All uses removed.
81625         All uses of _RE_ARGS removed, too.
81626         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81627         unconditionally.
81628         (bzero): Assume memset exists.
81629         (memcmp, memcpy, NULL): Remove.
81630         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81631         char, or assignments to local vars of type signed char.
81632         (init_syntax_once, PREFIX(extract_number_and_incr),
81633         PREFIX(print_partial_compiled_pattern),
81634         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81635         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81636         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81637         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81638         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81639         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81640         wcs_compile_range, byte_compile_range, truncate_wchar,
81641         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81642         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81643         count_mbs_length, wcs_re_match_2_internal,
81644         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81645         PREFIX(alt_match_null_string_p),
81646         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81647         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81648         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81649         now-unnecessary declaration, if any.
81650         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81651         regcomp, regexec):
81652         Remove now-unnecessary casts among pointer types.
81653         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81654
81655         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81656         (free): Remove decl.
81657
81658         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81659
81660         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81661         (free): Remove decl.
81662
81663         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81664         * lib/xgetcwd.c: Likewise.
81665
81666         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81667         (free): Remove decl.
81668
81669         * lib/strchrnul.c (strchrnul): Define with a prototype.
81670         Fix bug: c_in was not converted to char before searching.
81671
81672         The following changes are not K&R related:
81673
81674         * lib/group-member.h: Include <sys/types.h>, so that this file is
81675         self-contained.
81676         * lib/makepath.h: Likewise.
81677
81678         * lib/getusershell.c (readname, default_index, line_size, readname):
81679         Use size_t, not int, for sizes.
81680         (readname): If the size overflows, report an error instead of
81681         looping forever.
81682
81683 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81684
81685         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81686         libc.
81687
81688 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81689
81690         * README: New section: portability guidelines.
81691
81692 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81693
81694         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81695         C89 spec.
81696
81697 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81698
81699         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81700
81701 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81702
81703         Assume C89 or better; remove K&R cruft.
81704         A few of these changes were first proposed by Derek Robert Price
81705         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81706
81707         * lib/addext.c: Include <string.h> unconditionally.
81708         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81709         Don't declare getenv or malloc.
81710
81711         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81712         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81713         (NULL): Remove.
81714         (find_stack_direction, alloca): Use prototypes.
81715
81716         * lib/atexit.c (atexit): Define using a prototype.
81717
81718         * lib/basename.c, dirname.c, stripslash.c:
81719         Include <string.h> unconditionally.
81720
81721         * lib/bcopy.c: Include <stddef.h>.
81722         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81723
81724         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81725
81726         * lib/error.h (error, error_at_line, error_print_progname)
81727         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81728         * lib/error.c: Include error.h first, to check interface.
81729         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81730         (VA_START): Remove; all uses changeed to va_start.
81731         (exit, strerror): Remove decls.
81732         (error_print_progname): Prototype uncondionally.
81733         Don't include <errno.h>; no longer needed.
81734         (private_strerror): Remove.
81735         (error_tail): Always define.
81736         (error, error_at_line): Assume C89 or better; always use prototypes.
81737         * lib/fatal.c: Include "fatal.h" first, to test interface.
81738         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81739         (VA_START): Remove; all uses changed to va_start.
81740         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81741         this case.
81742         (exit): Remove decl.
81743         (fatal): Prototype unconditionally.  Assume va_start works.
81744         Abort at end, to pacify gcc.
81745
81746         * lib/euidaccess.c (main): Define with a prototype.
81747
81748         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81749
81750         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81751
81752         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81753         prototypes.
81754         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81755         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81756         (getenv): Remove decl.
81757         (fnmatch): Define using a prototype.
81758         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81759         (FCT): Define using a prototype.
81760
81761         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81762
81763         * lib/gethostname.c: Include <stddef.h>.
81764         (gethostname): Define with prototype.  Length is size_t, not int.
81765
81766 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81767
81768         Assume C89 or better; remove K&R cruft.
81769         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81770         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81771         string.h, getenv, malloc.
81772         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81773         headers.
81774         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81775         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81776         do not check for strerror.
81777         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81778         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81779         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81780         do not check for doprnt or vprintf.
81781         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81782         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81783
81784 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81785
81786         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81787         getversion.c should have been removed then, but was accidentally
81788         preserved.
81789
81790         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81791         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81792
81793 2003-09-08  Karl Berry  <karl@gnu.org>
81794
81795         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81796                 config, forget about prep.
81797
81798         * config/depcomp, missing: update from automake.
81799
81800 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81801
81802         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81803         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81804
81805 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81806
81807         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81808         copy_tm_result.  Bug reported by Simon Josefsson in
81809         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81810
81811 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81812
81813         * m4/time_r.m4: New file.
81814         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81815         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81816         is. Check for timegm declaration.
81817         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81818         Do not check for gmtime_r.
81819         Replace mktime if __mktime_internal does not exist and if mktime
81820         hasn't been replaced already.
81821
81822 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81823
81824         * lib/time_r.c, lib/time_r.h: New files.
81825
81826         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81827         __localtime_r.
81828         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81829         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81830
81831         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81832         __gmtime_r.
81833         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81834         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81835         Include <time_r.h>.
81836
81837         * lib/timegm.c: Switch to glibc implementation, with the following
81838         changes:
81839         [defined HAVE_CONFIG_H]: Include <config.h>.
81840         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81841         (__mktime_internal) [!defined _LIBC]: New decl.
81842         (__gmtime_r) [!defined _LIBC]: New macro and function.
81843         (timegm): Use a prototype, since gnulib assumes C89.
81844         Do not bother declaring tmp to be const, as it's not really usefu.
81845         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81846         (timegm): Declare only if HAVE_DECL_TIMEGM.
81847
81848 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81849
81850         * MODULES.html.sh (func_all_modules): Add time_r.
81851         * modules/time_r: New file.
81852         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81853         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81854
81855 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81856
81857         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81858         Bug reported by Lute Kamstra in
81859         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81860
81861         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81862         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81863         course with correspondingly smaller numbers for tomorrow and
81864         yesterday.  From Tadayoshi Funaba.  Originally installed into
81865         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81866         coreutils merge?).
81867
81868 2003-08-31  Simon Josefsson  <jas@extundo.com>
81869
81870         * modules/timegm: New file.
81871         * MODULES.html.sh (func_all_modules): Add timegm.
81872
81873 2003-08-31  Simon Josefsson  <jas@extundo.com>
81874
81875         * m4/timegm.m4: New file.
81876
81877 2003-08-31  Simon Josefsson  <jas@extundo.com>
81878
81879         * lib/timegm.h: New file.
81880         * lib/timegm.c: New file.  Based on
81881         wget-1.8.2/src/http.c:mktime_from_utc.
81882
81883 2003-08-31  Karl Berry  <karl@gnu.org>
81884
81885         * lib/argp.h: update from libc.
81886
81887 2003-08-28  Bruno Haible  <bruno@clisp.org>
81888
81889         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81890         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81891         followed by '#define fnmatch fnmatch_posix' gives an error.
81892
81893 2003-08-28  Bruno Haible  <bruno@clisp.org>
81894
81895         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81896         warning on QNX, which defines O_BINARY to 000000.
81897
81898 2003-08-27  Jim Meyering  <jim@meyering.net>
81899
81900         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81901         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81902         would fail after 32.  Reported by Danny Levinson.  Details here:
81903         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81904
81905 2003-08-24  Bruno Haible  <bruno@clisp.org>
81906
81907         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81908         MSVC7 <stdio.h> is included later.
81909
81910 2003-08-22  Simon Josefsson  <jas@extundo.com>
81911
81912         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81913
81914 2003-08-20  Karl Berry  <karl@gnu.org>
81915
81916         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81917
81918 2003-08-20  Bruno Haible  <bruno@clisp.org>
81919
81920         * modules/progname: New file.
81921         * MODULES.html.sh (func_all_modules): Add progname.
81922
81923 2003-08-20  Bruno Haible  <bruno@clisp.org>
81924
81925         * lib/progname.h: New file, from GNU gettext.
81926         * lib/progname.c: New file, from GNU gettext.
81927         * lib/progreloc.c: New file, from GNU gettext.
81928
81929 2003-08-19  Jim Meyering  <jim@meyering.net>
81930
81931         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
81932         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
81933
81934 2003-08-19  Bruno Haible  <bruno@clisp.org>
81935
81936         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
81937         more.
81938
81939 2003-08-19  Bruno Haible  <bruno@clisp.org>
81940
81941         * lib/xstrdup.c: Assume <string.h> exists.
81942
81943 2003-08-18  Paul Eggert  <eggert@twinsun.com>
81944
81945         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
81946         in makefile rules.
81947
81948 2003-08-18  Jim Meyering  <jim@meyering.net>
81949
81950         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
81951         * m4/lib-ld.m4: Likewise.
81952
81953 2003-08-18  Jim Meyering  <jim@meyering.net>
81954
81955         * lib/setenv.h: Indent nested cpp directive.
81956         * lib/vasnprintf.c: Remove trailing blanks.
81957
81958 2003-08-17  Simon Josefsson  <jas@extundo.com>
81959
81960         * modules/xstrndup: New file.
81961         * MODULES.html.sh (func_all_modules): Add xstrndup.
81962
81963 2003-08-17  Simon Josefsson  <jas@extundo.com>
81964
81965         * modules/argp: Fix autoconf macro name. Add more dependencies.
81966
81967 2003-08-17  Simon Josefsson  <jas@extundo.com>
81968
81969         * m4/xstrndup.m4: New file.
81970
81971 2003-08-17  Simon Josefsson  <jas@extundo.com>
81972
81973         * m4/argp.m4: New file.
81974
81975 2003-08-17  Simon Josefsson  <jas@extundo.com>
81976             Bruno Haible  <bruno@clisp.org>
81977
81978         * lib/xstrndup.h: New file.
81979         * lib/xstrndup.c: New file.
81980
81981 2003-08-17  Bruno Haible  <bruno@clisp.org>
81982
81983         * modules/strndup (Files, Include): Add lib/strndup.h.
81984
81985 2003-08-17  Bruno Haible  <bruno@clisp.org>
81986
81987         * modules/euidaccess (Files): Add lib/euidaccess.h.
81988
81989 2003-08-17  Bruno Haible  <bruno@clisp.org>
81990
81991         * lib/strndup.h: New file.
81992
81993 2003-08-17  Bruno Haible  <bruno@clisp.org>
81994
81995         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
81996         like AC_GNU_SOURCE.
81997         * modules/extensions (configure.ac): Comment out the invocation of
81998         gl_USE_SYSTEM_EXTENSIONS.
81999
82000 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82001
82002         Merges from coreutils, etc.
82003         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82004         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82005         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82006         fixing a typo.
82007         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82008         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82009
82010 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82011
82012         Document merge from coreutils.
82013         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82014         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82015         * modules/utime: Add m4/utimes-null.m4.
82016
82017 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82018
82019         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82020         space, undoing this 2003-08-12 change:
82021         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82022
82023 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82024
82025         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82026         strtoul.c from libc, undoing this 2003-08-12 change:
82027         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82028
82029 2003-08-16  Jim Meyering  <jim@meyering.net>
82030
82031         Merges from coreutils.
82032         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82033         prefix.  Adjust cache variables similarly.  Create 500 rather than
82034         just 300 files, to exercise bug on Darwin6.5, too.
82035         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82036         $missing_dir.
82037         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82038         AM_SYS_POSIX_TERMIOS.
82039         Reported by mkc@mathdogs.com.
82040         Also change use of $am_cv_sys_posix_termios
82041         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82042         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82043         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82044         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82045         in /proc/mounts until it finds one with matching device number.  This
82046         is unnecessary when the FILE argument *is* a mount point.  No stat call
82047         is necessary in that case.  So, disable the statvfs-testing code on
82048         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82049         as RedHat bug# 84846.
82050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82051         to 1MB, so as not to render systems with no stack size limit (e.g.,
82052         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82053         Include <unistd.h>.  On some systems,
82054         it is required for the definition of _SC_PAGESIZE.
82055
82056 2003-08-16  Jim Meyering  <jim@meyering.net>
82057
82058         Merge from coreutils.
82059         * lib/xstrtoimax.c: #else #if -> #elif.
82060         * lib/xstrtoumax.c: Likewise.
82061
82062 2003-08-16  Jim Meyering  <jim@meyering.net>
82063
82064         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82065         * m4/utimes.m4: Removed.
82066         * m4/utimes-null.m4: Renamed from utimes.m4.
82067
82068         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82069         to 1MB, so as not to render systems with no stack size limit (e.g.,
82070         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82071         Include <unistd.h>.  On some systems,
82072         it is required for the definition of _SC_PAGESIZE.
82073
82074 2003-08-16  Jim Meyering  <jim@meyering.net>
82075         and Paul Eggert  <eggert@cs.ucla.edu>
82076
82077         Merges from coreutils, etc.
82078
82079         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82080         using the latest version from cvs.  This avoids problems with #line
82081         directives using a vendor (Sun) compiler.
82082         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82083         Don't set GETGROUPS_LIB here; now it's
82084         done via getgroups.m4's wrapper function.
82085         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82086         rather than just in sh-util/configure.in, so that the
82087         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82088         same.
82089         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82090         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82091         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82092         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82093         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82094         Remove code that is now done by the newly-required macros.
82095         Append $(EXEEXT) to DF_PROG.
82096         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82097         Do not invoke or require the following here,
82098         since prereq.m4 or some gnulib .m4 now does this for us:
82099         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82100         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82101         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82102         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82103         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82104         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82105         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82106         AC_FUNC_OBSTACK.
82107         Do not replace the following functions, as this is now the job
82108         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82109         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82110         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82111         atexit getpass, strdup, getpagesize.
82112         Replace 'raise'.
82113         Do not check for the following functions, as this is now the job
82114         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82115         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82116         setregid.
82117         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82118         Check for sys/sysctl.h.
82119         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82120         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82121         of checking for ssize_t ourselves.
82122
82123         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82124         Require every macro that gnulib/modules/* suggests for us.
82125         (jm_PREREQ_ADDEXT): New macro.
82126         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82127         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82128
82129         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82130         (gl_PHYSMEM): Use it.
82131         Also check for `table' function.
82132         Check for new headers and functions.
82133         Add check for sys/sysmp.h.
82134         With suggestions from Kaveh Ghazi.
82135         Ignore headers that are present but cannot be compiled.  This
82136         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82137         C 5.4.
82138
82139 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82140
82141         Document merge from coreutils.
82142         * modules/userspec: Depend on posixver.
82143         * modules/strftime: Depend on tzset.
82144
82145 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82146
82147         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82148         rather than tab, after '#' in shell-script copyright notices.
82149         Suggested by Bruno Haible.
82150
82151 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82152
82153         * config/srclist-update: Use three spaces, rather than tab, after '#'
82154         in shell-script copyright notices.  Suggested by Bruno Haible.
82155         Remove unnecessary parenthesization in regular expression.
82156
82157 2003-08-15  Jim Meyering  <jim@meyering.net>
82158
82159         Merge from coreutils.
82160         * lib/xgethostname.c: Include <stdlib.h>.
82161         (xghostname): Don't exit for anything other than memory-related
82162         failure; just return NULL.
82163         * lib/userspec.c: Include "posixver.h".
82164         (parse_user_spec): Accept `.' as a separator only
82165         in pre-POSIX-200112 mode.
82166         * lib/strtoimax.c: Use #elif rather than #else #if.
82167         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82168         Remove function, now that we can rely on a working tzset function.
82169         [!_LIBC]: Ensure that the required autoconf test has been run.
82170         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82171         Use underlying_strftime for %r.
82172         * lib/sha.c: Merge in some clean-up and optimization changes from
82173         glibc.
82174         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82175         Ensure that it is a multiple of 64.
82176         Rearrange loop exit tests so as to avoid performing an
82177         additional fread after encountering an error or EOF.
82178         * lib/realloc.c: Update copyright date.
82179
82180 2003-08-15  Jim Meyering  <jim@meyering.net>
82181         and Paul Eggert  <eggert@twinsun.com>
82182
82183         Merge from coreutils.
82184         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82185         member but strut utmpx does not.  Needed for AIX 4.3.3.
82186         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82187
82188 2003-08-15  Jim Meyering  <jim@meyering.net>
82189         and Paul Eggert  <eggert@cs.ucla.edu>
82190
82191         Merges from coreutils, etc.
82192         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82193         Require gl_FUNC_TZSET_CLOBBER.
82194         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82195         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82196         members.
82197
82198 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82199
82200         Help the merge from coreutils.
82201         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82202         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82203         * m4/tzset.m4: Use it too.
82204
82205 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82206
82207         * modules/tzset: New file.
82208
82209 2003-08-14  Jim Meyering  <jim@meyering.net>
82210
82211         Merges from coreutils.
82212         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82213         variable names, rather than @FNMATCH_H@.
82214         * modules/alloca: Likewise for $(ALLOCA_H).
82215
82216         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82217         the three copies of the literal target, `fnmatch.h'.
82218         * modules/alloca (alloca.h): Likewise.
82219
82220 2003-08-14  Jim Meyering  <jim@meyering.net>
82221
82222         Merge from coreutils.
82223         * m4/tzset.m4: New file.
82224         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82225         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82226         otherwise, AIX 5.1 systems would end up using the latter.
82227         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82228         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82229         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82230         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82231
82232 2003-08-14  Jim Meyering  <jim@meyering.net>
82233
82234         Merge from coreutils.
82235         * lib/obstack.h: Whitespace changes.
82236         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82237         and xcalloc return values.
82238         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82239         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82240         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82241         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82242         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82243         error from mntctl.
82244         Use mntctl's return value to drive the entry-processing loop, since
82245         we can't rely on the value of the vmt_length member in the last
82246         entry.  On some systems doing so could result in exhausting
82247         virtual memory.  Based in part on a patch from Mike Jetzer.
82248
82249 2003-08-14  Jim Meyering  <jim@meyering.net>
82250         and Paul Eggert  <eggert@twinsun.com>
82251
82252         Merges from coreutils, plus other fixes.
82253         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82254         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82255         for credits and details.  Thanks to Kaveh Ghazi for helping
82256         to keep these files in sync.
82257         (ARRAY_SIZE): Define it.
82258         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82259         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82260         (memcasecmp): Don't assume size_t fits in unsigned int.
82261         Remove casts and duplicate code.
82262         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82263         (memcpy): Remove definition.
82264         Merge in some clean-up and optimization changes from glibc.
82265         [BLOCKSIZE]: Move definition to top of file.
82266         Ensure that it is a multiple of 64.
82267         Rearrange loop exit tests so as to avoid performing an
82268         additional fread after encountering an error or EOF.
82269         * lib/md5.h (md5_uintptr): Define.
82270         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82271         return to the initial working directory.  Preserve errno
82272         for caller.
82273         * lib/idcache.c: Include "xalloc.h".
82274         (xmalloc, xrealloc): Remove decls.
82275         (getuser): Remove casts no longer required in C89.
82276         * lib/human.c: Include stdio.h, for sprintf.
82277         * lib/group-member.c: Include "xalloc.h".
82278         (xmalloc, xrealloc): Remove decls.
82279         (get_group_info): Remove casts no longer required in C89.
82280         * lib/getusershell.c (readname): Remove casts no longer required in
82281         C89.
82282         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82283         * lib/getline.c: Whitespace fix, from coreutils.
82284
82285 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82286
82287         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82288         Check for isascii.
82289
82290         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82291         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82292         Undo previous (whitespace-only) change.
82293
82294 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82295
82296         * lib/exclude.c: Include <ctype.h>
82297         (IN_CTYPE_DOMAIN): New macro.
82298         (is_space): New fn.
82299         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82300         and empty lines.
82301
82302         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82303         Undo previous (whitespace-only) change.
82304
82305 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82306
82307         * config/srclist-update: Change update back to the old behavior,
82308         leaving whitespace alone.  Use one 'sed' command rather than a
82309         pipeline.
82310         (fixlicense): Now a variable, not a function.
82311         (remove_trailing_blanks): Remove.
82312         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82313         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82314         Undo previous (whitespace-only) change.
82315
82316 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82317
82318         Merge from coreutils.
82319         * modules/euidaccess: Add lib_SOURCES, include for new
82320         file euidaccess.h
82321
82322 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82323
82324         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82325         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82326         Normalize leading white space and remove trailing white space.
82327
82328         Merge from coreutils
82329         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82330
82331         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82332         0.12.1.  These files are now being upgraded automatically by
82333         ../config/srclist-update.
82334
82335 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82336
82337         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82338         Normalize leading white space and remove trailing white space.
82339         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82340         notice, as per ../config/srclist-update.
82341
82342         Merge from coreutils.
82343         * lib/euidaccess.h: New file.
82344         * lib/euidaccess.c: Include it.
82345         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82346         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82347         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82348
82349 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82350
82351         * config/srclist-update: Add copyright notice.
82352         (remove_id_lines, remove_trailing_blanks): New constants.
82353         (fixfile): Use them to normalize spacing a bit in copied files.
82354         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82355         Normalize leading white space and remove trailing white space.
82356
82357         * config/texinfo.tex: Sync with texinfo.
82358
82359         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82360         strtoul.c from libc, to merge coreutils whitespace changes.
82361
82362         * config/srclist.txt: Get the following m4 files from gettext:
82363         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82364         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82365         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82366         wint_t.m4.
82367
82368 2003-08-12  Karl Berry  <karl@gnu.org>
82369
82370         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82371         been made.
82372
82373 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82374
82375         * modules/gnu-source, m4/gnu-source.m4:
82376         Remove; we're assuming Autoconf 2.54 or later now.
82377         Suggested by Bruno Haible.
82378         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82379
82380 2003-08-11  Bruno Haible  <bruno@clisp.org>
82381
82382         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82383
82384 2003-08-11  Bruno Haible  <bruno@clisp.org>
82385
82386         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82387         (vasnprintf): Use it instead of wcslen.
82388
82389 2003-08-11  Bruno Haible  <bruno@clisp.org>
82390
82391         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82392         value to ensure that _Bool promotes to int. Use #define for _Bool when
82393         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82394
82395 2003-08-10  Karl Berry  <karl@gnu.org>
82396
82397         * lib/regex.h: update from libc (whitespace fix).
82398
82399 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82400
82401         Merge some files from coreutils.  These changes were
82402         originally made by Jim Meyering.
82403         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82404         many older Unixes require this.
82405         * lib/alloca.c (alloca): Remove cast to argument of free;
82406         no longer needed in C89.
82407         * lib/alloca_.h, regex.h: Fix white space to match
82408         what GNU indent does.
82409
82410 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82411
82412         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82413         apparently Emacs's Unicode mode got confused before my 2003-08-05
82414         checkin.
82415
82416 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82417
82418         * m4/extensions.m4: New file.
82419         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82420         Require gl_USE_SYSTEM_EXTENSIONS.
82421         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82422         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82423
82424 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82425
82426         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82427         * modules/extensions, modules/gnu-source: New files.
82428         * modules/timespec, modules/unlocked-io: Depend on extensions.
82429
82430 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82431
82432         * modules/restrict: New file.
82433         * MODULES.html.sh (func_all_modules): Add restrict.
82434         * modules/regex: Depend on restrict.
82435
82436 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82437
82438         * m4/restrict.m4: New file.
82439         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82440
82441 2003-08-07  Bruno Haible  <bruno@clisp.org>
82442
82443         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82444         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82445
82446 2003-08-07  Bruno Haible  <bruno@clisp.org>
82447
82448         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82449         makes the module 'getndelim2' compatible with the module 'getline'.
82450
82451 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82452
82453         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82454         byte with "\201" to avoid glitches when editing that source file
82455         with multi-gnome-terminal.
82456
82457 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82458
82459         * lib/bumpalloc.h: Remove.
82460
82461 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82462
82463         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82464         * modules/bumpalloc: Remove.
82465
82466 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82467
82468         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82469         GNU coding style.
82470
82471         Merge from coreutils.
82472         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82473         1. From glibc.
82474         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82475         from Karl Berry, implemented by Jim Meyering.
82476         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82477         from Dmitry V. Levin.
82478         Remove anachronistic cast of xrealloc.
82479         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82480         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82481         type. Otherwise, it wouldn't compile with at least /bin/cc on
82482         ymp-cray-unicos9.0.2.X.
82483         Combine two mostly-identical uses of alloca into one.
82484         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82485
82486 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82487
82488         [From Emacs.]
82489
82490         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82491         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82492         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82493         obsolete NLIST_NAME_UNION.
82494         [__GNU__]: Undef BSD and FSCALE.
82495         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82496
82497 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82498
82499         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82500         an enum type, so that it's guaranteed to promote to int.  See:
82501         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82502
82503 2003-08-03  Karl Berry  <karl@gnu.org>
82504
82505         * config/depcomp: update from automake.
82506
82507 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82508
82509         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82510         (strerror): Don't assume that a printable int fits in 14 bytes.
82511
82512 2003-07-31  Bruno Haible  <bruno@clisp.org>
82513
82514         * modules/getpass-gnu: New file.
82515         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82516
82517 2003-07-31  Bruno Haible  <bruno@clisp.org>
82518
82519         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82520
82521 2003-07-24  Karl Berry  <karl@gnu.org>
82522
82523         * config/missing: update from automake.
82524
82525 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82526             Bruno Haible  <bruno@clisp.org>
82527
82528         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82529         * lib/getline.c (getline, getdelim): Likewise.
82530         Remove _GNU_SOURCE define; now it's defined in config.h through
82531         m4/getline.m4.
82532
82533 2003-07-23  Karl Berry  <karl@gnu.org>
82534
82535         * config/config.sub: update from prep.
82536
82537 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82538
82539         * modules/xalloc (Depends-on): Add exitfail.
82540         * modules/xmemcoll: Likewise.
82541
82542 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82543
82544         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82545         over-parenthesization in macros.
82546
82547         Sync with coreutils.
82548
82549         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82550         required by C99.
82551
82552         Use `exit_failure' for xalloc and xmemcoll instead of their own
82553         private exit-failure variables.
82554         * lib/xalloc.h (xalloc_exit_failure): Remove.
82555         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82556         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82557         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82558         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82559         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82560
82561 2003-07-20  Jim Meyering  <jim@meyering.net>
82562
82563         * modules/closeout (Depends-on): Add exitfail.
82564         Suggestion from Bruno Haible.
82565
82566 2003-07-19  Karl Berry  <karl@gnu.org>
82567
82568         * config/config.sub: update from prep.
82569
82570 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82571
82572         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82573         Remove.
82574         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82575         to test that it can stand by itself.  Include "exitfail.h".
82576         Clients should set exit_failure instead.
82577         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82578
82579 2003-07-18  Bruno Haible  <bruno@clisp.org>
82580
82581         * modules/getndelim2: New file.
82582         * modules/getline: Share files with module getndelim2.
82583         * modules/getnline: Depend on getndelim2 instead of sharing files with
82584         it. Add getnline.c to lib_SOURCES.
82585         * MODULES.html.sh (func_all_modules): Add getndelim2.
82586
82587 2003-07-18  Bruno Haible  <bruno@clisp.org>
82588
82589         * m4/getndelim2.m4: New file.
82590         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82591         invoke gl_PREREQ_GETNDELIM2.
82592         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82593         gl_PREREQ_GETNDELIM2.
82594         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82595         gl_GETNDELIM2.
82596
82597 2003-07-18  Bruno Haible  <bruno@clisp.org>
82598
82599         * lib/getndelim2.h: New file.
82600         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82601         getndelim2.h.
82602         (getndelim2): Make non-static. Change return type to ssize_t.
82603         * lib/getline.h: Change argument names.
82604         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82605         * lib/getnline.c: Include getndelim2.h.
82606
82607 2003-07-18  Andreas Schwab  <schwab@suse.de>
82608
82609         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82610
82611 2003-07-17  Karl Berry  <karl@gnu.org>
82612
82613         * config/config.sub: update from prep.
82614
82615 2003-07-17  Bruno Haible  <bruno@clisp.org>
82616
82617         * modules/getnline: New file.
82618         * modules/getline: Add lib/getndelim2.c to source file list.
82619         * MODULES.html.sh (func_all_modules): Add getnline.
82620
82621 2003-07-17  Bruno Haible  <bruno@clisp.org>
82622
82623         * m4/getnline.m4: New file.
82624
82625 2003-07-17  Bruno Haible  <bruno@clisp.org>
82626
82627         * m4/Makefile.am.in: Remove file.
82628         * m4/Makefile.am: Remove file.
82629         * m4/Makefile.in: Remove file.
82630
82631 2003-07-17  Bruno Haible  <bruno@clisp.org>
82632
82633         * lib/getnline.h: New file.
82634         * lib/getnline.c: New file.
82635         * lib/getndelim2.c: New file, extracted from getline.c.
82636         (getndelim2): Renamed from getdelim2, with added nmax argument.
82637         * lib/getline.c: Include getndelim2.c.
82638         (getdelim2): Moved out to getndelim2.c.
82639         (getline, getdelim): Update.
82640
82641 2003-07-17  Bruno Haible  <bruno@clisp.org>
82642
82643         * lib/Makefile.am: Remove file.
82644         * lib/Makefile.in: Remove file.
82645
82646 2003-07-17  Bruno Haible  <bruno@clisp.org>
82647
82648         * configure.in: Remove file.
82649         * Makefile.in: Remove file.
82650
82651 2003-07-17  Bruno Haible  <bruno@clisp.org>
82652
82653         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82654
82655 2003-07-16  Karl Berry  <karl@gnu.org>
82656
82657         * config/srclist-update: was running fixlicense twice, which caused
82658                 texinfo.tex to be nullified for some reason.  Simplify,
82659                 $gplsrc is no longer needed as far as I can see?
82660
82661 2003-07-16  Jim Meyering  <jim@meyering.net>
82662
82663         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82664
82665 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82666
82667         * config/srclist.txt: Get the following files from gettext-runtime/intl
82668         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82669         ref-del.sin.  From Bruno Haible.
82670         * config/srclist-update (fixfile): Change grep pattern again, since the
82671         previous fix didn't work (there was another trailing $).  Use
82672         '[$]' to escape the $s.
82673
82674 2003-07-15  Karl Berry  <karl@gnu.org>
82675
82676         * lib/vasnprintf.c: update from gettext.
82677
82678 2003-07-15  Karl Berry  <karl@gnu.org>
82679
82680         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82681         gets expanded when surrounded by '$'.
82682
82683 2003-07-15  Jim Meyering  <jim@meyering.net>
82684
82685         * modules/save-cwd: Don't depend on error.  From Derek Price.
82686
82687 2003-07-15  Jim Meyering  <jim@meyering.net>
82688
82689         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82690
82691 2003-07-14  Simon Josefsson  <jas@extundo.com>
82692
82693         * modules/mempcpy: New file.
82694         * MODULES.html.sh (func_all_modules): Add mempcpy.
82695
82696 2003-07-14  Simon Josefsson  <jas@extundo.com>
82697
82698         * m4/mempcpy.m4: New file.
82699
82700 2003-07-14  Simon Josefsson  <jas@extundo.com>
82701
82702         * lib/mempcpy.h: New file.
82703         * lib/mempcpy.c: New file.
82704
82705 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82706
82707         * modules/getdate, modules/posixtm: Depend on mktime.
82708
82709 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82710
82711         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82712         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82713         unicodeio.c, unicodeio.h, unlocked-io.h:
82714         Switch from LGPL to GPL.
82715
82716 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82717
82718         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82719         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82720         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82721         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82722         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82723         updated automatically by ../config/srclist-update.  This changes
82724         their license from LPGL to GPL.
82725
82726 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82727
82728         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82729         assumed to refer to the root of the most recent stable gettext version.
82730         * config/srclistvars.sh: Add defaults for eggert.
82731         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82732         Match "This program" as well as "The program".  This is needed
82733         for gettext.
82734
82735 2003-07-14  Jim Meyering  <jim@meyering.net>
82736
82737         Don't emit diagnostics.  Let callers do that.
82738         * lib/save-cwd.c: Don't include "error.h".
82739         (save_cwd): Don't call error.  Ensure that errno is valid
82740         when returning nonzero.
82741
82742         * lib/save-cwd.h (restore_cwd): Update prototype.
82743         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82744         Simplify.  Don't call error upon failure.  Let callers do that.
82745         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82746         when auditing is enabled.  But don't bother updating the #if.
82747
82748 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82749
82750         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82751         it breaks C++ compilation.
82752         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82753
82754 2003-07-10  Simon Josefsson  <jas@extundo.com>
82755
82756         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82757
82758 2003-07-10  Jim Meyering  <jim@meyering.net>
82759
82760         * m4/clock_time.m4: Remove trailing blank.
82761         * m4/intmax_t.m4: Likewise.
82762
82763 2003-07-10  Jim Meyering  <jim@meyering.net>
82764
82765         * lib/vasnprintf.c: Remove trailing blanks.
82766         Make cpp indentation consistent.
82767
82768 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82769
82770         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82771         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82772         Switch from LGPL to GPL.
82773
82774 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82775
82776         * config/srclist.txt: Sort sublists.  Add
82777         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82778         that differ from gnulib for one reason or another; we'd like this list
82779         to be smaller but for now let's document what we have.
82780
82781 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82782
82783         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82784         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82785         and sweeter "eval x=$x".
82786         * config/srclist.txt: Get lib/argp* from glibc.
82787
82788 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82789
82790         * lib/mktime.c: Fix some boundary cases and remove need for floating
82791         point.
82792
82793         Issue a compile-time diagnostic if time_t is floating point, or if
82794         two's complement arithmetic is not in effect, or if arithmetic
82795         right shift does not propagate the sign.  These assumptions were
82796         all in the original code but they weren't checked.
82797
82798         (TIME_T_MIDPOINT, verify): New macros.
82799         (__isleap): Remove; it has integer overflow problems.
82800         (leapyear): New function, without those problems.
82801         (ydhms_tm_diff): Remove; splitting into two parts.
82802         (ydhms_diff): New function, containing the arithmetic part of
82803         the old ydhms_tm_diff function.  Issue a compile-time
82804         diagnostic if we are not using C99 integer division.
82805         Avoid casts when possible.
82806         (guess_time_tm): New function, containing the checking part of
82807         the old ydhms_tm_diff function.  Return the new value, rather than
82808         the difference between it and the old.  Accept a new argument T
82809         so that *T specifies the old value.  Check for overflow in the result.
82810
82811         (__mktime_internal): Use a time_t offset, not a long int offset.
82812         This undoes the 2003-06-04 change, which is no longer needed now
82813         that we have better overflow checking.
82814         (localtime_offset): Likewise.
82815
82816         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82817         and long are 64-bit but int is only 32-bit.
82818         (ydhms_diff): Use long int to store year1 and yday1.
82819         Issue a compile-time diagnostic if long int is not wide enough.
82820
82821         (__mktime_internal): Use long int to store adjusted year and yday.
82822         Use plain C rather than preprocessor commands, if that doesn't
82823         affect efficiency.
82824         Check for overflow (and try to repair) after each probe
82825         rather than checking only at the very end.  This avoids some bugs
82826         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82827         does not equal GMT offset at maximum time).
82828         Use integer to check for overflow rather than floating point; this
82829         is more portable to non-IEEE hosts, and is a tad faster.
82830         When we detect that we are oscillating between two values,
82831         don't check whether tm_isdst has the requested value, since
82832         we already know the answer.  When tm_isdst has the wrong value,
82833         use a different heuristic to find the right one, based on the
82834         extreme values actually observed in practice in tz2003a,
82835         rather than the (overly optimistic) "previous 3 calendar quarters".
82836
82837         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82838         "T const" to accommodate glibc style.
82839         (check_result): Use less-confusing report format.  "long" -> "long int.
82840         (main): Likewise.
82841         Don't loop if the iteration overflows time_t.
82842         Allow a negative step in the iteration.
82843
82844 2003-07-06  Karl Berry  <karl@gnu.org>
82845
82846         * config/depcomp: update from automake.
82847         * config/config.sub: update from prep.
82848
82849 2003-07-03  Karl Berry  <karl@gnu.org>
82850
82851         * config/config.guess: update from prep.
82852
82853 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82854
82855         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82856         xreadlink.c now includes it unconditionally.
82857
82858 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82859
82860         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82861         having it depend on HAVE_SYS_TYPES_H.
82862
82863 2003-07-01  Bruno Haible  <bruno@clisp.org>
82864
82865         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82866         <sys/types.h> should be sufficient.
82867         Reported by Paul Eggert.
82868
82869 2003-06-26  Karl Berry  <karl@gnu.org>
82870
82871         * config/depcomp: update from automake.
82872
82873 2003-06-26  Bruno Haible  <bruno@clisp.org>
82874
82875         * modules/human: Depend on module stdbool.
82876
82877 2003-06-25  Bruno Haible  <bruno@clisp.org>
82878
82879         * modules/readlink: New file.
82880         * modules/xreadlink: Depend on it.
82881         * MODULES.html.sh (func_all_modules): Add readlink.
82882
82883 2003-06-25  Bruno Haible  <bruno@clisp.org>
82884
82885         * m4/readlink.m4: New file.
82886
82887 2003-06-25  Bruno Haible  <bruno@clisp.org>
82888
82889         * lib/readlink.c: New file.
82890
82891 2003-06-22  Karl Berry  <karl@gnu.org>
82892
82893         * config/srclist.txt: update mkinstalldirs from automake.
82894         * config/mkinstalldirs: update.
82895
82896 2003-06-22  Bruno Haible  <bruno@clisp.org>
82897
82898         Portability to mingw32.
82899         * m4/ssize_t.m4: New file, from GNU gettext.
82900         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82901         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82902
82903 2003-06-22  Bruno Haible  <bruno@clisp.org>
82904
82905         * modules/safe-read: Add m4/ssize_t.m4.
82906         * modules/xreadlink: Add m4/ssize_t.m4.
82907
82908 2003-06-20  Bruno Haible  <bruno@clisp.org>
82909
82910         Assume C89, so PARAMS isn't needed.
82911         * lib/unicodeio.h (PARAMS): Remove.
82912         * lib/unicodeio.c: Don't use PARAMS.
82913
82914 2003-06-18  Karl Berry  <karl@gnu.org>
82915
82916         * config/config.{guess,sub}: update from prep.
82917
82918 2003-06-18  Jim Meyering  <jim@meyering.net>
82919
82920         Merge changes from coreutils.
82921         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82922         Remove explicit declarations of xmalloc and realloc.
82923         Include xalloc.h.
82924         (read_utmp): Remove anachronistic cast of xmalloc.
82925
82926 2003-06-17  Paul Eggert  <eggert@twinsun.com>
82927
82928         Assume C89, so PARAMS isn't needed.
82929         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
82930         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
82931         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
82932         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
82933         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
82934         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
82935         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
82936         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
82937         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
82938         lib/xstrtod.h, lib/xstrtol.h: Likewise.
82939         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
82940         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
82941         no longer needed. Anyway, config.h should always be included before any
82942         other file.
82943
82944 2003-06-11  Simon Josefsson  <jas@extundo.com>
82945
82946         * modules/sysexits: New file.
82947         * MODULES.html.sh (func_all_modules): Add sysexits.
82948
82949 2003-06-11  Simon Josefsson  <jas@extundo.com>
82950
82951         * lib/sysexit_.h: New file.
82952
82953 2003-06-11  Derek Price  <derek@ximbiot.com>
82954
82955         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
82956         necessary.
82957
82958 2003-06-11  Bruno Haible  <bruno@clisp.org>
82959
82960         * m4/sysexits.m4: New file.
82961
82962 2003-06-10  Simon Josefsson  <jas@extundo.com>
82963
82964         * lib/argp.h: New file, from glibc.
82965         * lib/argp-ba.c: New file, from glibc.
82966         * lib/argp-eexst.c: New file, from glibc.
82967         * lib/argp-fmtstream.c: New file, from glibc.
82968         * lib/argp-fmtstream.h: New file, from glibc.
82969         * lib/argp-fs-xinl.c: New file, from glibc.
82970         * lib/argp-help.c: New file, from glibc.
82971         * lib/argp-namefrob.h: New file, from glibc.
82972         * lib/argp-parse.c: New file, from glibc.
82973         * lib/argp-pv.c: New file, from glibc.
82974         * lib/argp-pvh.c: New file, from glibc.
82975         * lib/argp-xinl.c: New file, from glibc.
82976
82977 2003-06-10  Simon Josefsson  <jas@extundo.com>
82978
82979         * modules/strchrnul: New file.
82980
82981 2003-06-10  Simon Josefsson  <jas@extundo.com>
82982
82983         * modules/argp: New file.
82984
82985 2003-06-10  Simon Josefsson  <jas@extundo.com>
82986
82987         * m4/strchrnul.m4: New file.
82988
82989 2003-06-10  Simon Josefsson  <jas@extundo.com>
82990
82991         * lib/strchrnul.h: New file.
82992         * lib/strchrnul.c: New file.
82993
82994 2003-06-10  Bruno Haible  <bruno@clisp.org>
82995
82996         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
82997
82998 2003-06-07  Karl Berry  <karl@gnu.org>
82999
83000         * config/config.{guess,sub}: update from prep.
83001
83002 2003-06-07  Jim Meyering  <jim@meyering.net>
83003
83004         * modules/strtod: Use $(...) notation, not @...@ for
83005         AC_REPLACE'd variables.
83006         * modules/localcharset: Likewise.
83007
83008 2003-06-07  Jim Meyering  <jim@meyering.net>
83009
83010         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83011         in place of my name in the copyright comment.
83012         Remove definition and uses of __P.
83013
83014         From coreutils.
83015         * lib/stat.c: Don't declare xmalloc explicitly.
83016         Instead, include "xalloc.h".
83017         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83018         xrealloc, and xcalloc return values.
83019         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83020         Improve comment.
83021         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83022
83023 2003-06-07  Bruno Haible  <bruno@clisp.org>
83024
83025         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83026         avoid AC_CONFIG_LINKS.
83027         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83028         fnmatch.h, to avoid AC_CONFIG_LINKS.
83029         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83030
83031 2003-06-07  Bruno Haible  <bruno@clisp.org>
83032
83033         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83034         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83035         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83036         directory.
83037         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83038         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83039         directory.
83040
83041 2003-06-06  Jim Meyering  <jim@meyering.net>
83042
83043         Merge from coreutils.
83044         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83045         Consolidate declarations and initializations of *_base* locals.
83046
83047         Merge from coreutils.
83048         This avoids a core dump on systems without GNU putenv,
83049         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83050         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83051         (unsetenv): New static function, from GNU libc.
83052         (rpl_putenv): Use it.
83053
83054         * lib/modechange.c: Remove trailing blanks.
83055
83056         Merge from coreutils.
83057         * lib/fsusage.c: Remove declaration of statfs.
83058         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83059
83060         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83061
83062 2003-06-06  Jim Meyering  <jim@meyering.net>
83063
83064         * lib/stdbool_.h: Renamed from stdbool.h.in.
83065
83066 2003-06-06  Jim Meyering  <jim@meyering.net>
83067             Bruno Haible  <bruno@clisp.org>
83068
83069         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83070         Adjust Makefile.am snippet not to redirect directly to target.
83071         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83072
83073 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83074
83075         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83076         mismatch, look in future quarters as well as past.  This fixes a
83077         bug when processing fall-backwards gaps immediately after a long
83078         period of daylight-saving time.
83079
83080         * lib/mktime.c: Assume freestanding C89 or better.
83081         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83082         (__P): Remove; not used.
83083         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83084         (mktime, not_equal_tm, print_tm, check_result,
83085         main): Use prototypes.  Use const * where appropriate.
83086         (main): Fix typo in testing code that uncovered by above changes.
83087         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83088
83089 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83090
83091         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83092         locale.h, localeconv.  This merges changes from coreutils.
83093
83094         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83095         It can be removed after the next Autoconf is released.
83096         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83097         needed.
83098
83099 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83100
83101         * lib/mktime.c: Fix Debian bug 177940
83102         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83103         (localtime_offset): Now long int, not time_t, because we want it
83104         to be guaranteed to be signed.  All uses changed.
83105         (__mktime_internal): If overflow would occur when adding offset,
83106         don't add it.
83107
83108         Merge 'human' changes from coreutils.  Rewrite to support
83109         locale-specific notations like thousands separators.
83110         * lib/human.c: Simplify authorship notice.
83111         Include human.h immediately after config.h.
83112         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83113         <limits.h>: Do not include, since human.h does.
83114         (SIZE_MAX, UINTMAX_MAX): New macros.
83115         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83116         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83117         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83118         (power_letter): Renamed from suffixes.
83119         (generate_suffix_backwards): Remove.
83120         (adjust_value): Now takes int style (because of human.h changes)
83121         and long double value (for greater precision on some platforms).
83122         (group_number): New function.
83123         (human_readable): Use it.  Use integer options, not enum.
83124         Put the options before the sizes in the arg list.
83125         Support all the new options.
83126         The old human_readable function has been removed;
83127         use inttostr.h instead.
83128         (human_readable, default_block_size, humblock):
83129         Use uintmax_t, not int, for block sizes.
83130         (human_readable_inexact, block_size_types): Remove.
83131         (block_size_opts): New constant.
83132         (human_options): Renamed from human_block_size, with new signature
83133         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83134         * lib/human.h: Add copyright and authorship notice.
83135         Include <limits.h> and <stdbool.h> unconditionally.
83136         (PARAMS): Remove.  All uses removed.
83137         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83138         (enum human_inexact_style): Remove tag; now a nameless enum.
83139         (human_floor, human_ceiling, human_round_to_even): Now have
83140         values 2, 0, 1 rather than -1, 1, 0.
83141         (human_group_digits, human_suppress_point_zero, human_autoscale,
83142         human_base_1024, human_SI, human_B): New constants.
83143         (human_readable_inexact, human_block_size): Remove.
83144         (human_readable): Size args are now uintmax_t, not int.
83145         (human_options): New decl.
83146
83147         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83148         unnecessary now that we assume C89 or better.  This change
83149         imported from coreutils.
83150
83151         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83152         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83153         in the 2003-05-30 sync from glibc.
83154
83155         .h files should stand alone, but we shouldn't include <sys/types.h>
83156         if we can get away with just <stddef.h>.
83157
83158         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83159         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83160         rather than <sys/types.h>, as we merely need size_t.
83161         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83162         to get size_t.
83163         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83164         Include <stdio.h>, to get FILE.
83165         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83166         memcasecmp.h has included <stddef.h> and all we need is size_t.
83167         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83168         our interface, instead of including <sys/types.h>
83169
83170 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83171
83172         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83173         now, as glibc mktime is buggy on non-glibc systems.
83174
83175 2003-06-03  Karl Berry  <karl@gnu.org>
83176
83177         * config/config.sub: update from prep.
83178
83179 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83180
83181         [from coreutils]
83182         Fix some minor time-related bugs with POSIX time arguments.
83183         Some valid time stamps were being rejected (notably -1, and
83184         time stamps before 1900 on 64-bit hosts).  And some invalid
83185         time stamps were being accepted, e.g. September 31.
83186
83187         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83188         that we can return (time_t) -1 successfully.
83189         * lib/posixtm.c: Likewise.
83190         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83191         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83192         (t): Remove static var.
83193         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83194         of static var.  All uses changed.
83195         (year): Do not reject years before 1900; they can occur with
83196         64-bit time_t.
83197         (posix_time_parse): Do not check for out-of-range components;
83198         that is now the caller's responsibility, since our checks were
83199         only approximations.
83200         (posixtime): Use mktime to check for out-of-range components,
83201         since it knows them exactly.
83202         If mktime returns (time_t) -1, check whether an error actually occurred
83203         by invoking localtime on -1.
83204         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83205         posixtime failures better.
83206         Improve the test data (in comments only).
83207
83208 2003-06-02  Karl Berry  <karl@gnu.org>
83209
83210         * config/mkinstalldirs (version): new variable.
83211         (--version): new option.
83212         (usage): improve message.
83213
83214 2003-05-30  Karl Berry  <karl@gnu.org>
83215
83216         * lib/mktime.c: update from libc.
83217
83218 2003-05-30  Bruno Haible  <bruno@clisp.org>
83219
83220         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83221         * config/config.rpath: Upgrade to gettext-0.12.1.
83222
83223 2003-05-30  Bruno Haible  <bruno@clisp.org>
83224
83225         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83226         * m4/nls.m4: New file, from gettext-0.12.1.
83227         * m4/po.m4: New file, from gettext-0.12.1.
83228         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83229
83230 2003-05-30  Bruno Haible  <bruno@clisp.org>
83231
83232         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83233         * lib/localcharset.h: Likewise.
83234         * lib/localcharset.c: Likewise.
83235
83236 2003-05-29  Karl Berry  <karl@gnu.org>
83237
83238         * config/config.rpath: update from gettext.
83239
83240 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83241
83242         Assume the headers required for C89 freestanding compilers.
83243         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83244         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83245         * m4/human.m4 (gl_HUMAN): Likewise.
83246         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83247         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83248         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83249         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83250         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83251         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83252
83253 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83254
83255         Assume the headers required for C89 freestanding compilers.
83256         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83257         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83258         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83259         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83260         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83261         define, since <limits.h> is guaranteed to do that.
83262         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83263         * lib/exclude.c: Include <stdbool.h> unconditionally.
83264         * lib/tempname.c: Include <stddef.h> unconditionally.
83265         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83266         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83267         <stddef.h> does that.
83268         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83269         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83270         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83271         needed.
83272         * lib/xstrtol.c: Likewise.
83273         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83274         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83275
83276         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83277         warnings on some platforms.
83278
83279         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83280         arbitrarily.
83281
83282 2003-05-26  Jim Meyering  <jim@meyering.net>
83283
83284         Merge in a change from coreutils:
83285         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83286         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83287         that condition, rather than `-1' which is slightly misleading.
83288         Change the name of the cache variable to have the gl_ prefix.
83289         Prompted by a patch from Richard Dawe for DJGPP.
83290
83291 2003-05-24  Karl Berry  <karl@gnu.org>
83292
83293         * config/config.guess: update from prep.
83294
83295 2003-05-22  Karl Berry  <karl@gnu.org>
83296
83297         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83298
83299 2003-05-20  Karl Berry  <karl@gnu.org>
83300
83301         * config/config.guess: update from prep.
83302
83303 2003-05-18  Karl Berry  <karl@gnu.org>
83304
83305         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83306         might actually be set by the user.
83307
83308         * config/depcomp, install-sh, mdate-sh: update from automake.
83309
83310 2003-05-17  Bruno Haible  <bruno@clisp.org>
83311
83312         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83313         invalid expansion for AC_EGREP_CPP.
83314         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83315         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83316         Suggested by Akim Demaille <akim@epita.fr> in
83317         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83318
83319 2003-05-12  Jim Meyering  <jim@meyering.net>
83320
83321         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83322         the space-padded-by-default conversion specifiers, %e, %k, %l.
83323
83324 2003-05-12  Bruno Haible  <bruno@clisp.org>
83325
83326         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83327         the string is longer than 4 KB.
83328
83329 2003-05-11  Karl Berry  <karl@gnu.org>
83330
83331         * config/config.{guess,sub}: update from prep.
83332
83333 2003-05-09  Bruno Haible  <bruno@clisp.org>
83334
83335         * modules/error: Add m4/strerror_r.m4 to file list.
83336
83337 2003-05-03  Bruno Haible  <bruno@clisp.org>
83338
83339         Upgrade to Unicode-4.0.
83340         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83341         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83342         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83343         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83344         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83345         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83346         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83347         Change width of U+E0100..U+E01EF from 1 to 0.
83348
83349 2003-04-25  Jim Meyering  <jim@meyering.net>
83350
83351         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83352         of type size_t, not int.
83353
83354 2003-04-25  Bruno Haible  <bruno@clisp.org>
83355
83356         * lib/copy-file.c: Include <stddef.h>, for size_t.
83357
83358 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83359
83360         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83361         code which expansion is under static control.  Patch imported from
83362         Akim Demaille's patch to Bison; see
83363         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83364
83365 2003-04-14  Bruno Haible  <bruno@clisp.org>
83366
83367         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83368
83369 2003-04-11  Jim Meyering  <jim@meyering.net>
83370
83371         Merge changes from Coreutils.
83372
83373         2003-03-22  Jim Meyering  <jim@meyering.net>
83374
83375         * lib/strftime.c (widen): Cast alloca return value to proper type.
83376
83377         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83378
83379         From GNU libc.
83380         * lib/strftime.c (my_strftime): Handle very large width
83381         specifications for numeric values correctly.  Improve checks for
83382         overflow.
83383
83384         2003-01-19  Jim Meyering  <jim@meyering.net>
83385
83386         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83387         definitions.
83388         (nl_get_alt_digit) [! defined my_strftime]: Define.
83389         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83390         _nl_get_alt_digit and _nl_get_walt_digit.
83391
83392         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83393         libc. These changes have no effect outside of _LIBC.
83394
83395 2003-04-10  Bruno Haible  <bruno@clisp.org>
83396
83397         * modules/findprog: New file.
83398         * MODULES.html.sh (func_all_modules): Add it.
83399
83400 2003-04-10  Bruno Haible  <bruno@clisp.org>
83401
83402         * m4/findprog.m4: New file.
83403         * m4/eaccess.m4: New file.
83404
83405 2003-04-10  Bruno Haible  <bruno@clisp.org>
83406
83407         * lib/findprog.h: New file, from GNU gettext.
83408         * lib/findprog.c: New file, from GNU gettext.
83409
83410 2003-04-05  Jim Meyering  <jim@meyering.net>
83411
83412         Merge changes from Coreutils.
83413
83414         * lib/exclude.h (PARAMS): Remove definition and uses.
83415         * lib/exclude.c: Remove uses of `PARAMS'.
83416
83417         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83418         Add test-cases for DOS filenames. Declare program_name.
83419         (main): Set up program_name.  Patch by Rich Dawe.
83420
83421         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83422         error from mntctl.
83423         Use mntctl's return value to drive the entry-processing loop, since
83424         we can't rely on the value of the vmt_length member in the last
83425         entry.  On some systems doing so could result in exhausting
83426         virtual memory.  Based in part on a patch from Mike Jetzer.
83427
83428 2003-04-04  Bruno Haible  <bruno@clisp.org>
83429
83430         * modules/linebreak: New file.
83431         * MODULES.html.sh (func_all_modules): Add it.
83432
83433 2003-04-04  Bruno Haible  <bruno@clisp.org>
83434
83435         * m4/linebreak.m4: New file.
83436
83437 2003-04-04  Bruno Haible  <bruno@clisp.org>
83438
83439         * lib/linebreak.h: New file, from GNU gettext.
83440         * lib/linebreak.c: New file, from GNU gettext with slight
83441         modifications.
83442         * lib/lbrkprop.h: New file, from GNU gettext.
83443
83444 2003-04-03  Bruno Haible  <bruno@clisp.org>
83445
83446         * modules/utf8-ucs4: New file.
83447         * modules/utf16-ucs4: New file.
83448         * modules/ucs4-utf8: New file.
83449         * modules/ucs4-utf16: New file.
83450         * MODULES.html.sh (func_all_modules): Add them.
83451
83452 2003-04-03  Bruno Haible  <bruno@clisp.org>
83453
83454         * m4/utf-ucs4.m4: New file.
83455         * m4/ucs4-utf.m4: New file.
83456
83457 2003-04-03  Bruno Haible  <bruno@clisp.org>
83458
83459         * lib/utf8-ucs4.h: New file, from GNU gettext.
83460         * lib/utf16-ucs4.h: New file, from GNU gettext.
83461         * lib/ucs4-utf8.h: New file, from GNU gettext.
83462         * lib/ucs4-utf16.h: New file, from GNU gettext.
83463
83464 2003-04-02  Bruno Haible  <bruno@clisp.org>
83465
83466         * modules/binary-io: New file.
83467         * MODULES.html.sh (func_all_modules): Add it.
83468
83469 2003-04-02  Bruno Haible  <bruno@clisp.org>
83470
83471         * lib/binary-io.h: New file, from GNU gettext.
83472
83473 2003-04-01  Bruno Haible  <bruno@clisp.org>
83474
83475         * modules/pathname: New file.
83476         * MODULES.html.sh (func_all_modules): Add it.
83477
83478 2003-04-01  Bruno Haible  <bruno@clisp.org>
83479
83480         * lib/pathname.h: New file, from GNU gettext.
83481         * lib/concatpath.c: New file, from GNU gettext.
83482
83483 2003-03-30  Bruno Haible  <bruno@clisp.org>
83484
83485         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83486
83487 2003-03-30  Bruno Haible  <bruno@clisp.org>
83488
83489         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83490         function chown() doesn't exist.
83491
83492 2003-03-28  Bruno Haible  <bruno@clisp.org>
83493
83494         * modules/copy-file: New file.
83495         * MODULES.html.sh (func_all_modules): Add it.
83496
83497 2003-03-28  Bruno Haible  <bruno@clisp.org>
83498
83499         * m4/copy-file.m4: New file.
83500
83501 2003-03-28  Bruno Haible  <bruno@clisp.org>
83502
83503         * lib/copy-file.h: New file, from GNU gettext.
83504         * lib/copy-file.c: New file, from GNU gettext.
83505
83506 2003-03-18  Jim Meyering  <jim@meyering.net>
83507
83508         * lib/quote.c (quote_n): Fix typo in comment.
83509
83510 2003-03-18  Bruno Haible  <bruno@clisp.org>
83511
83512         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83513         checking.
83514         * m4/onceonly_2_57.m4: Likewise.
83515
83516 2003-03-17  Bruno Haible  <bruno@clisp.org>
83517
83518         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83519         (m4_quote): Remove macro.
83520         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83521
83522 2003-03-14  Jim Meyering  <jim@meyering.net>
83523
83524         Merge changes from Coreutils.
83525         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83526         to be const, in order to avoid warnings.
83527         (obstack_room): Likewise.
83528         (obstack_empty_p): Likewise.
83529
83530 2003-03-14  Bruno Haible  <bruno@clisp.org>
83531
83532         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83533         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83534
83535 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83536
83537         Merge changes from Bison.
83538         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83539         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83540         when compiling Bison 1.875's `bitset bset = obstack_alloc
83541         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83542         * lib/hash.c: Include <stdbool.h> unconditionally.
83543
83544 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83545
83546         * m4/onceonly.m4 (m4_quote): New macro.
83547         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83548         Quote AC_FOREACH variable-expansions properly.
83549
83550 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83551
83552         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83553
83554 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83555
83556         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83557         Reported by Bruce Becker; see:
83558         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83559
83560 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83561             Bruno Haible  <bruno@clisp.org>
83562
83563         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83564         Reported by John Hughes, see
83565         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83566
83567 2003-02-20  Bruno Haible  <bruno@clisp.org>
83568
83569         * MODULES.html.sh (func_all_modules): Add poll.
83570
83571 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83572
83573         * modules/poll: New file.
83574
83575 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83576
83577         * lib/poll_.h: New file.
83578         * lib/poll.c: New file.
83579
83580 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83581
83582         * m4/poll.m4: New file.
83583
83584 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83585
83586         * modules/mathl: New file.
83587
83588 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83589
83590         * lib/mathl.h: New file.
83591         * lib/acosl.c: New file.
83592         * lib/asinl.c: New file.
83593         * lib/atanl.c: New file.
83594         * lib/ceill.c: New file.
83595         * lib/cosl.c: New file.
83596         * lib/expl.c: New file.
83597         * lib/floorl.c: New file.
83598         * lib/frexpl.c: New file.
83599         * lib/ldexpl.c: New file.
83600         * lib/logl.c: New file.
83601         * lib/sincosl.c: New file.
83602         * lib/sinl.c: New file.
83603         * lib/sqrtl.c: New file.
83604         * lib/tanl.c: New file.
83605         * lib/trigl.c: New file.
83606         * lib/trigl.h: New file.
83607
83608 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83609
83610         * m4/mathl.m4: New file.
83611
83612 2003-02-18  Bruno Haible  <bruno@clisp.org>
83613
83614         * MODULES.html.sh (func_all_modules): Add mathl.
83615
83616 2003-02-17  Bruno Haible  <bruno@clisp.org>
83617
83618         * modules/mkdtemp: New module.
83619         * MODULES.html.sh (func_all_modules): Add it.
83620
83621 2003-02-17  Bruno Haible  <bruno@clisp.org>
83622
83623         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83624
83625 2003-02-17  Bruno Haible  <bruno@clisp.org>
83626
83627         * lib/mkdtemp.h: New file, from GNU gettext.
83628         * lib/mkdtemp.c: New file, from GNU gettext.
83629
83630 2003-02-02  Jim Meyering  <jim@meyering.net>
83631
83632         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83633         e.g. glibc-2.2.93.
83634
83635 2003-01-31  Bruno Haible  <bruno@clisp.org>
83636
83637         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83638         'rpl_rename'.
83639         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83640         'rpl_strnlen'.
83641         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83642         'rpl_strtod'.
83643         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83644         'rpl_utime'.
83645
83646 2003-01-31  Bruno Haible  <bruno@clisp.org>
83647
83648         * lib/rename.c: #undef rename before defining rpl_rename.
83649         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83650
83651 2003-01-30  Bruno Haible  <bruno@clisp.org>
83652
83653         * modules/vasnprintf, modules/vasprintf: New modules.
83654         * MODULES.html.sh (func_all_modules): Add them.
83655
83656 2003-01-30  Bruno Haible  <bruno@clisp.org>
83657
83658         * m4/signed.m4: New file, from GNU gettext.
83659         * m4/longdouble.m4: New file, from GNU gettext.
83660         * m4/wchar_t.m4: New file, from GNU gettext.
83661         * m4/wint_t.m4: New file, from GNU gettext.
83662         * m4/vasnprintf.m4: New file.
83663         * m4/vasprintf.m4: New file.
83664
83665 2003-01-30  Bruno Haible  <bruno@clisp.org>
83666
83667         * lib/printf-args.h: New file, from GNU gettext.
83668         * lib/printf-args.c: New file, from GNU gettext.
83669         * lib/printf-parse.h: New file, from GNU gettext.
83670         * lib/printf-parse.c: New file, from GNU gettext.
83671         * lib/vasnprintf.h: New file, from GNU gettext.
83672         * lib/vasnprintf.c: New file, from GNU gettext.
83673         * lib/asnprintf.c: New file, from GNU gettext.
83674         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83675         * lib/vasprintf.c: New file, from GNU gettext.
83676         * lib/asprintf.c: New file, from GNU gettext.
83677
83678 2003-01-29  Bruno Haible  <bruno@clisp.org>
83679
83680         * modules/stpncpy: New module.
83681         * MODULES.html.sh (func_all_modules): Add it.
83682
83683 2003-01-29  Bruno Haible  <bruno@clisp.org>
83684
83685         * m4/stpncpy.m4: New file.
83686
83687 2003-01-29  Bruno Haible  <bruno@clisp.org>
83688
83689         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83690         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83691
83692 2003-01-28  Bruno Haible  <bruno@clisp.org>
83693
83694         * modules/c-ctype: New module.
83695         * MODULES.html.sh (func_all_modules): Add it.
83696
83697 2003-01-28  Bruno Haible  <bruno@clisp.org>
83698
83699         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83700         Paul Eggert.
83701         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83702         Paul Eggert.
83703
83704 2003-01-27  Bruno Haible  <bruno@clisp.org>
83705
83706         * modules/xsetenv: New module.
83707         * MODULES.html.sh (func_all_modules): Add it.
83708
83709 2003-01-27  Bruno Haible  <bruno@clisp.org>
83710
83711         * lib/xsetenv.h: New file, from GNU gettext.
83712         * lib/xsetenv.c: New file, from GNU gettext.
83713
83714 2003-01-23  Jim Meyering  <jim@meyering.net>
83715
83716         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83717         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83718
83719 2003-01-23  Bruno Haible  <bruno@clisp.org>
83720
83721         * modules/minmax: New module.
83722         * MODULES.html.sh (func_all_modules): Add it.
83723
83724 2003-01-23  Bruno Haible  <bruno@clisp.org>
83725
83726         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83727         Eggert.
83728
83729 2003-01-22  Bruno Haible  <bruno@clisp.org>
83730
83731         * modules/exit: New module.
83732         * MODULES.html.sh (func_all_modules): Add it.
83733
83734 2003-01-22  Bruno Haible  <bruno@clisp.org>
83735
83736         * lib/exit.h: New file, from GNU gettext.
83737
83738 2003-01-19  Bruno Haible  <bruno@clisp.org>
83739
83740         * gnulib-tool: Recognize option --extract-maintainer.
83741         (func_get_maintainer): New function.
83742         * modules/*: Add Maintainer entry.
83743
83744 2003-01-16  Jim Meyering  <jim@meyering.net>
83745
83746         * m4/regex.m4: The `regex' struct is both input and output.
83747         Initialize it before each use.  Patch by Tim Waugh.
83748
83749 2003-01-16  Bruno Haible  <bruno@clisp.org>
83750
83751         * MODULES.html.sh: Add a table of contents. Add the module name as
83752         leftmost column. Add hyperlinks.
83753
83754 2003-01-15  Bruno Haible  <bruno@clisp.org>
83755
83756         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83757
83758 2003-01-15  Bruno Haible  <bruno@clisp.org>
83759
83760         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83761         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83762         suffix.
83763
83764 2003-01-15  Bruno Haible  <bruno@clisp.org>
83765
83766         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83767
83768 2003-01-15  Bruno Haible  <bruno@clisp.org>
83769
83770         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83771         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83772
83773 2003-01-14  Jim Meyering  <jim@meyering.net>
83774
83775         * lib/same.c (same_name): Tweak a comment.
83776
83777 2003-01-14  Bruno Haible  <bruno@clisp.org>
83778
83779         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83780         when a string comparison is sufficient.
83781
83782 2003-01-14  Bruno Haible  <bruno@clisp.org>
83783
83784         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83785         'unsigned int'.
83786
83787 2003-01-14  Bruno Haible  <bruno@clisp.org>
83788
83789         * lib/hash-pjw.c: Add comment about low quality of this function.
83790
83791 2003-01-13  Bruno Haible  <bruno@clisp.org>
83792
83793         * modules/stpcpy: Distribute lib/stpcpy.h.
83794         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83795
83796 2003-01-13  Bruno Haible  <bruno@clisp.org>
83797
83798         * modules/*: Add a description.
83799         * modules/strpbrk: Fix Makefile.am snippet.
83800         * modules/strtoimax: Fix dependencies.
83801         * modules/strtoumax: Likewise.
83802
83803 2003-01-13  Bruno Haible  <bruno@clisp.org>
83804
83805         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83806         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83807         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83808
83809 2003-01-13  Bruno Haible  <bruno@clisp.org>
83810
83811         * gnulib-tool (func_create_testdir): Store config/* files in the main
83812         directory.
83813         * config.rpath: Move to ...
83814         * config/config.rpath: ... here.
83815         * modules/gettext: Contains config/config.rpath, not config.rpath.
83816         * modules/iconv: Likewise.
83817
83818 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83819
83820         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83821         to avoid collisions with libcurses and libreadline.
83822
83823         * m4/getstr.m4: Remove.
83824         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83825
83826 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83827
83828         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83829         to avoid collisions with libcurses and libreadline.
83830
83831         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83832         * lib/getstr.h, getstr.c: Remove.
83833         * lib/getline.c: Include "getline.h", to check interface.
83834         Move body of old getstr.c here: this defines MIN_CHUNK and
83835         declares getdelim2, which is renamed from getstr.
83836         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83837
83838         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83839         All uses changed.
83840         * lib/linebuffer.h: Likewise.
83841         (readline): Remove backward-compatibility macro.
83842
83843 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83844
83845         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83846         to avoid collisions with libcurses and libreadline.
83847         * getstr: Remove.
83848         * MODULES.html.sh: Remove getstr.
83849         * modules/getline: Depend on unlocked-io, not getstr.
83850
83851 2003-01-12  Jim Meyering  <jim@meyering.net>
83852
83853         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83854
83855 2003-01-10  Bruno Haible  <bruno@clisp.org>
83856
83857         * modules/alloca: Change Makefile.am requirements. Simplify Include
83858         requirements. Add lib/alloca_.h to file list.
83859
83860 2003-01-10  Bruno Haible  <bruno@clisp.org>
83861
83862         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83863
83864 2003-01-10  Bruno Haible  <bruno@clisp.org>
83865
83866         * lib/alloca_.h: New file.
83867         * lib/getdate.y: Unconditionally include alloca.h.
83868         * lib/makepath.c: Likewise.
83869         * lib/setenv.c: Likewise.
83870         * lib/userspec.c: Likewise.
83871
83872 2003-01-09  Karl Berry  <karl@gnu.org>
83873
83874         * MODULES.html.sh: include `dirname $0` in PATH, to find
83875         gnulib-tool.
83876
83877 2003-01-09  Bruno Haible  <bruno@clisp.org>
83878
83879         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83880         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83881
83882 2003-01-09  Bruno Haible  <bruno@clisp.org>
83883
83884         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83885
83886 2003-01-09  Bruno Haible  <bruno@clisp.org>
83887
83888         * lib/stdbool.h.in: New file.
83889
83890 2003-01-09  Bruno Haible  <bruno@clisp.org>
83891
83892         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83893         * MODULES.html.sh: Likewise.
83894
83895 2003-01-08  Jim Meyering  <jim@meyering.net>
83896
83897         * lib/full-write.c: Undefine and define-away `const' after inclusion
83898         of errno.h, not before.  Suggestion from Bruno Haible.
83899
83900 2003-01-08  Bruno Haible  <bruno@clisp.org>
83901
83902         * modules/full-read: Depend on full-write.
83903
83904 2003-01-08  Bruno Haible  <bruno@clisp.org>
83905
83906         * lib/safe-read.c: Include specification header first, to ensure its
83907         selfcontainedness.
83908         * lib/full-write.c: Likewise.
83909
83910 2003-01-07  Jim Meyering  <jim@meyering.net>
83911
83912         * lib/full-write.c: Rework so that it may serve to define full_read,
83913         too.
83914         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83915
83916 2003-01-07  Bruno Haible  <bruno@clisp.org>
83917
83918         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83919         <inttypes.h>.
83920         * lib/xstrtol.h: Likewise.
83921         * lib/xstrtoimax.c: Likewise.
83922         * lib/xstrtoumax.c: Likewise.
83923         * lib/human.h: Likewise.
83924
83925         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83926         on systems that have <inttypes.h> but not <stdint.h>.
83927
83928 2003-01-07  Bruno Haible  <bruno@clisp.org>
83929
83930         * MODULES.html.sh: Add copyright notice.
83931         (missed_files): Omit CVS directory entries.
83932         (func_module): Make it work with sed-3.02.
83933         * MODULES.txt: Remove file.
83934
83935 2003-01-06  Jim Meyering  <jim@meyering.net>
83936
83937         * lib/version-etc.c: Update year in translatable copyright string.
83938
83939 2003-01-03  Karl Berry  <karl@gnu.org>
83940
83941         * config/config.{guess,sub}: update from prep.
83942
83943 2003-01-02  Karl Berry  <karl@gnu.org>
83944
83945         * doc/COPYING.DOC: belatedly updated to 1.2.
83946
83947 2003-01-01  Karl Berry  <karl@gnu.org>
83948
83949         * gnulib-tool (func_verify_module): report module name $module in
83950         error message, not $1.
83951         * gnulib-tool (create-testdir): don't complain if destdir couldn't
83952         be created, only if it doesn't exist.
83953         * gnulib-tool (last_checkin_date): don't expand the $Date here.
83954
83955 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83956
83957         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
83958
83959 2002-12-31  Paul Eggert  <eggert@twinsun.com>
83960
83961         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
83962         memcmp if strcoll doesn't work.
83963
83964 2002-12-31  Bruno Haible  <bruno@clisp.org>
83965
83966         * lib/utime.c (utime_null): No need to call ftruncate if the file was
83967         nonempty.
83968
83969 2002-12-31  Bruno Haible  <bruno@clisp.org>
83970
83971         * lib/memcoll.c (STRCOLL): New macro.
83972         (memcoll): Use it.
83973
83974 2002-12-31  Bruno Haible  <bruno@clisp.org>
83975
83976         * lib/localcharset.h: New file.
83977         * lib/localcharset.c: Include it.
83978         * lib/unicodeio.c: Likewise.
83979
83980 2002-12-31  Bruno Haible  <bruno@clisp.org>
83981
83982         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
83983         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
83984
83985 2002-12-31  Bruno Haible  <bruno@clisp.org>
83986
83987         * lib/getline.h: Include <stddef.h>, for size_t.
83988
83989         * lib/unicodeio.h: Include <stddef.h>, for size_t.
83990         * lib/unicodeio.c: Don't include <stddef.h>.
83991
83992 2002-12-31  Bruno Haible  <bruno@clisp.org>
83993
83994         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
83995         HAVE_TM_ZONE.
83996
83997 2002-12-24  Karl Berry  <karl@gnu.org>
83998
83999         * config/config.guess: update from prep.
84000
84001 2002-12-24  Bruno Haible  <bruno@clisp.org>
84002
84003         General infrasructure.
84004         * m4/README: Rewritten.
84005         * m4/onceonly.m4: New file.
84006         * m4/onceonly_2_57.m4: New file.
84007
84008         Module atexit.
84009         * m4/atexit.m4: New file.
84010
84011         Module strtod.
84012         * m4/strtod.m4: New file.
84013
84014         Module strtol.
84015         * m4/strtol.m4: New file.
84016
84017         Module strtoul.
84018         * m4/strtoul.m4: New file.
84019
84020         Module memchr.
84021         * m4/memchr.m4: New file.
84022
84023         Module memcmp.
84024         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84025         (jm_FUNC_MEMCMP): Invoke it.
84026
84027         Module memcpy.
84028         * m4/memcpy.m4: New file.
84029
84030         Module memmove.
84031         * m4/memmove.m4: New file.
84032
84033         Module memset.
84034         * m4/memset.m4: New file.
84035
84036         Module strcspn.
84037         * m4/strcspn.m4: New file.
84038
84039         Module strpbrk.
84040         * m4/strpbrk.m4: New file.
84041
84042         Module strstr.
84043         * m4/strstr.m4: New file.
84044
84045         Module strerror.
84046         * m4/strerror.m4: New file.
84047
84048         Module mktime.
84049         * m4/mktime.m4: Renamed from jm-mktime.m4.
84050         (gl_PREREQ_MKTIME): New macro.
84051         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84052
84053         Module malloc.
84054         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84055         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84056         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84057
84058         Module realloc.
84059         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84060         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84061         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84062
84063         Module strftime.
84064         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84065         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84066         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84067         gl_TM_GMTOFF.
84068         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84069
84070         Module xalloc.
84071         * m4/xalloc.m4: New file.
84072
84073         Module alloca.
84074         * m4/alloca.m4: New file.
84075
84076         Module putenv.
84077         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84078         (jm_FUNC_PUTENV): Invoke it.
84079
84080         Module setenv.
84081         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84082         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84083         when invoked twice.
84084         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84085         gt_FUNC_SETENV.
84086
84087         Module memrchr.
84088         * m4/memrchr.m4: New file.
84089
84090         Module stpcpy.
84091         * m4/stpcpy.m4: New file.
84092
84093         Module strcase.
84094         * m4/strcase.m4: New file.
84095
84096         Module strdup.
84097         * m4/strdup.m4: New file.
84098
84099         Module strnlen.
84100         * m4/strnlen.m4: New file.
84101
84102         Module strndup.
84103         * m4/strndup.m4: New file.
84104
84105         Module xstrtod.
84106         * m4/xstrtod.m4: New file.
84107
84108         Module xstrtol.
84109         * m4/xstrtol.m4: New file.
84110
84111         Module getdate.
84112         * m4/getdate.m4: New file.
84113
84114         Module unlocked-io.
84115         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84116         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84117         * m4/jm-glibc-io.m4n: Remove file.
84118
84119         Module long-options.
84120         * m4/long-options.m4: New file.
84121
84122         Module md5.
84123         * m4/md5.m4: New file.
84124
84125         Module sha.
84126         * m4/sha.m4: New file.
84127
84128         Module getstr.
84129         * m4/getstr.m4: New file.
84130
84131         Module getline.
84132         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84133         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84134         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84135         simply getline. Infoke gl_PREREQ_GETLINE.
84136
84137         Module obstack.
84138         * m4/obstack.m4: New file.
84139
84140         Module hash.
84141         * m4/hash.m4: New file.
84142
84143         Module readtokens.
84144         * m4/readtokens.m4: New file.
84145
84146         Module strverscmp.
84147         * m4/strverscmp.m4: New file.
84148
84149         Module stdbool.
84150         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84151         OSF/1.
84152
84153         Module strtoll.
84154         * m4/strtoll.m4: New file.
84155
84156         Module strtoull.
84157         * m4/strtoull.m4: New file.
84158
84159         Module strtoimax.
84160         * m4/strtoimax.m4: New file.
84161
84162         Module strtoumax.
84163         * m4/strtoumax.m4: New file.
84164
84165         Module xstrtoimax.
84166         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84167         jm_AC_PREREQ_XSTRTOIMAX.
84168         Moved the strtol prerequisites to strtol.m4.
84169         Moved the strtoll prerequisites to strtoll.m4.
84170         Moved the strtoimax prerequisites to strtoimax.m4.
84171
84172         Module xstrtoumax.
84173         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84174         jm_AC_PREREQ_XSTRTOUMAX.
84175         Moved the strtoul prerequisites to strtoul.m4.
84176         Moved the strtoull prerequisites to strtoull.m4.
84177         Moved the strtoumax prerequisites to strtoumax.m4.
84178
84179         Module chown.
84180         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84181         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84182
84183         Module dup2.
84184         * m4/dup2.m4: New file.
84185
84186         Module ftruncate.
84187         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84188         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84189
84190         Module getgroups.
84191         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84192         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84193
84194         Module gettimeofday.
84195         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84196         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84197         gl_PREREQ_GETTIMEOFDAY.
84198
84199         Module mkdir.
84200         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84201         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84202
84203         Module mkstemp.
84204         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84205         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84206         jm_AC_TYPE_UINTMAX_T.
84207         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84208
84209         Module stat.
84210         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84211         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84212
84213         Module lstat.
84214         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84215         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84216
84217         Module timespec.
84218         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84219         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84220         * m4/st_mtim.m4: Indentation.
84221
84222         Module nanosleep.
84223         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84224         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84225         gl_PREREQ_NANOSLEEP.
84226
84227         Module regex.
84228         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84229         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84230         (gl_REGEX): New macro.
84231
84232         Module rename.
84233         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84234         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84235
84236         Module rmdir.
84237         * m4/rmdir.m4: New file.
84238
84239         Module utime.
84240         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84241         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84242         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84243
84244         Module dirname.
84245         * m4/dirname.m4: New file.
84246
84247         Module getopt.
84248         * m4/getopt.m4: New file.
84249
84250         Module unistd-safer.
84251         * m4/unistd-safer.m4: New file.
84252
84253         Module fnmatch.
84254         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84255         declaration.
84256         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84257         (gl_FUNC_FNMATCH_POSIX): New macro.
84258         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84259         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84260         simply fnmatch.
84261
84262         Module exclude.
84263         * m4/exclude.m4: New file.
84264
84265         Module human.
84266         * m4/human.m4: New file.
84267
84268         Module acl.
84269         * m4/acl.m4: Nop.
84270
84271         Module backupfile.
84272         * m4/backupfile.m4: New file.
84273         * m4/d-ino.m4: Indentation.
84274
84275         Module fsusage.
84276         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84277         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84278         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84279
84280         Module dirfd.
84281         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84282         requirements.
84283
84284         Module euidaccess.
84285         * m4/euidaccess.m4: New file.
84286
84287         Module file-type.
84288         * m4/file-type.m4: New file.
84289
84290         Module fileblocks.
84291         * m4/fileblocks.m4: New file.
84292
84293         Module filemode.
84294         * m4/filemode.m4: New file.
84295
84296         Module isdir.
84297         * m4/isdir.m4: New file.
84298
84299         Module lchown.
84300         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84301         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84302
84303         Module makepath.
84304         * m4/makepath.m4: New file.
84305
84306         Module modechange.
84307         * m4/modechange.m4: New file.
84308
84309         Module mountlist.
84310         * m4/mountlist.m4: New file.
84311         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84312         Indentation.
84313
84314         Module path-concat.
84315         * m4/path-concat.m4: New file.
84316
84317         Module pathmax.
84318         * m4/pathmax.m4: New file.
84319
84320         Module same.
84321         * m4/same.m4: New file.
84322
84323         Module save-cwd.
84324         * m4/save-cwd.m4: New file.
84325
84326         Module savedir.
84327         * m4/savedir.m4: New file.
84328
84329         Module xgetcwd.
84330         * m4/xgetcwd.m4: New file.
84331         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84332
84333         Module xreadlink.
84334         * m4/xreadlink.m4: New file.
84335
84336         Module safe-read.
84337         * m4/safe-read.m4: New file.
84338
84339         Module safe-write.
84340         * m4/safe-write.m4: New file.
84341
84342         Module closeout.
84343         * m4/closeout.m4: New file.
84344
84345         Module stdio-safer.
84346         * m4/stdio-safer.m4: New file.
84347
84348         Module getpass.
84349         * m4/getpass.m4: New file.
84350
84351         Module getugroups.
84352         * m4/getugroups.m4: New file.
84353
84354         Module group-member.
84355         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84356         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84357
84358         Module idcache.
84359         * m4/idcache.m4: New file.
84360
84361         Module userspec.
84362         * m4/userspec.m4: New file.
84363
84364         Module gettime.
84365         * m4/clock_time.m4: New file.
84366         * m4/gettime.m4: New file.
84367
84368         Module settime.
84369         * m4/settime.m4: New file.
84370
84371         Module posixtm.
84372         * m4/posixtm.m4: New file.
84373
84374         Module gethostname.
84375         * m4/gethostname.m4: New file.
84376
84377         Module canon-host.
84378         * m4/canon-host.m4: New file.
84379
84380         Module gettext.
84381         * m4/codeset.m4: New file, from gettext-0.11.5.
84382         * m4/gettext.m4: New file, from gettext-0.11.5.
84383         * m4/glibc21.m4: New file, from gettext-0.11.5.
84384         * m4/iconv.m4: New file, from gettext-0.11.5.
84385         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84386         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84387         * m4/inttypes.m4: New file, from gettext-0.11.5.
84388         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84389         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84390         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84391         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84392         * m4/lib-link.m4: New file, from gettext-0.11.5.
84393         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84394         * m4/progtest.m4: New file, from gettext-0.11.5.
84395         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84396         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84397         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84398
84399         Module localcharset.
84400         * m4/localcharset.m4: New file.
84401
84402         Module hard-locale.
84403         * m4/hard-locale.m4: New file.
84404
84405         Module mbswidth.
84406         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84407         onceonly macros.
84408         * m4/mbrtowc.m4: Add comment.
84409
84410         Module memcasecmp.
84411         * m4/memcasecmp.m4: New file.
84412
84413         Module memcoll.
84414         * m4/memcoll.m4: New file.
84415
84416         Module unicodeio.
84417         * m4/unicodeio.m4: New file.
84418
84419         Module rpmatch.
84420         * m4/rpmatch.m4: New file.
84421
84422         Module yesno.
84423         * m4/yesno.m4: New file.
84424
84425         Module exitfail.
84426         * m4/exitfail.m4: New file.
84427
84428         Module c-stack.
84429         * m4/c-stack.m4 (gl_C_STACK): New macro.
84430         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84431
84432         Module error.
84433         * m4/error.m4 (gl_ERROR): New macro.
84434         (jm_PREREQ_ERROR): Use onceonly macros.
84435
84436         Module fatal.
84437         * m4/fatal.m4: New file.
84438
84439         Module getloadavg.
84440         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84441         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84442
84443         Module getpagesize.
84444         * m4/getpagesize.m4: New file.
84445
84446         Module getusershell.
84447         * m4/getusershell.m4: New file.
84448
84449         Module physmem.
84450         * m4/physmem.m4: New file.
84451
84452         Module posixver.
84453         * m4/posixver.m4: New file.
84454
84455         Module quotearg.
84456         * m4/quotearg.m4: New file.
84457
84458         Module quote.
84459         * m4/quote.m4: New file.
84460
84461         Module readutmp.
84462         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84463
84464         Module sig2str.
84465         * m4/sig2str.m4: New file.
84466
84467         Other.
84468         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84469         ulonglong.m4.
84470         * m4/intmax_t.m4: New file.
84471         * m4/d-type.m4: Indentation.
84472         * m4/jm-macros.m4: Update.
84473         * m4/prereq.m4 (jm_PREREQ): Update.
84474         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84475         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84476         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84477         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84478         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84479         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84480         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84481         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84482         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84483         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84484         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84485         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84486         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84487         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84488         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84489         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84490         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84491         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84492         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84493
84494 2002-12-24  Bruno Haible  <bruno@clisp.org>
84495
84496         * MODULES.txt: Update according to m4/ changes.
84497
84498         Module gettext.
84499         * config.rpath: New file, from gettext-0.11.5.
84500
84501         * modules/*: New module descriptions.
84502         * gnulib-tool: New file.
84503         * MODULES.html.sh: New file.
84504
84505 2002-12-21  Karl Berry  <karl@gnu.org>
84506
84507         * doc/fdl.texi: update to version 1.2.
84508
84509 2002-12-19  Karl Berry  <karl@gnu.org>
84510
84511         * config/config.guess: update from prep.
84512
84513 2002-12-18  Bruno Haible  <bruno@clisp.org>
84514
84515         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84516         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84517
84518 2002-12-17  Bruno Haible  <bruno@clisp.org>
84519
84520         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84521         stdlib.h, string.h.
84522
84523 2002-12-17  Bruno Haible  <bruno@clisp.org>
84524
84525         * lib/canon-host.c (strdup): Remove unused declaration.
84526
84527         * lib/fsusage.c: Include full_read.h.
84528         (get_fs_usage): Use full_read instead of safe_read.
84529
84530         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84531
84532 2002-12-12  Karl Berry  <karl@gnu.org>
84533
84534         * config/config.guess: update from prep.
84535
84536 2002-12-11  Bruno Haible  <bruno@clisp.org>
84537
84538         * m4/setenv.m4: New file, from gettext-0.11.5.
84539
84540 2002-12-11  Bruno Haible  <bruno@clisp.org>
84541
84542         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84543         not unsetenv().
84544         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84545         modifications:
84546
84547         2002-12-11  Bruno Haible  <bruno@clisp.org>
84548
84549                 * setenv.c (alloca): Fall back to malloc.
84550                 (freea): New macro.
84551                 (setenv): Use freea() to free memory allocated with alloca().
84552
84553         2002-11-13  Bruno Haible  <bruno@clisp.org>
84554
84555                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84556                 function declarations.
84557                 * unsetenv.c (unsetenv): Likewise.
84558
84559         2002-03-04  Bruno Haible  <bruno@clisp.org>
84560
84561                 Portability to AIX 4.3.3.
84562                 * unsetenv.c: New file, extracted from setenv.c.
84563                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84564
84565         2001-12-20  Bruno Haible  <bruno@clisp.org>
84566
84567                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84568                 use malloc instead. For SunOS 4.
84569
84570         2001-12-11  Bruno Haible  <bruno@clisp.org>
84571
84572                 * setenv.c: Declare alloca.
84573                 (compar_fn_t): New typedef.
84574                 (KNOWN_VALUE, STORE_VALUE): Use it.
84575
84576         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84577         setenv.h.
84578
84579 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84580
84581         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84582         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84583         Choose values that are less likely to collide with system fnmatch
84584         options.
84585         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84586         defined (e.g., a pure POSIX system).
84587         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84588         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84589
84590 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84591
84592         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84593         a pain in practice to deal with generated m4 files.  This change
84594         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84595
84596         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84597         and jm-glibc-io.m4, as they are no longer a special case.
84598         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84599         kludge and the auto-generation stuff.  Check only whether the
84600         functions are declared, not whether they exist, since older hosts
84601         that don't declare the functions can't use the optimization anyway.
84602
84603 2002-12-06  Jim Meyering  <jim@meyering.net>
84604
84605         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84606
84607         Merge in changes from libc's misc/error.c, in preparation
84608         for the merge of gnulib's changes back into libc.
84609
84610         * lib/error.c (_): Define only if not already defined.
84611         Move definition to follow all #include directives.
84612         Include unlocked-io.h only if !_LIBC.
84613         [_LIBC]: Include <libio/libioP.h>.
84614         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84615         (fflush): Tweak definition to use INTUSE.
84616         (putc): Define.
84617
84618 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84619
84620         * lib/alloca.c [defined emacs]: Include "lisp.h".
84621         (xalloc_die) [defined emacs]: New macro.
84622         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84623         [! defined emacs]: Include <xalloc.h>.
84624         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84625         (pointer): Typedef to POINTER_TYPE *.
84626         (malloc): Remove decl; we now always use xmalloc.
84627         (alloca): Use old-style definition, since Emacs needs this.
84628         Check for arithmetic overflow when computing combined size.
84629
84630 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84631
84632         Do not generate unlocked-io.h automatically, since it's easier to
84633         maintain it by hand.
84634
84635         * lib/unlocked-io.h: New file, from GNU diffutils,
84636         but with proper copyright notice and attribution.
84637         * lib/gen-uio: Remove.
84638         * lib/Makefile.am: Add copyright notice.
84639         (libfetish_a_SOURCES): Add unlocked-io.h.
84640         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84641         (DISTCLEANFILES, io_functions): Remove macros.
84642         (EXTRA_DIST): Remove gen_uio.
84643         (unlocked-io.h): Remove rule.
84644
84645 2002-12-04  Jim Meyering  <jim@meyering.net>
84646
84647         Reflect the fact that stat.c and lstat.c are no longer generated.
84648         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84649         (DISTCLEANFILES): Likewise.
84650         (EXTRA_DIST): Likewise.
84651         (all_local): Don't depend on stat.c or lstat.c.
84652         (stat.c, lstat.c): Remove rules.
84653         (EXTRA_DIST): Remove xstat.in.
84654
84655         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84656         * lib/stat.c: New file.  Contents mostly from xstat.in.
84657         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84658         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84659
84660         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84661         too.
84662         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84663
84664 2002-12-03  Jim Meyering  <jim@meyering.net>
84665
84666         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84667         but not semantics, to minimize the differences between these two files.
84668         (safe_read): Change comment to mention SAFE_READ_ERROR.
84669
84670         * lib/safe-read.c (IS_EINTR): Define.
84671         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84672
84673 2002-12-02  Jim Meyering  <jim@meyering.net>
84674
84675         * lib/safe-read.c (EINTR): Define.
84676         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84677         (INT_MAX): Provide fallback.
84678         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84679
84680         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84681
84682 2002-12-02  Bruno Haible  <bruno@clisp.org>
84683
84684         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84685         Define, taken from safe-read.c.
84686         (INT_MAX): Provide fallback.
84687         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84688         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84689
84690         * lib/safe-read.c (EINTR): Remove definition.
84691         (safe_read): Don't use EINTR if it is absent.
84692
84693 2002-12-01  Jim Meyering  <jim@meyering.net>
84694
84695         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84696         zero.
84697         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84698
84699 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84700
84701         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84702         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84703         with `if (! (value < limit)) abort ();', for readability.
84704
84705 2002-11-26  Karl Berry  <karl@gnu.org>
84706
84707         * lib/strdup.c: copy from libc again, with jim's ok.
84708         * lib/.cppi-disable: re-add strdup.c
84709
84710 2002-11-25  Karl Berry  <karl@gnu.org>
84711
84712         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84713         instead of "strtol.c".
84714
84715 2002-11-25  Karl Berry  <karl@gnu.org>
84716
84717         * config/install-sh: update from automake for variable quoting, $0 in
84718         error msgs, etc.
84719
84720         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84721         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84722         entry.
84723
84724 2002-11-25  Jim Meyering  <jim@meyering.net>
84725
84726         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84727
84728 2002-11-24  Karl Berry  <karl@gnu.org>
84729
84730         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84731         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84732
84733 2002-11-24  Jim Meyering  <jim@meyering.net>
84734
84735         Update from coreutils:
84736
84737         * lib/mktime.c: Merge in changes from libc.
84738
84739         Avoid a link-time failure on some Linux systems.
84740         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84741         (otherwise).
84742         (__mon_yday): Declare with the STATIC attribute.
84743         (__mktime_internal): Likewise.
84744         Based on a report from Greg Schafer.
84745
84746 2002-11-23  Jim Meyering  <jim@meyering.net>
84747
84748         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84749         Use `unsigned', not `int', as type of index.
84750
84751         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84752
84753         * lib/fsusage.c: Remove unneeded parentheses around operands of
84754         `defined'.
84755
84756 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84757
84758         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84759         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84760         so that we can be included first.
84761         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84762         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84763         No need to include stddef.h or sys/types.h any more.
84764         Surround local include files with "", not "<>".
84765         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84766         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84767         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84768         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84769         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84770         (ISPRINT): Remove; no longer needed now that we assume C89.
84771
84772         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84773         Preserve errno.
84774
84775         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84776         quotearg_char): Use SIZE_MAX rather than
84777         (size_t) -1 when we are talking about "infinity".
84778
84779         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84780
84781 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84782
84783         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84784         hint that one should use `if (! x) abort ();' rather than `assert
84785         (x);', and anyway it's one less thing to worry about configuring.
84786         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84787         hash_rehash, hash_insert): Use abort rather than assert.
84788
84789 2002-11-22  Bruno Haible  <bruno@clisp.org>
84790
84791         * lib/safe-read.h: Assume C89. Add comments.
84792         (safe_read): Change return type to size_t.
84793         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84794         byte counts > SSIZE_MAX correctly.
84795         * lib/safe-write.h: New file.
84796         * lib/safe-write.c: New file.
84797         * lib/full-read.h: New file.
84798         * lib/full-read.c: New file.
84799         * lib/full-write.h: Assume C89. Add comments.
84800         * lib/full-write.c: Include safe-write.h.
84801         (full_write): Rewritten to use safe_write.
84802         Suggested by Jim Meyering and Paul Eggert.
84803
84804 2002-11-21  Jim Meyering  <jim@meyering.net>
84805
84806         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84807
84808         Merge in changes from the coreutils.
84809
84810         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84811         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84812         <stdint.h>.
84813         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84814         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84815         int.  Work more efficiently if X is the same width as uintmax_t.
84816         Do not compare X to -1, to avoid bogus compiler warning.
84817         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84818         Don't assume that f_frsize and f_bsize are the same type.
84819
84820         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84821         warning on FreeBSD.
84822
84823         * lib/makepath.c (make_path): Restore umask *before* creating the final
84824         component.
84825         (make_path): Minor reformatting.
84826
84827         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84828         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84829         HAVE_MALLOC/HAVE_REALLOC.
84830
84831         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84832         dummy ones.  At least on GNU/Linux systems, `auto' means something
84833         else.
84834         From Michael Stone.
84835
84836 2002-11-21  Bruno Haible  <bruno@clisp.org>
84837
84838         Remove case insensitive option matching.
84839         * lib/argmatch.h (argcasematch): Remove declaration.
84840         (ARGCASEMATCH): Remove macro.
84841         (__xargmatch_internal): Remove case_sensitive argument.
84842         (XARGMATCH): Update.
84843         (XARGCASEMATCH): Remove macro.
84844         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84845         case_sensitive argument.
84846         (argcasematch): Remove function.
84847         (__xargmatch_internal): Remove case_sensitive argument.
84848         (main): Use XARGMATCH instead of XARGCASEMATCH.
84849
84850         * lib/xmalloc.c: Change compile-time error message. Add comment about
84851         required autoconf version.
84852
84853 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84854
84855         Merge argmatch cleanups from Bison.  Assume C89.
84856
84857         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84858         Include stdlib.h, for EXIT_FAILURE.
84859         Always include <string.h>, since we assume C89.
84860         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84861         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84862         Include <stddef.h> instead, since it's all we need for size_t.
84863         (PARAMS): Remove.  All uses removed.
84864         (ARRAY_CARDINALITY): Do not bother to #undef.
84865         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84866         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84867         Remove unnecessary parentheses.
84868         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84869         Insert necessary parentheses.
84870         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84871         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84872
84873 2002-11-19  Bruno Haible  <bruno@clisp.org>
84874
84875         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84876         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84877
84878         * lib/mbswidth.h (PARAMS): Remove macro.
84879         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84880         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84881
84882         * lib/gcd.h (PARAMS): Remove macro.
84883         (gcd): Use ANSI C function declarations.
84884         * lib/gcd.c (gcd): Likewise.
84885
84886 2002-11-15  Bruno Haible  <bruno@clisp.org>
84887
84888         * lib/strcspn.c: Include <stddef.h>.
84889         (strcspn): Use ANSI C function declaration. Change return type to
84890         size_t. Use NULL.
84891         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84892         (strpbrk): Use NULL.
84893         * lib/strpbrk.h (PARAMS): Remove macro.
84894         (strpbrk): Use ANSI C function declaration.
84895         * lib/strstr.c: Don't include <sys/types.h>.
84896         * lib/strstr.h (PARAMS): Remove macro.
84897         (strstr): Use ANSI C function declarations.
84898
84899 2002-11-14  Karl Berry  <karl@gnu.org>
84900
84901         * config/mkinstalldirs: `do' on separate line, instead of
84902         `for var; do'.
84903
84904 2002-11-06  Bruno Haible  <bruno@clisp.org>
84905
84906         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84907         * lib/gcd.c (gcd): Likewise.
84908
84909 2002-11-05  Bruno Haible  <bruno@clisp.org>
84910
84911         * lib/gcd.h: New file, from gettext-0.11.5.
84912         * lib/gcd.c: New file, from gettext-0.11.5.
84913
84914 2002-11-05  Bruno Haible  <bruno@clisp.org>
84915
84916         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84917         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84918         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84919         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84920
84921         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84922         <libintl.h>.
84923         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84924         <libintl.h>.
84925
84926         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
84927         * lib/human.c: Include gettext.h instead of <libintl.h>.
84928         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
84929         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
84930         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
84931         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
84932         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
84933         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
84934         (textdomain): Remove definition.
84935         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
84936
84937         * lib/long-options.c: Remove include of <libintl.h> and definition of
84938         _.
84939         * lib/same.c: Remove include of <libintl.h> and definition of _.
84940
84941 2002-11-04  Owen Taylor  <otaylor@redhat.com>
84942
84943         * lib/config.charset: A few additions for Solaris.
84944
84945 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84946
84947         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
84948         * lib/localcharset.c (locale_charset): Declare as extern "C".
84949
84950 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
84951
84952         * lib/config.charset: msdos in uk_UA uses CP1125.
84953
84954 2002-11-04  Bruno Haible  <bruno@clisp.org>
84955
84956         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
84957         * lib/strcase.h: New file, from GNU gettext-0.11.5.
84958         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
84959         * lib/strstr.h: New file, from GNU gettext-0.11.5.
84960         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
84961
84962 2002-11-04  Bruno Haible  <bruno@clisp.org>
84963
84964         * lib/localcharset.c (locale_charset): Don't return an empty string.
84965
84966 2002-11-04  Bruno Haible  <bruno@clisp.org>
84967
84968         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
84969         aliases.
84970
84971 2002-11-04  Bruno Haible  <bruno@clisp.org>
84972
84973         * lib/config.charset: Update for newest glibc. Add canonical names
84974         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
84975
84976 2002-11-04  Bruno Haible  <bruno@clisp.org>
84977
84978         * lib/config.charset: Add support for NetBSD.
84979
84980 2002-11-04  Bruno Haible  <bruno@clisp.org>
84981
84982         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
84983
84984 2002-11-01  Bruno Haible  <bruno@clisp.org>
84985
84986         * configure.in: Add AC_CONFIG_AUX_DIR call.
84987         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
84988         test/Makefile.
84989         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
84990
84991 2002-09-28  Karl Berry  <karl@gnu.org>
84992
84993         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
84994         installed automake until the next release, since changes have been
84995         made.
84996
84997 2002-09-25  Karl Berry  <karl@gnu.org>
84998
84999         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85000         * lib/getopt*: copy from libc/posix.
85001         * lib/gettext.h: copy from gettext.
85002         * lib/.cppi-disable: add strdup.c, gettext.h.
85003
85004 2002-09-25  Karl Berry  <karl@gnu.org>
85005
85006         * config/srclist.txt: enable gettext.h check.
85007         * config/config.{guess,sub}: update from prep.
85008         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85009                 from automake 1.6.3.
85010         See srclist*.
85011
85012 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85013
85014         * regex.c (PATFETCH): Remove the translating fetch.
85015         (PATFETCH_RAW): Rename to PATFETCH.
85016         (set_image_of_range): New fun.
85017         (SET_RANGE_TABLE_WORK_AREA): Use it.
85018         (regex_compile): Don't translate the pattern chars so eagerly.
85019         Only do it when inserting an `exactn' bytecode or when handling
85020         a char-range.
85021         (mutually_exclusive_p): Avoid empty statement.
85022
85023 2002-07-06  Jim Meyering  <meyering@lucent.com>
85024
85025         * m4/README: Don't mention Makefile.am.in.
85026         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85027
85028 2002-07-01  Jim Meyering  <meyering@lucent.com>
85029
85030         * lib/c-stack.c: Include sys/time.h.
85031         From Volker Borchert.
85032
85033 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85034
85035         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85036
85037 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85038
85039         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85040         New macro.  Use it uniformly instead of
85041         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85042         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85043         reported by Vin Shelton.
85044
85045 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85046
85047         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85048         Do not assume SA_SIGINFO behavior.
85049         Bug reported by Jim Meyering on NetBSD 1.5.2.
85050
85051 2002-06-22  Jim Meyering  <meyering@lucent.com>
85052
85053         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85054         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85055
85056         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85057         now that configure.ac uses AC_GNU_SOURCE.
85058         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85059         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85060
85061         Update to latest tools.  Suggestions from Paul Eggert.
85062         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85063         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85064         * m4/fnmatch.m4: Likewise.
85065         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85066         to AC_HEADER_STDBOOL
85067
85068 2002-06-22  Jim Meyering  <meyering@lucent.com>
85069
85070         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85071         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85072
85073 2002-06-22  Jim Meyering  <meyering@lucent.com>
85074
85075         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85076
85077         * lib/exitfail.c, exitfail.h: Likewise.
85078         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85079
85080         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85081         of fnmatch.h.
85082         (EXTRA_DIST): Add fnmatch_loop.c.
85083         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85084
85085         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85086         * lib/fnmatch.c: Update from diffutils-2.8.2.
85087         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85088         * lib/fnmatch.h: Remove file.
85089
85090 2002-06-21  Jim Meyering  <meyering@lucent.com>
85091
85092         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85093         * m4/mbrtowc.m4: Likewise.
85094
85095         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85096         * m4/mbswidth.m4: Reflect name change:
85097         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85098         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85099
85100         * m4/lib-link.m4: Update from gettext-0.11.2.
85101         * m4/gettext.m4: Likewise.
85102
85103         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85104         From Alfred M. Szmidt.
85105
85106 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85107
85108         * lib/file-type.h: Report an error if neither S_ISREG nor
85109         S_IFREG is defined, instead of using a test specific to glibc
85110         2.2.  This should be safe, since POSIX requires S_ISREG and
85111         Unix Version 7 had S_IFREG.  We don't need to check for
85112         <sys/types.h> since we don't use any symbols that it defines.
85113
85114 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85115
85116         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85117         $@-t, so that each temporary file name is unique and valid in the first
85118         8 characters, for operation under DOS.
85119
85120 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85121
85122         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85123
85124 2002-06-15  Jim Meyering  <meyering@lucent.com>
85125
85126         Work even with DJGPP 2.03, which lacks support for symlinks.
85127         From Richard Dawe.
85128         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85129         is defined.
85130         * lib/lchown.c (S_ISLNK): Likewise.
85131
85132 2002-06-15  Jim Meyering  <meyering@lucent.com>
85133
85134         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85135         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85136         have been included before this file.
85137
85138 2002-06-14  Jim Meyering  <meyering@lucent.com>
85139
85140         * lib/file-type.h: Use the version from diffutils-2.8.2.
85141         * lib/file-type.c: Likewise.
85142
85143 2002-06-07  Jim Meyering  <meyering@lucent.com>
85144
85145         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85146         They're needed at least for NetBSD 1.5.2.
85147         ($statxfs_includes): Include those same headers.
85148         ($statxfs_includes): Include sys/vfs.h if available.
85149         ($statxfs_includes): Likewise for sys/statvfs.h.
85150         Check for the following members in both structs statfs and statvfs:
85151         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85152
85153 2002-06-01  Jim Meyering  <meyering@lucent.com>
85154
85155         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85156         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85157
85158 2002-05-28  Jim Meyering  <meyering@lucent.com>
85159
85160         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85161         Reported by Volker Borchert.
85162
85163 2002-05-27  Jim Meyering  <meyering@lucent.com>
85164
85165         Fix a problem seen only on nonconforming systems whereby ls.c's
85166         use of localtime, and then of gettimeofday would cause trouble:
85167         the localtime call used to initialize rpl_gettimeofday's save
85168         mechanism would clobber ls's current local time information so
85169         that in any long listing the first file would always be listed
85170         with date 1970-01-01.  Analysis by Volker Borchert.
85171
85172         * lib/gettimeofday.c (localtime): Undefine.
85173         (rpl_localtime): New function.
85174
85175 2002-05-27  Jim Meyering  <meyering@lucent.com>
85176
85177         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85178         localtime.
85179
85180         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85181         use the replacement function; it wouldn't resolve at link time.
85182         Reported by Volker Borchert.
85183
85184 2002-05-22  Jim Meyering  <meyering@lucent.com>
85185
85186         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85187         file-type.h.
85188         * lib/file-type.h: New file.
85189         * lib/file-type.c (file_type): New file/function.  Extracted from
85190         diffutils.
85191
85192 2002-04-30  Jim Meyering  <meyering@lucent.com>
85193
85194         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85195
85196 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85197
85198         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85199
85200 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85201
85202         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85203         Do not check for alloca.h (no longer used) or stdbool.h (was never
85204         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85205
85206 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85207
85208         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85209
85210 2002-04-29  Jim Meyering  <meyering@lucent.com>
85211
85212         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85213         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85214         Use AC_FUNC_STRNLEN here instead.
85215
85216         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85217         With autoconf-2.53a, it's part of AC_PROG_CC.
85218
85219 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85220
85221         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85222         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85223
85224 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85225
85226         * lib/sig2str.h, lib/sig2str.c: New files.
85227         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85228
85229 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85230
85231         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85232         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85233         of 127, since 64 is the largest conceivable number for ancient
85234         nonstandard hosts.
85235         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85236
85237 2002-04-28  Jim Meyering  <meyering@lucent.com>
85238
85239         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85240
85241 2002-04-24  Jim Meyering  <meyering@lucent.com>
85242
85243         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85244         (jm_PREREQ): Use it.
85245
85246         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85247         mach/mach.h fcntl.h.
85248         Check for this function: setlocale.
85249
85250 2002-04-24  Jim Meyering  <meyering@lucent.com>
85251
85252         * lib/gettext.h: New file, from Gettext.
85253         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85254         (libfetish_a_SOURCES): Add gettext.h.
85255
85256 2002-04-16  Jim Meyering  <meyering@lucent.com>
85257
85258         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85259         ut_pid, ut_id, ut_exit.
85260
85261 2002-04-16  Jim Meyering  <meyering@lucent.com>
85262
85263         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85264         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85265         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85266
85267 2002-04-12  Jim Meyering  <meyering@lucent.com>
85268
85269         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85270         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85271         existence of the getmntinfo function.  Needed for Darwin 5.3.
85272
85273         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85274         This is necessary at least on Darwin 5.3.
85275
85276         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85277         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85278         strnlen.o in the library, and that makes some versions of ranlib
85279         object.
85280
85281 2002-04-12  Jim Meyering  <meyering@lucent.com>
85282
85283         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85284
85285 2002-04-09  Jim Meyering  <meyering@lucent.com>
85286
85287         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85288         to be more precise.  Rather than saying we're checking whether the
85289         function `works', say what we're testing.
85290         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85291         Reported by Bruno Haible.
85292
85293 2002-03-10  Jim Meyering  <meyering@lucent.com>
85294
85295         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85296         Suggestion from Santiago Vila.
85297
85298 2002-03-08  Jim Meyering  <meyering@lucent.com>
85299
85300         * lib/rename.c: Mention that this wrapper is needed also on
85301         mips-dec-ultrix4.4 systems.
85302
85303 2002-03-02  Jim Meyering  <meyering@lucent.com>
85304
85305         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85306         not HAVE_CLOCK_SETTIME.
85307
85308 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85309
85310         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85311         Check for clock_settime.
85312
85313 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85314
85315         * lib/nanosleep.h: Rename to....
85316         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85317
85318         * lib/gettime.c: New file.
85319         * lib/settime.c: New file.
85320         * lib/stime.c: Remove.
85321
85322         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85323         timespec.h.  Remove nanosleep.h.
85324
85325 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85326
85327         * m4/acl.m4: New file.
85328         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85329         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85330
85331 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85332
85333         * lib/acl.c, lib/acl.h: New files.
85334         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85335
85336 2002-02-24  Jim Meyering  <meyering@lucent.com>
85337
85338         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85339         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85340         cause trouble.  Reported by Nelson Beebe.
85341
85342 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85343
85344         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85345         compilers that don't know that xalloc_die never returns.
85346
85347 2002-02-20  Jim Meyering  <meyering@lucent.com>
85348
85349         * lib/getdate.c: Regenerate using bison-1.33.
85350
85351 2002-02-17  Jim Meyering  <meyering@lucent.com>
85352
85353         * config/config.guess (main): Don't use `head -1'; it's no longer
85354         portable. Use `sed 1q' instead.
85355
85356 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85357
85358         * m4/codeset.m4: Upgrade to gettext-0.11.
85359         * m4/gettext.m4: Upgrade to gettext-0.11.
85360         * m4/glibc21.m4: Upgrade to gettext-0.11.
85361         * m4/iconv.m4: Upgrade to gettext-0.11.
85362         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85363         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85364         * m4/lib-ld.m4: New file, from gettext-0.11.
85365         * m4/lib-link.m4: New file, from gettext-0.11.
85366         * m4/lib-prefix.m4: New file, from gettext-0.11.
85367         * m4/progtest.m4: Upgrade to gettext-0.11.
85368
85369 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85370
85371         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85372         (jm_PREREQ): Use it.
85373
85374 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85375
85376         * lib/posixver.c, lib/posixver.h: New files.
85377         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85378
85379 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85380             Bruno Haible  <bruno@clisp.org>
85381
85382         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85383         (fwrite_success_callback): New declaration.
85384         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85385         print_unicode_char. Call failure callback instead of error.
85386         (fwrite_success_callback): New function.
85387         (exit_failure_callback): New function.
85388         (fallback_failure_callback): New function.
85389         (print_unicode_char): Call unicode_to_mb.
85390
85391 2002-01-26  Jim Meyering  <meyering@lucent.com>
85392
85393         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85394         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85395
85396 2002-01-26  Jim Meyering  <meyering@lucent.com>
85397
85398         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85399
85400 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85401
85402         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85403
85404 2002-01-22  Jim Meyering  <meyering@lucent.com>
85405
85406         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85407         Otherwise, some versions of automake would omit the rule that makes
85408         Makefile from Makefile.in.
85409
85410 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85411
85412         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85413         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85414         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85415         (memcoll): Set errno to zero if there is no error.
85416
85417         * lib/quotearg.c (quotearg_buffer_restyled):
85418         Fix bug with quoting buffers containing NUL when backslashing escapes.
85419         This bug was exposed by the other changes in this patch.
85420         (quotearg_n_options): New arg ARGSIZE.
85421         All callers changed.
85422         (quoting_options_from_style): New function.
85423         (quotearg_n_style): Use it.
85424         (quotearg_n_style_mem): New function.
85425
85426         * lib/quotearg.h (quotearg_n_style_mem): New function.
85427
85428 2002-01-19  Jim Meyering  <meyering@lucent.com>
85429
85430         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85431         Remove useless quotes: DF_PROG="df".
85432         * m4/strnlen.m4: New file.
85433
85434 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85435
85436         * lib/backupfile.c (ISDIGIT): Comment fix.
85437         * lib/getdate.y (ISDIGIT): Likewise.
85438         * lib/posixtm.c (ISDIGIT, year): Likewise.
85439         * lib/strverscmp.c (ISDIGIT): Likewise.
85440         * lib/userspec.c (ISDIGIT): Likewise.
85441
85442 2002-01-16  Jim Meyering  <meyering@lucent.com>
85443
85444         * lib/getdate.y: Add three semicolons, each just before a closing
85445         brace. Bison (as of version 1.31) no longer papers over that mistake.
85446
85447 2002-01-05  Jim Meyering  <meyering@lucent.com>
85448
85449         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85450
85451 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85452
85453         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85454         not silently exit merely because the output buffer happens to
85455         have nothing pending.
85456
85457 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85458
85459         See the big note in ../ChangeLog.
85460         * lib/human.c (suffixes): Prefer K to k for 1024.
85461         (generate_suffix_backwards): New function.
85462         (human_readable_inexact): Use it.
85463         * lib/xstrtol.c (__xstrtol): If there is no number but there
85464         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85465         Accept 'K' as well as 'k'.
85466
85467 2001-12-15  Jim Meyering  <meyering@lucent.com>
85468
85469         * lib/regex.h (__restrict_arr): Update from libc.
85470
85471         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85472         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85473         (STREQ): Define.
85474
85475 2001-12-14  Jim Meyering  <meyering@lucent.com>
85476
85477         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85478         Suggestion from Bruno Haible.
85479
85480 2001-12-10  Jim Meyering  <meyering@lucent.com>
85481
85482         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85483         xrealloc, Instead, include "xalloc.h".
85484         (initbuffer): Don't cast xmalloc return value to char*.
85485         (readline): Reword comment.
85486         Don't cast xrealloc return value to char*
85487         Return NULL, not 0.
85488
85489 2001-12-09  Jim Meyering  <meyering@lucent.com>
85490
85491         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85492         about `signed and unsigned type in conditional expression'.
85493         * lib/posixtm.c (posix_time_parse): Likewise.
85494
85495         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85496
85497         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85498         to avoid a pedantic warning.
85499
85500         * lib/getstr.c: Don't include assert.h.
85501         (getstr): Remove warning-evoking assertions.
85502         Return -1 if offset parameter is out of bounds.
85503         Change the type of a local from int to size_t.
85504
85505         * lib/strftime.c (my_strftime_localtime_r): Include this function
85506         definition in the `#if ! HAVE_TM_GMTOFF' block.
85507
85508         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85509         Include xalloc.h instead.
85510
85511 2001-12-02  Jim Meyering  <meyering@lucent.com>
85512
85513         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85514         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85515         included.
85516
85517         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85518         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85519
85520 2001-11-30  Akim Demaille  <akim@epita.fr>
85521
85522         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85523         before being defined.
85524
85525 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85526
85527         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85528         First arg is int, not unsigned.
85529         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85530         (SIZE_MAX, UINT_MAX): New macros.
85531         (quotearg_n_options): Abort if N is negative.
85532         Avoid overflow check on hosts where size_t is 64 bits and int
85533         is 32 bits, as overflow is impossible there.
85534         Fix off-by-one typo that caused unnecessary reallocation.
85535
85536 2001-11-27  Jim Meyering  <meyering@lucent.com>
85537
85538         * lib/tempname.c: Merge with version from libc.
85539         * lib/regex.c: Likewise.
85540
85541         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85542         systems for which STDC_HEADERS is 0, it was not included, resulting in
85543         a warning about an integer-to-pointer conversion problem with getenv.
85544         Reported by Volker Borchert.
85545
85546 2001-11-26  Jim Meyering  <meyering@lucent.com>
85547
85548         * lib/gtod.h: Remove file.
85549         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85550         * lib/gettimeofday.c: Don't include gtod.h.
85551         (GTOD_init): Remove function.
85552         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85553         Suggestion from Volker Borchert.
85554
85555 2001-11-23  Jim Meyering  <meyering@lucent.com>
85556
85557         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85558         it.
85559         * lib/hash.c (struct hash_table): Define it here instead.
85560
85561 2001-11-22  Jim Meyering  <meyering@lucent.com>
85562
85563         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85564
85565 2001-11-20  Jim Meyering  <meyering@lucent.com>
85566
85567         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85568         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85569
85570 2001-11-19  Jim Meyering  <meyering@lucent.com>
85571
85572         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85573         directory.  Use "conftestXXXXXX" as the template.
85574         Suggestion from Paul Eggert.
85575
85576         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85577         immediately, so the test doesn't mistakenly hit the max-open-files
85578         limit.
85579
85580 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85581
85582         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85583         (TEMPORARIES): New macro.
85584         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85585         removes an artificial limitation (e.g. HP-UX 10.20, where
85586         TMP_MAX is 17576).
85587
85588 2001-11-18  Jim Meyering  <meyering@lucent.com>
85589
85590         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85591
85592 2001-11-18  Jim Meyering  <meyering@lucent.com>
85593
85594         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85595         on SunOS 4.
85596
85597         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85598         files will be created before anything else.
85599
85600 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85601
85602         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85603         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85604
85605 2001-11-17  Jim Meyering  <meyering@lucent.com>
85606
85607         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85608         Prompted by a report from Bob Proulx.
85609
85610         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85611         Instead, require UTILS_FUNC_MKSTEMP.
85612
85613 2001-11-17  Jim Meyering  <meyering@lucent.com>
85614
85615         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85616         Now, that's done as part of AC_FUNC_STRTOD.
85617
85618 2001-11-17  Jim Meyering  <meyering@lucent.com>
85619
85620         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85621         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85622         rather than group writable.  Patch by Juan F. Codagnone.
85623
85624         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85625         xrealloc, Instead, include "xalloc.h".
85626
85627         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85628         Remove explicit declarations of xmalloc, xrealloc,
85629         and xstrdup.  Instead, include "xalloc.h".
85630
85631         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85632         unlocked-io.h.
85633         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85634         Likewise.
85635         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85636
85637         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85638         Reported by Padraig Brady.
85639
85640         * lib/mkstemp.c: #undef mkstemp.
85641         Include config.h.
85642         (rpl_mkstemp): Rename from mkstemp.
85643         Protoize.
85644
85645 2001-11-16  Jim Meyering  <meyering@lucent.com>
85646
85647         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85648         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85649         determine the amount of total physical memory, use pstat_getstatic.
85650         HPUX-11 doesn't define _SC_PHYS_PAGES.
85651         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85652         If sysconf couldn't be used to determine the amount of available
85653         physical memory, use both pstat_getstatic and pstat_getdynamic.
85654         Based on a patch from Bob Proulx.
85655
85656 2001-11-10  Jim Meyering  <meyering@lucent.com>
85657
85658         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85659         (jm_PREREQ): Use it.
85660
85661 2001-11-09  Jim Meyering  <meyering@lucent.com>
85662
85663         * m4/jm-macros.m4: Require autoconf-2.52f.
85664         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85665         Use these AC_-prefixed names, not the AM_-prefixed ones.
85666
85667         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85668
85669 2001-11-05  Jim Meyering  <meyering@lucent.com>
85670
85671         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85672
85673 2001-11-04  Jim Meyering  <meyering@lucent.com>
85674
85675         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85676         $DEFS.
85677
85678 2001-11-03  Jim Meyering  <meyering@lucent.com>
85679
85680         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85681         of AC_DEFUN.
85682
85683         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85684         know the name of the variable in the macro definition.
85685
85686 2001-11-03  Jim Meyering  <meyering@lucent.com>
85687
85688         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85689         in argmatch_to_argument call.
85690
85691         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85692         argument.
85693
85694         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85695         e.g., a fault due to an attempt to free a NULL pointer.
85696
85697 2001-11-01  Jim Meyering  <meyering@lucent.com>
85698
85699         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85700         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85701
85702 2001-11-01  Jim Meyering  <meyering@lucent.com>
85703
85704         * lib/dirfd.c, lib/dirfd.h: New files.
85705         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85706
85707         * lib/hash.c (hash_print) [TESTING]: Clean up.
85708
85709 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85710
85711         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85712         to avoid a warning if -Wall.
85713
85714 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85715
85716         * README: New file
85717         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85718         (per RMS's instructions, this is now the canonical source)
85719         * lgpl/, gpl/: New directories.
85720
85721 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85722
85723         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85724
85725 2001-10-21  Jim Meyering  <meyering@lucent.com>
85726
85727         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85728         this code would end up calling gettext even in packages built
85729         with --disable-nls.
85730         * lib/getopt.c (_): Likewise.
85731         * lib/regex.c (_): Likewise.
85732
85733 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85734
85735         * m4/error.m4 (jm_PREREQ_ERROR):
85736         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85737         AC_FUNC_STRERROR_R does that.
85738         Check for strerror declaration.
85739
85740         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85741         are supposed to have them these days.
85742         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85743         Merge changes from latest Autoconf CVS.
85744         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85745         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85746         POSIX decided to standardize on the int flavor of strerror_r.
85747
85748 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85749
85750         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85751         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85752         Use strerror_r that is only a macro, even if it is not a function.
85753         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85754         (private_strerror): Use prototypes, not old-style function definition.
85755         (print_errno_message): New function.
85756         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85757         char*-flavored one.
85758         (error_tail, error, error_at_line): Use it.
85759
85760 2001-10-11  Jim Meyering  <meyering@lucent.com>
85761
85762         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85763         and quote_n (1, ... to avoid clobbering a buffer.
85764
85765 2001-10-05  Jim Meyering  <meyering@lucent.com>
85766
85767         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85768         hash-pjw.h.
85769         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85770         * lib/hash-pjw.h: New file.
85771
85772 2001-09-30  Jim Meyering  <meyering@lucent.com>
85773
85774         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85775         `struct fsstat' has the `f_fstypename' member.
85776         Use that to define FS_TYPE, which is now used to make
85777         the getfsstat link test tighter.
85778
85779 2001-09-30  Jim Meyering  <meyering@lucent.com>
85780
85781         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85782         Include <sys/ucred.h>, for Apple Darwin.
85783         Include sys/mount.h and sys/fs_types.h only if available.
85784         (FS_TYPE): Define.
85785         (read_filesystem_list): Use FS_TYPE.
85786
85787 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85788
85789         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85790         a boolean context.
85791
85792 2001-09-29  Jim Meyering  <meyering@lucent.com>
85793
85794         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85795         [one-argument getmntent function]): Include stdio.h before mntent.h.
85796         SunOS 4.1.x needs it for the declaration of `FILE'.
85797         Patch by Volker Borchert.
85798
85799         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85800         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85801         sys/fs_types.h, and make the link-test for getfsstat guard #include
85802         directives with appropriate #if HAVE_*_H tests so that we can
85803         detect getfsstat on Apple Darwin1.3.7 systems.
85804         Reported by Nelson Beebe.
85805         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85806
85807 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85808
85809         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85810         #defines strtoimax.  Also treat the other strto* functions
85811         like strtoimax.
85812
85813         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85814         Check for strtoul and strtoumax,
85815         as those declarations are made even in the signed case.
85816         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85817         Likewise, for strtol and strtoimax.
85818
85819 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85820
85821         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85822         #defines strtoimax.  Also treat the other strto* functions
85823         like strtoimax.
85824
85825         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85826         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85827         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85828
85829 2001-09-26  Jim Meyering  <meyering@lucent.com>
85830
85831         Most macros in unlocked-io.h had the wrong number of arguments.
85832         * lib/gen-uio: New script.
85833         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85834         * lib/unlocked-io.hin: Remove file.
85835         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85836         rather than trying to embed it here.
85837         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85838         Reported by Padraig Brady.
85839
85840 2001-09-25  Volker Borchert  <bt@teknon.de>
85841
85842         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85843         `result'.
85844
85845 2001-09-24  Jim Meyering  <meyering@lucent.com>
85846
85847         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85848
85849 2001-09-23  Jim Meyering  <meyering@lucent.com>
85850
85851         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85852         instead of the mere test for existence of mntent.h.  The latter
85853         would get a false-positive on AIX 3.4 systems.
85854         In the outer getmntent if-block, don't die if neither of the getmntent
85855         tests succeeds.  Instead, just fall through and continue with the
85856         remaining tests.
85857
85858 2001-09-23  Jim Meyering  <meyering@lucent.com>
85859
85860         * lib/mountlist.c: Remove useless parentheses in #if directives.
85861         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85862         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85863
85864 2001-09-22  Jim Meyering  <meyering@lucent.com>
85865
85866         * m4/gettext.m4: New file.  From gettext.
85867         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85868         * m4/progtest.m4: Likewise
85869         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85870         * m4/glibc21.m4: Likewise.
85871
85872         * m4/libintl.m4: Remove.  No longer used.
85873
85874 2001-09-22  Jim Meyering  <meyering@lucent.com>
85875
85876         * lib/localcharset.c: Update from latest gettext.
85877         * lib/config.charset: Likewise.
85878
85879 2001-09-20  Jim Meyering  <meyering@lucent.com>
85880
85881         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85882         strtoimax.
85883         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85884         strtoumax.
85885
85886 2001-09-20  Jim Meyering  <meyering@lucent.com>
85887
85888         * lib/xstrtol.c (strtoimax): Guard declaration with
85889         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85890         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85891         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85892         (strtoumax): Likewise, for completeness (it wasn't necessary).
85893
85894 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85895
85896         * lib/strtoimax.c (HAVE_LONG_LONG):
85897         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85898         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85899         to work around bug in IBM C compiler.
85900
85901 2001-09-17  Jim Meyering  <meyering@lucent.com>
85902
85903         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85904         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85905         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85906         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85907         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85908         whenever the right hand side need not be expanded by the shell.
85909
85910 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85911
85912         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85913         library.  It's not correct, as some older glibcs are buggy.
85914         fnmatch wasn't fixed until glibc 2.2.
85915
85916         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85917         special shell magic here.
85918
85919 2001-09-16  Jim Meyering  <meyering@lucent.com>
85920
85921         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85922         * m4/jm-macros.m4: Require it.
85923
85924 2001-09-16  Jim Meyering  <meyering@lucent.com>
85925
85926         * lib/mkdir.c: New file.
85927
85928 2001-09-15  Jim Meyering  <meyering@lucent.com>
85929
85930         * m4/jm-macros.m4: Check for help2man.
85931
85932 2001-09-11  Jim Meyering  <meyering@lucent.com>
85933
85934         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
85935         The body, by Paul Eggert, was moved here from configure.in.
85936         * m4/jm-macros.m4: Require UTILS_HOST_OS.
85937
85938 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85939
85940         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
85941         (jm_PREREQ): Use it.
85942
85943 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85944
85945         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
85946         Use ssize_t, not int, to store result of readlink.
85947         Check for ssize_t overflow as well as size_t overflow,
85948         as POSIX says the result of readlink is implementation-defined
85949         when ssize_t overflows.
85950         Remove unnecessary cast to char*.
85951         Use free+malloc instead of realloc, as the storage doesn't need
85952         to be preserved and it's clearer and can be more efficient that way.
85953         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
85954         * lib/xreadlink.h (xreadlink): Update prototype.
85955
85956 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85957
85958         * lib/xgetcwd.c: Revert some of the previous change; intead,
85959         fix the HAVE_GETCWD_NULL code to behave more like the
85960         !HAVE_GETCWD_NULL code used to.
85961
85962         Include "xalloc.h".
85963         (xgetcwd): Do not return NULL when memory is exhausted; instead,
85964         invoke xalloc_die.
85965
85966 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85967
85968         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
85969         sys/param.h, as pathmax.h includes them.
85970
85971 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85972
85973         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
85974         (jm_PREREQ_XGETCWD): New macro.
85975
85976         * m4/getcwd.m4: New file.
85977
85978 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85979
85980         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
85981         like the HAVE_GETCWD_NULL code.
85982         Include pathmax.h if not HAVE_GETCWD.
85983         Do not include xalloc.h.
85984         (INITIAL_BUFFER_SIZE): New symbol.
85985         Do not use xmalloc / xrealloc, since the caller is responsible for
85986         handling errors.  Preserve errno around `free' during failure.
85987         Do not overrun buffer when using getwd.
85988
85989 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85990
85991         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
85992         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
85993         getcwd (NULL, 0).
85994
85995 2001-09-03  Paul Eggert  <eggert@twinsun.com>
85996
85997         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
85998         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
85999         spotted by Jim Meyering.
86000
86001 2001-09-03  Jim Meyering  <meyering@lucent.com>
86002
86003         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86004         failure.
86005
86006 2001-09-02  Jim Meyering  <meyering@lucent.com>
86007
86008         * lib/error.c: Update from GNU libc.
86009
86010 2001-09-01  Jim Meyering  <meyering@lucent.com>
86011
86012         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86013         Used by df.
86014
86015 2001-09-01  Jim Meyering  <meyering@lucent.com>
86016
86017         * lib/xreadlink.c: New file.
86018         * lib/xreadlink.h: New file.
86019         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86020         xreadlink.h.
86021
86022         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86023         doesn't conflict with sparc Solaris 7's definition in
86024         /usr/include/sys/int_types.h.
86025
86026         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86027         files.
86028         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86029         and strncasecmp as r-values.  Unixware didn't have declarations.
86030
86031 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86032
86033         * lib/xstrtol.h: Add copyright notice.
86034         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86035         LONGINT_INVALID_SUFFIX_CHAR.
86036
86037 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86038
86039         * lib/xstrtol.c (strtoimax): New decl.
86040
86041 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86042
86043         * lib/xgetcwd.c: Don't include pathmax.h.
86044         Include stdlib.h and unistd.h if available.
86045         Include xalloc.h.
86046         (xmalloc, xstrdup, free): Remove decls.
86047         (xgetcwd): Don't assume sizes fit in unsigned.
86048         Check for overflow when computing sizes.
86049         Simplify reallocation code.
86050
86051 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86052
86053         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86054         a directory's st_size can have an arbitrary value, so the old
86055         usage could waste an arbitrary amount of memory.  All uses
86056         changed.
86057         * lib/savedir.h: Update prototype.
86058
86059 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86060
86061         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86062
86063         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86064         old strtoimax.c.
86065
86066         Also, make the following further changes to make this file's
86067         configuration more similar to that of strtol.c:
86068         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86069         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86070         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86071         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86072         changed to signed values.
86073
86074         And make the following changes as well:
86075         Fix copyright notice, as 1999 was missing.
86076         (verify): New macro.
86077         (strtoimax): Check sizes at compile-time, not run-time.
86078         Prefer strtol to strtoll if both work.
86079         (main): Remove; it was not that useful and was a pain to maintain.
86080
86081         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86082
86083 2001-08-31  Jim Meyering  <meyering@lucent.com>
86084
86085         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86086         Use an initial, malloc'd, buffer of length 128 rather than
86087         a statically allocated one of length 1024.
86088
86089 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86090
86091         Simplify code, partly by assuming autoconf 2.52 semantics.
86092
86093         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86094
86095         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86096         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86097         All uses removed.
86098         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86099         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86100         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86101         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86102         jm_AC_HEADER_INTTYPES_H.
86103         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86104
86105         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86106
86107         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86108         Quote first arg of AC_DEFUN.
86109         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86110         since they are needed to parse the include file even if we need
86111         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86112         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86113         but with opposite signedness.
86114
86115 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86116
86117         Merge 'exclude' changes from tar 1.13.22.
86118         This fixes one or two unlikely storage allocation overflow bugs,
86119         but doesn't change user-visible behavior otherwise.
86120
86121 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86122
86123         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86124         (jm_PREREQ_EXCLUDE): New macro.
86125
86126 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86127
86128         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86129         tm to be declared.
86130
86131 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86132
86133         * lib/hash.c: Remove '2001' from copyright notice.
86134
86135 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86136
86137         * lib/full-write.h: New file.
86138         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86139         * lib/full-write.c: Correct credits, as cccp.c no longer
86140         exists and anyway it was so heavily changed from the old cccp
86141         code as to be unrecognizable.  Include full-write.h.
86142         (full_write): Return size_t, with short writes meaning failure.
86143         All callers changed.  This fixes a bug with large buffers
86144         on 64-bit hosts.
86145         * lib/utime.c: Include full-write.h.
86146
86147 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86148
86149         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86150         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86151         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86152         Include if available.
86153         (<xalloc.h>): Include
86154         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86155         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86156         collide with FNM macros.
86157         (struct patopts): New struct.
86158         (struct exclude): Use it, as exclude patterns now come with options.
86159         (new_exclude): Support above changes.
86160         (new_exclude, add_exclude_file):
86161         Initial size must now be a power of two to simplify overflow checking.
86162         (free_exclude, fnmatch_no_wildcards): New function.
86163         (excluded_filename): No longer requires options arg, as the options
86164         are determined by add_exclude.  Now returns bool, not int.
86165         (excluded_filename, add_exclude):
86166         Add support for the fancy new exclusion options.
86167         (add_exclude, add_exclude_file): Now takes int options arg.
86168         Check for arithmetic overflow when computing sizes.
86169         (add_exclude_file): xrealloc might modify errno, so don't
86170         realloc until after errno might be used.
86171
86172         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86173         New macros.
86174         (free_exclude): New decl.
86175         (add_exclude, add_exclude_file): Now takes int options arg.
86176         (excluded_filename): No longer requires options arg, as the options
86177         are determined by add_exclude.  Now returns bool, not int.
86178
86179 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86180
86181         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86182
86183 2001-08-27  Jim Meyering  <meyering@lucent.com>
86184
86185         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86186
86187         * lib/version-etc.c (N_): Remove definition.
86188         Revert most of last change.
86189         Instead, simply don't mark the `Copyright...' string for translation.
86190         Based on advice from Paul Eggert.
86191
86192         * lib/strtoxmax.c: Tweak comment.
86193
86194 2001-08-26  Jim Meyering  <meyering@lucent.com>
86195
86196         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86197
86198         * m4/xstrtoimax.m4: New file.
86199         * m4/xstrtoumax.m4: Add comments explaining why we
86200         AC_REPLACE_FUNCS(strtol).
86201
86202 2001-08-26  Jim Meyering  <meyering@lucent.com>
86203
86204         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86205         of copyright with `%s' so translators don't get an untranslated
86206         message in 2002.
86207         (COPYRIGHT_YEAR): Define.
86208         (version_etc): Use fprintf rather than fputs.
86209         Suggestion from Ulrich Drepper.
86210
86211         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86212
86213         * lib/strtoll.c: New file, from GNU libc.
86214         * lib/xstrtoimax.c: New file.
86215
86216         * lib/xstrtol.h: Add xstrtoimax.
86217         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86218         * lib/strtoimax.c: New file.  Likewise, but first define
86219         STRTOUXMAX_SIGNED.
86220
86221         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86222         ...
86223         * lib/strtoxmax.c: ... then renamed to this.
86224
86225 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86226
86227         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86228         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86229         (jm_AC_TYPE_INTMAX_T): New macro.
86230         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86231
86232         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86233
86234         * m4/longlong.m4: Renamed from ulonglong.m4.
86235         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86236         * m4/uintmax_t.m4: Removed.
86237
86238 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86239
86240         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86241         Port to Solaris 8, where 'sed' requires a space after the 'r'
86242         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86243         Redirect output to $tmp just once.
86244
86245 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86246
86247         * lib/addext.c (<errno.h>): Include.
86248         (errno): Declare if not defined.
86249         (addext): Work correctly when pathconf returns -1 and leaves
86250         errno alone because there is no limit.  Also, work even if
86251         pathconf returns a value greater than SIZE_MAX.
86252
86253 2001-08-12  Jim Meyering  <meyering@lucent.com>
86254
86255         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86256         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86257         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86258         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86259         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86260         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86261         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86262         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86263         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86264         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86265         utime.m4, utimes.m4, xstrtoumax.m4:
86266         Quote the first argument in each use of AC_DEFUN.
86267
86268 2001-08-12  Jim Meyering  <meyering@lucent.com>
86269
86270         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86271         Simply `return getcwd (NULL, 0);'.
86272         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86273         Use 1300 as initial value for length, not PATH_MAX.
86274
86275         * lib/pathmax.h: Clean up cpp syntax.
86276
86277 2001-08-12  Jim Meyering  <meyering@lucent.com>
86278
86279         * lib/gettimeofday.c: New file.
86280         * lib/gtod.h: New file.
86281         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86282
86283 2001-08-05  Jim Meyering  <meyering@lucent.com>
86284
86285         * m4/jm-macros.m4: Require autoconf-2.52.
86286
86287 2001-08-04  Jim Meyering  <meyering@lucent.com>
86288
86289         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86290         stmt, to get in sync with glibc.
86291
86292 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86293
86294         The following changes are from gettext 0.10.39 as maintained by
86295         Bruno Haible.
86296
86297         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86298         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86299         with inverted sense.  All uses changed.
86300
86301         * lib/mbswidth.c: Don't include <limits.h>.
86302         Include <stdlib.h> and <string.h> unconditionally.
86303         (iswcntrl, mbsinit, ISCNTRL): New macros.
86304         (mbsnwidth): Use K&R style function declarations.
86305         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86306         can optimize it when MB_CUR_MAX == 1.
86307         The width of control characters is zero, not 1.
86308
86309 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86310
86311         The following changes are from gettext 0.10.39 as maintained by
86312         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86313
86314         * m4/codeset.m4: Upgrade to serial AM1.
86315         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86316         all uses changed.  Quote first arg of AC_DEFUN.
86317         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86318
86319         * m4/iconv.m4: Upgrade to serial AM2.
86320         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86321         Add --with-libconv-prefix.
86322         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86323         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86324         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86325         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86326         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86327
86328         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86329         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86330         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86331         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86332         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86333         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86334         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86335         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86336         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86337
86338         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86339         string.h any more.
86340
86341         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86342         not the default value.
86343
86344         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86345         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86346         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86347         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86348         Also check for iswcntrl, used for wcwidth fallback.
86349         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86350         to Autoconf 2.13.
86351
86352 2001-08-03  Jim Meyering  <meyering@lucent.com>
86353
86354         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86355         as it was in the original.  Reported by Paul Eggert.
86356
86357 2001-07-16  Jim Meyering  <meyering@lucent.com>
86358
86359         * m4/gettimeofday.m4: New file.
86360         Prompted by a report from Bernhard Baehr.
86361
86362 2001-07-15  Jim Meyering  <meyering@lucent.com>
86363
86364         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86365         stuff. Now it's in ../Makefile.cfg.
86366
86367 2001-07-15  Jim Meyering  <meyering@lucent.com>
86368
86369         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86370         (BUILT_SOURCES): Add unlocked-io.h.
86371         (io_functions): Define.
86372         (unlocked-io.h): New rule.
86373         (DISTCLEANFILES): Add unlocked-io.h.
86374         (all-local): Depend on unlocked-io.h, to ensure it is created.
86375
86376         * lib/unlocked-io.hin: New file
86377
86378         * lib/regex.c: Update from glibc.
86379
86380 2001-07-05  Jim Meyering  <meyering@lucent.com>
86381
86382         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86383         recommendation.
86384         (libfetish_a_SOURCES): Put all .h files here instead.
86385         Remove a thus-exposed (better checks in automake) duplicate and
86386         two unnecessary .h files.
86387
86388 2001-07-04  Jim Meyering  <meyering@lucent.com>
86389
86390         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86391         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86392         distcheck failure.
86393
86394 2001-07-02  Jim Meyering  <meyering@lucent.com>
86395
86396         The following changes were prompted by suggestions from Bruno Haible.
86397
86398         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86399         is now generated.
86400         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86401         definition of EXTRA_DIST.
86402         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86403         ensure that the generated file is created/updated whenever the list
86404         of $(unlocked_functions) is changed.
86405         (jm-glibc-io.m4): New rule.
86406         (unlocked-io.h): New rule -- currently unused.
86407
86408 2001-06-24  Jim Meyering  <meyering@lucent.com>
86409
86410         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86411         unmatched right bracket, rather than kludging it with an extra,
86412         falsely-matching quote in a comment.  Patch by Akim Demaille.
86413
86414 2001-06-11  Jim Meyering  <meyering@lucent.com>
86415
86416         * lib/regex.c: Update from GNU libc.
86417
86418 2001-05-27  Jim Meyering  <meyering@lucent.com>
86419
86420         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86421         Check for ut_type in struct utmp.
86422
86423 2001-05-27  Jim Meyering  <meyering@lucent.com>
86424
86425         * lib/readutmp.h (UT_TYPE): Define.
86426
86427 2001-05-24  Jim Meyering  <meyering@lucent.com>
86428
86429         * lib/argmatch.c: Include "quote.h".
86430         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86431         quote function.  Reported by Göran Uddeborg.
86432
86433 2001-05-22  Jim Meyering  <meyering@lucent.com>
86434
86435         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86436         now that we use the package-supplied version unconditionally.
86437         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86438
86439 2001-05-21  Jim Meyering  <meyering@lucent.com>
86440
86441         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86442         shell syntax errors.
86443
86444 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86445
86446         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86447
86448 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86449
86450         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86451         Don't bother to check library strftime, since
86452         we'll be using our own my_strftime function anyway.
86453         Define my_strftime instead of strftime.
86454
86455 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86456
86457         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86458         which is not yet declared.
86459
86460 2001-05-15  Jim Meyering  <meyering@lucent.com>
86461
86462         * m4/regex.m4: Use proper quoting so brackets appear in the test
86463         program.
86464         Reported by, and with help from, Bruno Haible.
86465
86466 2001-05-13  Jim Meyering  <meyering@lucent.com>
86467
86468         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86469         undefined.
86470
86471 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86472
86473         dirname code cleanup.  base_name now behaves more compatibly
86474         with POSIX basename when given file names that have trailing
86475         slashes, and similarly for dir_name.  Add new primitives
86476         base_len and dir_len.  Put the directory-name-related decls
86477         into dirname.h.
86478
86479         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86480         * lib/backupfile.c (base_name): Likewise.
86481         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86482         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86483         * lib/makepath.c (strip_trailing_slashes): Likewise.
86484         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86485         ISSLASH): Likewise.
86486         * lib/rename.c (strip_trailing_slashes): Likewise.
86487         * lib/same.c (base_name): Likewise.
86488         * lib/stripslash.c (ISSLASH): Likewise.
86489
86490         * lib/addext.c: Include <dirname.h> after size_t is defined.
86491         * lib/backupfile.c: Likewise.
86492
86493         * lib/addext.c (addext): Use base_len to trim redundant
86494         trailing slashes instead of doing it ourselves.
86495         But do not trim the last slash if it is not redundant.
86496
86497         * lib/backupfile.c (find_backup_file_name,
86498         max_backup_version): Use base_len instead of rolling it ourselves.
86499         Handle the case of "" and (on DOS) "C:" correctly.
86500
86501         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86502         needed. Include <string.h>, <dirname.h>.
86503         (base_name): Allow file names ending in slashes, other than names
86504         that are all slashes.  In this case, return the basename followed
86505         by the slashes.  This is more general, and can be used in places
86506         where the original base_name purposely had an assertion failure.
86507         (base_len): New function.
86508
86509         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86510         Do not include <assert.h>; no longer needed.
86511         Include xalloc.h.
86512         (memrchr): Remove decl.
86513         (dir_name_r): Remove.
86514         (dir_len): Renamed from dirlen.  All callers changed.
86515         Rewrite in terms of base_name, for simplicity and consistency.
86516         (dir_name): Never return NULL.  All callers changed.
86517         Do not include <stdlib.h> in test program; no longer needed.
86518         return 0; is fine for test program.
86519
86520         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86521         New macros.
86522         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86523
86524         * lib/path-concat.c (path_concat): Use base_len to compute
86525         base length, not strlen; this means we cannot rely on memcpy
86526         to null-terminate.
86527
86528         * lib/same.c (STREQ): Remove.
86529         (same_name): Handle the case where the basename ends in trailing '/'.
86530
86531         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86532         a slash was stripped.  Do not strip the last slash after a
86533         file system prefix.
86534
86535 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86536
86537         * lib/Makefile.am (libfetish_a_SOURCES):
86538         Add strftime.c, since we now compile it on all hosts.
86539
86540         * lib/strftime.c (my_strftime):
86541         Define to nstrftime if emacs, but only if my_strftime is not defined.
86542         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86543         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86544         Add one more extra argument: a nanoseconds value.
86545         All uses changed.
86546         (ns): New macro.
86547         (my_strftime function): Add %N format.
86548         (emacs_strftimeu): Renamed from emacs_strftime,
86549         with extra ut argument.
86550
86551 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86552
86553         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86554
86555 2001-04-21  Jim Meyering  <meyering@lucent.com>
86556
86557         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86558         doesn't interfere.
86559
86560 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86561
86562         * m4/ftruncate.m4: Check for chsize.
86563         Link with ftruncate.o unconditionally if ftruncate is missing.
86564         This was required when cross-compiling to i586-mingw32msvc.
86565
86566 2001-04-08  Jim Meyering  <meyering@lucent.com>
86567
86568         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86569         recomputed; that's necessary when the offset spans a DST transition.
86570         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86571
86572 2001-04-02  Jim Meyering  <meyering@lucent.com>
86573
86574         * lib/regex.h, regex.c: Update from GNU libc.
86575
86576 2001-03-24  Jim Meyering  <meyering@lucent.com>
86577
86578         * m4/jm-macros.m4: Require autoconf-2.49d.
86579
86580 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86581
86582         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86583
86584 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86585
86586         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86587
86588 2001-03-17  Jim Meyering  <meyering@lucent.com>
86589
86590         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86591         now that the version in autoconf is equivalent.
86592         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86593
86594         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86595         Suggestion from Akim Demaille.
86596
86597         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86598         (jm_PREREQ_TEMPNAME): New function.
86599
86600 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86601
86602         * lib/tempname.c (uint64_t): Define to uintmax_t if
86603         not defined, and if UINT64_MAX is not defined.
86604         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86605         Reported by John David Anglin.
86606
86607 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86608
86609         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86610         resolve alias if codeset is empty.
86611         * lib/config.charset (BeOS): Use wildcard syntax.
86612
86613 2001-03-13  Jim Meyering  <meyering@lucent.com>
86614
86615         * lib/path-concat.c (path_concat)
86616         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86617         concatenating e.g., `C:' and `foo'.
86618         From Bruno Haible.
86619
86620 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86621
86622         * lib/localcharset.c (locale_charset): Don't use
86623         setlocale(LC_CTYPE,NULL). Don't return NULL.
86624         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86625
86626 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86627
86628         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86629         support for DOS/DJGPP.
86630
86631 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86632
86633         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86634         lacks mkstemp.  Compile our own tempname.c if we compile our own
86635         mkstemp.c, as mkstemp relies on tempname.
86636
86637 2001-03-01  Jim Meyering  <meyering@lucent.com>
86638
86639         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86640         AH_VERBATIM really does output its argument verbatim.
86641
86642 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86643
86644         * lib/Makefile.am (libfetish_a_SOURCES):
86645         Add dup-safer.c, fopen-safer.c.
86646         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86647
86648         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86649         * lib/unistd-safer.h: New files.
86650
86651 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86652
86653         The mkstemp replacement is taken from glibc 2.2.2, with some
86654         portability fixes for use outside glibc, as follows:
86655
86656         * lib/tempname.c (struct_stat64): New macro.
86657         (direxists, __gen_tempname): Use it.
86658         This avoids a portability problem with Solaris 8.
86659
86660         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86661         (<stddef.h>, <stdint.h>, <string.h>):
86662         Include only if STDC_HEADERS || _LIBC.
86663         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86664         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86665         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86666         (__set_errno): Define this macro if <errno.h> doesn't.
86667         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86668         Define these macros if <stdio.h> doesn't.
86669         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86670         Define these macros if <sys/stat.h>
86671         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86672         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86673         __xstat64): Define if not _LIBC.
86674         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86675         (__gen_tempname): Invoke gettimeofday only if
86676         HAVE_GETTIMEOFDAY || _LIBC;
86677         otherwise, fall back on plain "time".
86678         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86679
86680         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86681
86682         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86683
86684 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86685
86686         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86687
86688 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86689
86690         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86691         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86692         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86693         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86694
86695 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86696
86697         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86698         Remove workaround macros for hosts that have mbrtowc but not
86699         mbstate_t, as we now insist on proper declarations for both
86700         before using mbrtowc.
86701
86702 2001-02-17  Jim Meyering  <meyering@lucent.com>
86703
86704         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86705         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86706         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86707         UnixWare 7.1.1.
86708
86709         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86710         rather than AC_CACHE_VAL.
86711
86712 2001-02-17  Jim Meyering  <meyering@lucent.com>
86713
86714         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86715         around included file name.
86716
86717         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86718
86719         * lib/strftime.c: Update from GNU libc (the only changes were to
86720         comments).
86721
86722 2001-02-17  Jim Meyering  <meyering@lucent.com>
86723
86724         * lib/regex.c: Update from libc.
86725
86726 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86727
86728         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86729         clash.
86730
86731 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86732
86733         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86734         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86735         Reported by Mark Hounschell via Paul Eggert.
86736
86737 2001-02-07  Jim Meyering  <meyering@lucent.com>
86738
86739         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86740
86741 2001-02-05  Jim Meyering  <meyering@lucent.com>
86742
86743         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86744         it includes the patch required for `large file' support with at least
86745         HP-UX's 10.20 /bin/cc.
86746
86747 2001-02-03  Jim Meyering  <meyering@lucent.com>
86748
86749         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86750         AS_IF, now that it works once again (mysteriously).
86751         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86752
86753 2001-01-30  Jim Meyering  <meyering@lucent.com>
86754
86755         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86756         * m4/chown.m4: Rename conftestchown to conftest.chown.
86757         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86758         s/conftestdir2/conftest.d2/.
86759         * m4/utimes.m4: s/conftestdata/conftest.data/
86760         Inspired by Pavel Roskin's change in autoconf.
86761
86762 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86763
86764         * lib/config.charset: Update for FreeBSD 4.2.
86765
86766 2001-01-27  Jim Meyering  <meyering@lucent.com>
86767
86768         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86769         a use of AS_IF.
86770         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86771
86772 2001-01-26  Jim Meyering  <meyering@lucent.com>
86773
86774         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86775         quotearg.c includes it.
86776
86777 2001-01-26  Jim Meyering  <meyering@lucent.com>
86778
86779         * lib/quotearg.c: Include stddef.h.
86780         * lib/quote.c: Include stddef.h.
86781         Reported by Axel Kittenberger.
86782
86783         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86784         line in double quotes so that it evokes a better diagnostic.
86785         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86786         Reported by Axel Kittenberger.
86787
86788 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86789
86790         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86791         as if it was a `charset'.
86792
86793 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86794
86795         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86796         has const.
86797
86798 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86799
86800         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86801         to avoid a warning.  Add back 'const' to inptr.
86802
86803 2001-01-20  Jim Meyering  <meyering@lucent.com>
86804
86805         Be sure that headers are checked before used in code compiled
86806         for the type checks.
86807         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86808         In place of that, invoke jm_CHECK_ALL_TYPES.
86809         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86810         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86811         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86812         The check for ssize_t was mistakenly run before the test for unistd.h.
86813
86814         The configure-time check for stdbool.h was missing.
86815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86816         (jm_PREREQ_HASH): New function.
86817
86818 2001-01-17  Jim Meyering  <meyering@lucent.com>
86819
86820         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86821         for autoconf-2.49c.
86822         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86823
86824 2001-01-16  Jim Meyering  <meyering@lucent.com>
86825
86826         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86827         From Bruno Haible.
86828
86829 2001-01-14  Jim Meyering  <meyering@lucent.com>
86830
86831         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86832         foo and bar.  Create conftestdir/ in the script, not in the C code.
86833         Remove directories in the script, not in the C code.
86834         Remove conftestdir{,2} before trying to create the directory.
86835         Make the entire configure script fail if the mkdir fails.
86836
86837 2001-01-14  Jim Meyering  <meyering@lucent.com>
86838
86839         * lib/rename.c: New file.  From Volker Borchert.
86840         Include stdlib.h, string.h or strings.h, and xalloc.h.
86841         Use strip_trailing_slashes rather than open-coding it.
86842
86843 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86844
86845         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86846
86847 2001-01-03  Jim Meyering  <meyering@lucent.com>
86848
86849         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86850         of local `inptr' to avoid warning with some system declarations of
86851         iconv.
86852
86853 2001-01-02  Volker Borchert  <bt@teknon.de>
86854
86855         * m4/rename.m4: New file.
86856         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86857
86858 2001-01-01  Jim Meyering  <meyering@lucent.com>
86859
86860         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86861         even on systems with utmpx.h.  It's necessary for the declaration of
86862         utmp's ut_user member.  Reported by Andreas Jaeger.
86863
86864         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86865         available. They are required for the declarations of getgrgid and
86866         getpwuid resp.
86867         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86868         Reported by Andreas Jaeger.
86869
86870 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86871
86872         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86873         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86874         so `make install' also works in VPATH builds.
86875
86876 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86877
86878         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86879         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86880         can be used in subdirectories.
86881
86882 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86883
86884         * lib/modechange.c: Do not assume that mode_t uses the
86885         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86886         the other-execute bit of FOO even if S_IXOTH != 1.
86887
86888         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86889         WOTH, XOTH, ALLM): New macros.
86890         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86891          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86892         Use them.
86893         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86894         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86895         (mode_compile):
86896         No need to use uintmax_t; unsigned long is long enough.
86897         Don't bother to get suffix since we don't use it.
86898
86899 2000-12-26  Jim Meyering  <meyering@lucent.com>
86900
86901         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86902         better with autoheader.
86903
86904 2000-12-24  Jim Meyering  <meyering@lucent.com>
86905
86906         * lib/hash.c (is_prime): Return explicit boolean values.
86907         (hash_get_first): Return NULL to appease Irix5.6's 89.
86908         Reported by Nelson Beebe.
86909
86910 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86911
86912         * lib/localcharset.c (locale_charset): Add support for Win32.
86913
86914 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86915
86916         * lib/physmem.h, lib/physmem.c: New files.
86917
86918         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86919         (noinst_HEADERS): Add physmem.h.
86920
86921         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86922         't' for compatibility with Solaris 8 sort.
86923
86924 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86925
86926         * lib/config.charset: Add support for BeOS.
86927
86928 2000-12-17  Jim Meyering  <meyering@lucent.com>
86929
86930         * m4/dos.m4 (jm_AC_DOS): New file and macro.
86931         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
86932
86933 2000-12-16  Jim Meyering  <meyering@lucent.com>
86934
86935         This bug had a serious impact on chown: `chown N:M FILE' (for integer
86936         N and M) would have treated it like `chown N:N FILE'.
86937
86938         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
86939
86940 2000-12-16  Jim Meyering  <meyering@lucent.com>
86941
86942         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
86943         SHELLS_FILE to a file name that's useful on djgpp systems.
86944         Include stdlib.h.
86945         (ADDITIONAL_DEFAULT_SHELLS): Define.
86946         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
86947         Based mostly on a patch from Prashant TR.
86948
86949 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
86950
86951         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
86952         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
86953         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
86954
86955 2000-12-08  Andreas Schwab  <schwab@suse.de>
86956
86957         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
86958         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
86959
86960 2000-12-07  Jim Meyering  <meyering@lucent.com>
86961
86962         * lib/stripslash.c (ISSLASH): Define.
86963         (strip_trailing_slashes): Use ISSLASH rather than comparing against
86964         `/'.
86965         From Prashant TR.
86966
86967         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
86968         (dir_name_r): Declare this function as static.
86969         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
86970         manifest itself on a name containing a mix of slashes and
86971         backslashes.
86972         Make this function work with names starting with a DOS-style
86973         drive letter and colon prefix.
86974         (dir_name): Append `.' if necessary.
86975         Based mostly on patches from Prashant TR and Eli Zaretskii.
86976
86977         * lib/dirname.h (dir_name_r): Remove prototype.
86978
86979 2000-12-06  Paul Eggert  <eggert@twinsun.com>
86980
86981         * m4/off_t-format.m4: Remove this file.
86982         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
86983
86984 2000-12-06  Jim Meyering  <meyering@lucent.com>
86985
86986         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
86987         replacement strtoull, we may well need the replacement strtoul, too.
86988         Check for declarations of strtoul and strtoull.
86989         Check for strtol.  Mainly as a cue to cause automake to include
86990         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
86991         Check for limits.h -- strtol.c needs it.
86992
86993 2000-12-05  Jim Meyering  <meyering@lucent.com>
86994
86995         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
86996
86997 2000-12-04  Jim Meyering  <meyering@lucent.com>
86998
86999         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87000         Also include memory.h, stdlib.h, unistd.h if appropriate.
87001         Reported by Andreas Jaeger (conflicting declaration of malloc).
87002
87003 2000-12-02  Jim Meyering  <meyering@lucent.com>
87004
87005         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87006         * m4/jm-macros.m4 (jm_MACROS): require it.
87007
87008 2000-12-02  Jim Meyering  <meyering@lucent.com>
87009
87010         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87011
87012 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87013
87014         * lib/memrchr.c: Include <config.h> before any system include file.
87015
87016 2000-11-30  Jim Meyering  <meyering@lucent.com>
87017
87018         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87019
87020 2000-11-30  Jim Meyering  <meyering@lucent.com>
87021
87022         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87023
87024 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87025
87026         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87027
87028 2000-11-26  Jim Meyering  <meyering@lucent.com>
87029
87030         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87031
87032 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87033
87034         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87035         size of (size_t) -1; it's not portable.
87036
87037 2000-11-17  Jim Meyering  <meyering@lucent.com>
87038
87039         * lib/strstr.c: Update from GNU libc.
87040
87041 2000-11-17  Akim Demaille  <akim@epita.fr>
87042
87043         * lib/obstack.h: Formatting changes.
87044         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87045         prevent type checking.
87046         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87047         cast the value to (void *): assigning a `foo *' to a `void *'
87048         variable is valid.
87049         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87050
87051 2000-11-16  Jim Meyering  <meyering@lucent.com>
87052
87053         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87054
87055 2000-11-11  Jim Meyering  <meyering@lucent.com>
87056
87057         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87058
87059 2000-11-10  Jim Meyering  <meyering@lucent.com>
87060
87061         * lib/obstack.h: Update from GNU libc.
87062         * lib/obstack.c: Likewise.
87063
87064 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87065
87066         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87067
87068 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87069
87070         * lib/getusershell.c (setusershell): Use rewind rather than
87071         fseek/fseeko, to avoid configuration hassles with fseeko.
87072         Don't bother opening SHELLS_FILE if shellstream is NULL;
87073         it's not necessary.
87074
87075 2000-11-05  Jim Meyering  <meyering@lucent.com>
87076
87077         * lib/makepath.h (make_dir): Declare.
87078         * lib/makepath.c (make_dir): Remove `static' attribute.
87079         Tweak a comment.
87080
87081 2000-11-04  Jim Meyering  <meyering@lucent.com>
87082
87083         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87084
87085 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87086
87087         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87088         last one in a bucket, advance to the next bucket.
87089
87090 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87091
87092         * lib/fnmatch.c: Do not comment out all the code if we are using
87093         the GNU C library, because in some cases we are replacing buggy
87094         code in the GNU C library itself.
87095
87096 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87097
87098         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87099         (regex_compile): Catch bogus \(\1\).
87100
87101 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87102
87103         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87104         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87105         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87106
87107 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87108
87109         * lib/error.h, getline.h, modechange.h:
87110         Remove "2000" from Copyright line, as the file hasn't been
87111         changed this year other than in the copyright notice.
87112
87113         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87114         was changed this year.
87115
87116 2000-10-29  Jim Meyering  <meyering@lucent.com>
87117
87118         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87119         renaming.
87120         * m4/ls-mntd-fs.m4: Likewise
87121
87122 2000-10-29  Jim Meyering  <meyering@lucent.com>
87123
87124         * lib/xstat.in: Fix grammar in comment.
87125
87126 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87127
87128         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87129         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87130         doesn't define __restrict_arr.
87131
87132 2000-10-28  Jim Meyering  <meyering@lucent.com>
87133
87134         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87135         (jm_PREREQ_MEMCHR): New function.
87136
87137 2000-10-28  Jim Meyering  <meyering@lucent.com>
87138
87139         * lib/memchr.c: Update from libc.
87140         Adjust for portability:
87141         [HAVE_STDLIB_H]: Include stdlib.h.
87142         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87143         Undef __memchr, too.
87144         [!weak_alias]: Define __memchr to memchr.
87145
87146         * lib/regex.c: Update from libc.
87147         * lib/regex.h: Likewise.
87148         * lib/getopt1.c: Likewise.
87149         * lib/memcmp.c: Likewise.
87150
87151         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87152         Avoid using fseek, when possible -- it's broken by design.
87153         Patch by Ulrich Drepper.
87154
87155 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87156
87157         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87158         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87159         Giving in to popular pressure to shut up the compiler with casts.
87160
87161 2000-10-26  Jim Meyering  <meyering@lucent.com>
87162
87163         * lib/strftime.c: Update from libc.
87164
87165 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87166
87167         * regex.c: More `unsigned char' -> `re_char' changes.
87168         Also change several `int' into `re_wchar_t'.
87169         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87170         (PUSH_FAILURE_POINTER): Don't cast any more.
87171         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87172         We want GCC to complain, since this piece of code makes
87173         re_match non-reentrant, which *should* be fixed.
87174         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87175         (EXTEND_BUFFER): Use RETALLOC.
87176         (SET_LIST_BIT): Don't cast.
87177         (re_wchar_t): New type.
87178         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87179         that those two functions will always properly return.
87180         (IMMEDIATE_QUIT_CHECK): Cast to void.
87181         (analyse_first): Use recursion rather than an explicit stack.
87182         (re_compile_fastmap): Can't fail anymore.
87183         (re_search_2): Don't check re_compile_fastmap for failure.
87184         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87185         Now also sets the new value (passed in a new argument).
87186         (re_match_2_internal): Use it.
87187         Also, use a new var `reg' of type size_t when looping through regs
87188         rather than reuse the inappropriate `mcnt'.
87189
87190 2000-10-25  Jim Meyering  <meyering@lucent.com>
87191
87192         * lib/obstack.c: Update from libc.
87193
87194 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87195
87196         * regex.c (regex_compile): Change the way of handling a range from
87197         a char less than 256 to a char not less than 256.
87198
87199 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87200
87201         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87202         NT-Emacs only.
87203         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87204         so that re_search functions only quit when callers expect them to.
87205
87206 2000-10-23  Jim Meyering  <meyering@lucent.com>
87207
87208         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87209         wrong.  That set_locale call must not have any side effects.
87210         From Paul Eggert.
87211
87212 2000-10-22  Jim Meyering  <meyering@lucent.com>
87213
87214         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87215         [CYCLIC]: Remove now-unused definition.
87216
87217         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87218         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87219         Suggestion from Ulrich Drepper.
87220
87221 2000-10-21  Jim Meyering  <meyering@lucent.com>
87222
87223         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87224         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87225         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87226
87227 2000-10-21  Jim Meyering  <meyering@lucent.com>
87228
87229         * lib/dirname.c (memrchr): Declare if necessary.
87230         (dir_name): Remove the restriction that there be no
87231         trailing slashes.  Now, this code skips past them, effectively
87232         ignoring them.
87233         [TEST_DIRNAME] (main): New unit tests.
87234
87235         * lib/memrchr.c: New file from GNU libc.
87236         Undef __memrchr, too.
87237         [!weak_alias]: Define __memrchr to memrchr.
87238         Guard weak_alias use with `#ifdef weak_alias'.
87239
87240 2000-10-21  Jim Meyering  <meyering@lucent.com>
87241
87242         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87243         (dir_name): Use dir_name_r.
87244         * lib/dirname.h (dir_name_r): Declare it.
87245
87246 2000-10-17  Jim Meyering  <meyering@lucent.com>
87247
87248         * lib/quote.h (PARAMS): Define and use.
87249         Reported by Akim Demaille.
87250
87251         * lib/getopt.c: Update from libc.
87252
87253 2000-10-16  Jim Meyering  <meyering@lucent.com>
87254
87255         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87256         setlocale.
87257         From Jan Fedak.
87258
87259 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87260
87261         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87262
87263 2000-09-25  Jim Meyering  <meyering@lucent.com>
87264
87265         * lib/md5.h (rol): Define (from GnuPG).
87266
87267         * lib/sha.c: Give credit (GnuPG) where due.
87268         (M): Use rol rather than open-coding it.
87269         Add a FIXME comment.
87270
87271 2000-09-21  Jim Meyering  <meyering@lucent.com>
87272
87273         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87274         Reported by Michael Stone.
87275
87276 2000-09-20  Jim Meyering  <meyering@lucent.com>
87277
87278         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87279         (noinst_HEADERS): Add sha.h.
87280         Based on code from Scott G. Miller and from GnuPG.
87281
87282 2000-09-18  Jim Meyering  <meyering@lucent.com>
87283
87284         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87285         LIBS. Otherwise, everyone ends up linking with -lelf for some
87286         configurations.
87287         Reported by Mike Stone.
87288
87289 2000-09-15  Jim Meyering  <meyering@lucent.com>
87290
87291         * lib/regex.c: Update from libc.
87292
87293 2000-09-10  Jim Meyering  <meyering@lucent.com>
87294
87295         * lib/getopt.c (_getopt_internal): Update from glibc.
87296
87297 2000-09-09  Jim Meyering  <meyering@lucent.com>
87298
87299         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87300         think it should be used as a general replacement for isascii.
87301         * lib/fnmatch.c: Likewise.
87302         * lib/mbswidth.c: Likewise
87303         * lib/regex.c: Likewise.
87304
87305         Don't use atoi.
87306         * lib/userspec.c: Include sys/param.h and limits.h.
87307         Include xstrtol.h.
87308         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87309         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87310         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87311         UID, GID.  Check range.
87312
87313 2000-09-06  Jim Meyering  <meyering@lucent.com>
87314
87315         * lib/getopt.c (_getopt_internal): Update from glibc.
87316
87317 2000-08-30  Jim Meyering  <meyering@lucent.com>
87318
87319         * lib/strftime.c: Merge in changes from GNU libc.
87320
87321 2000-08-26  Jim Meyering  <meyering@lucent.com>
87322
87323         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87324         * m4/fpending.m4: New file.
87325
87326 2000-08-26  Jim Meyering  <meyering@lucent.com>
87327
87328         * lib/closeout.c: Include "__fpending.h".
87329         (close_stdout_status): Return right away if there's nothing to flush.
87330
87331         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87332         * lib/__fpending.c: New file.
87333         * lib/__fpending.h: New file.
87334
87335 2000-08-20  Jim Meyering  <meyering@lucent.com>
87336
87337         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87338         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87339         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87340
87341 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87342
87343         Improve fileutils installation on systems where running
87344         programs (like install) can't be unlinked.
87345         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87346         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87347
87348 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87349
87350         Standardize on "memory exhausted" instead of "Memory exhausted"
87351         or "virtual memory exhausted".
87352         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87353         "virtual memory exhausted".
87354         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87355         our own message.
87356         * lib/userspec.c (parse_user_spec): Likewise.
87357         * lib/bumpalloc.h: comment fix
87358         * lib/same.c, userspec.c: Include xalloc.h.
87359
87360         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87361         not char *const and pointing to a constant array.
87362         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87363         (xrealloc): Comment fix.
87364
87365         * lib/userspec.c (parse_user_spec):
87366         Don't translate a message until just before returning,
87367         to avoid unnecessary translation.
87368
87369 2000-08-07  Jim Meyering  <meyering@lucent.com>
87370
87371         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87372         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87373         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87374         getgroups.c, gethostname.c, getopt.h, group-member.c,
87375         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87376         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87377         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87378         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87379         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87380         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87381         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87382         yesno.c: Back out Copyright date changes for each file with no change
87383         this year.  This eases coordination with other programs using the same
87384         source code modules.  From Paul Eggert.
87385
87386 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87387
87388         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87389         not char, for compatibility with glibc 2.1.3 strftime.c.
87390
87391 2000-08-03  Greg McGary  <greg@mcgary.org>
87392
87393         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87394         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87395         (EXTEND_BUFFER): Use them.
87396
87397 2000-08-01  Jim Meyering  <meyering@lucent.com>
87398
87399         * lib/dirname.c (ISSLASH): Define.
87400         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87401         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87402         both `\' and `/' may be use as path separators.
87403         Based on a patch from Prashant TR.
87404
87405 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87406
87407         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87408         slot vector a constant, since it might get modified.
87409
87410 2000-07-31  Jim Meyering  <meyering@lucent.com>
87411
87412         * lib/xmalloc.c: Use `virtual memory exhausted', not
87413         `Memory exhausted'.
87414         * lib/obstack.c (print_and_abort): Likewise.
87415
87416 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87417
87418         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87419         buffer, so that the caller can always quote one small
87420         component of a "memory exhausted" message in slot 0.
87421         From a suggestion by Jim Meyering.
87422
87423 2000-07-30  Jim Meyering  <meyering@lucent.com>
87424
87425         * lib/makepath.c (make_path): Quote the other instance, too.
87426
87427         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87428         (STATIC_BUF_SIZE): Define.
87429         (quotearg_n_options): Use only statically allocated storage when
87430         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87431         than STATIC_BUF_SIZE.
87432
87433 2000-07-29  Jim Meyering  <meyering@lucent.com>
87434
87435         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87436         * lib/dirname.c (dir_name): Likewise.
87437
87438         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87439         `/'.
87440
87441         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87442         (dir_name): Assert that there are no trailing slashes.
87443
87444 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87445
87446         * lib/mbswidth.h (mbswidth): Add a flags argument.
87447         (mbswidth): New declaration.
87448         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87449         * lib/mbswidth.c (mbswidth): Add a flags argument.
87450         (mbsnwidth): New function.
87451
87452 2000-07-24  Jim Meyering  <meyering@lucent.com>
87453
87454         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87455
87456 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87457
87458         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87459
87460 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87461
87462         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87463         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87464         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87465         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87466         invoke multibyte primitives.
87467
87468 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87469
87470         * lib/quotearg.c:
87471         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87472         so that mbstate_t is always defined.
87473
87474         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87475         be 1 in at least one GCC installation, and this configuration
87476         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87477         performance on hosts that have mbrtowc but have only unibyte
87478         locales, but I assume these hosts are rare.
87479
87480 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87481
87482         * lib/mbswidth.c (_XOPEN_SOURCE):
87483         Don't define; this causes problems on Solaris 7.
87484         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87485
87486 2000-07-23  Jim Meyering  <meyering@lucent.com>
87487
87488         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87489         too: getgrgid, getpwuid, getuid.
87490
87491 2000-07-23  Jim Meyering  <meyering@lucent.com>
87492
87493         * lib/basename.c (base_name): Add an assertion.
87494
87495 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87496
87497         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87498         shadow its mbsinit function.
87499
87500 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87501
87502         * lib/mbswidth.h: New file.
87503         * lib/mbswidth.c: New file.
87504         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87505         (noinst_HEADERS): Add mbswidth.h.
87506
87507 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87508
87509         * lib/config.charset: Add support for FreeBSD. Improve support for
87510         HP-UX and IRIX 6.
87511
87512 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87513
87514         * m4/mbswidth.m4: New file.
87515         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87516
87517 2000-07-15  Jim Meyering  <meyering@lucent.com>
87518
87519         * lib/makepath.c: Include quote.h.
87520         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87521         corresponding argument in a `quote (...)' call.
87522         Give better diagnostics.
87523
87524         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87525         (noinst_HEADERS): Add quote.h.
87526
87527         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87528         from tar's src/misc.c.
87529         * lib/quote.h: New file.  Prototypes for same.
87530
87531 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87532
87533         From a suggestion by Bruno Haible.
87534         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87535         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87536         to decide whether to define the BeOS workaround macro;
87537         this adjusts to the change to AC_MBSTATE_T.
87538
87539 2000-07-14  Jim Meyering  <meyering@lucent.com>
87540
87541         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87542         jm_AC_TYPE_UINTMAX_T.
87543
87544 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87545
87546         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87547
87548         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87549         quotearg_buffer_restyled): Add support for
87550         clocale_quoting_style.  Undo previous change to
87551         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87552         and "{RIGHT QUOTATION MARK}" msgids.
87553
87554 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87555
87556         From a suggestion by Bruno Haible.
87557         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87558         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87559         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87560         and mbstate_t, to a single-part test that simply defines mbstate_t.
87561         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87562         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87563
87564 2000-07-10  Jim Meyering  <meyering@lucent.com>
87565
87566         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87567
87568         * m4/gnu-source.m4: Output to confdefs.h directly.
87569         Suggestion from Akim Demaille.
87570
87571 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87572
87573         The old behavior of quoting `like this' doesn't look good with
87574         newer, ISO-style fonts.  See:
87575         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87576
87577         Instead, quote "like this" by default.  Let the translator
87578         tailor the locale-specific quoting behavior by providing
87579         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87580
87581         * lib/quotearg.c (N_): New macro.
87582         (gettext_default): New function.
87583         (quotearg_buffer_restyled): Use
87584         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87585         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87586
87587 2000-07-09  Jim Meyering  <meyering@lucent.com>
87588
87589         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87590         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87591
87592         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87593         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87594
87595 2000-07-09  Jim Meyering  <meyering@lucent.com>
87596
87597         * lib/Most files: Update copyright dates to include 2000.
87598
87599 2000-07-08  Jim Meyering  <meyering@lucent.com>
87600
87601         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87602         if not defined.
87603         (xgethostname): Remove now-unnecessary #ifdef.
87604         Move declaration of `err' into loop where it's used.
87605
87606 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87607         and Bruno Haible  <haible@clisp.cons.org>
87608
87609         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87610         only if the test for an object-type mbstate_t fails.  This
87611         prevents us from mistakenly reporting that mbstate_t is a
87612         system object type after we "#define mbstate_t int" to work
87613         around its lack.
87614
87615 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87616         and Bruno Haible  <haible@clisp.cons.org>
87617
87618         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87619
87620 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87621
87622         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87623         to strerror_r.
87624         Include <ctype.h> for use of isalpha.
87625
87626 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87627
87628         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87629         by allocating a larger buffer. Test the gethostname return value for
87630         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87631         returns an error and ENAMETOOLONG isn't defined.
87632
87633 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87634
87635         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87636         dimension.
87637
87638 2000-07-04  Jim Meyering  <meyering@lucent.com>
87639
87640         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87641         of the deprecated AC_CHECKING.
87642
87643 2000-07-04  Jim Meyering  <meyering@lucent.com>
87644
87645         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87646         Reported by Bruno Haible.
87647
87648 2000-07-04  Jim Meyering  <meyering@lucent.com>
87649
87650         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87651         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87652         lacks mbrtowc.
87653
87654 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87655
87656         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87657         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87658
87659 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87660         and Bruno Haible  <haible@clisp.cons.org>
87661
87662         * lib/quotearg.c (mbrtowc):
87663         Assign to *pwc, and return 1 only if result is nonzero.
87664         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87665
87666 2000-07-03  Jim Meyering  <meyering@lucent.com>
87667
87668         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87669
87670 2000-07-03  Jim Meyering  <meyering@lucent.com>
87671
87672         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87673         This is necessary to get a definition of e.g., UTMP_FILE on
87674         HP-UX 10.20.
87675         From Bob Proulx.
87676
87677 2000-07-02  Jim Meyering  <meyering@lucent.com>
87678
87679         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87680
87681         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87682         AC_LIBOBJ(function_name).
87683         * m4/chown.m4: Likewise.
87684         * m4/fnmatch.m4: Likewise.
87685         * m4/ftruncate.m4: Likewise.
87686         * m4/getgroups.m4: Likewise.
87687         * m4/getline.m4: Likewise.
87688         * m4/group-member.m4: Likewise.
87689         * m4/jm-macros.m4: Likewise.
87690         * m4/lstat.m4: Likewise.
87691         * m4/malloc.m4: Likewise.
87692         * m4/memcmp.m4: Likewise.
87693         * m4/nanosleep.m4: Likewise.
87694         * m4/putenv.m4: Likewise.
87695         * m4/realloc.m4: Likewise.
87696         * m4/regex.m4: Likewise.
87697         * m4/stat.m4: Likewise.
87698         * m4/strftime.m4: Likewise.
87699
87700 2000-07-02  Jim Meyering  <meyering@lucent.com>
87701
87702         * lib/quotearg.c (mbstate_t): Don't define here.
87703
87704 2000-07-02  Jim Meyering  <meyering@lucent.com>
87705
87706         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87707
87708 2000-07-01  Jim Meyering  <meyering@lucent.com>
87709
87710         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87711
87712 2000-07-01  Jim Meyering  <meyering@lucent.com>
87713
87714         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87715         problem.
87716
87717 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87718
87719         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87720         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87721
87722 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87723
87724         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87725         per change in ../m4/ls-mntd-fs.m4.
87726         (read_filesystem_list): Ignore symbolic links.
87727
87728 2000-06-29  Jim Meyering  <meyering@lucent.com>
87729
87730         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87731         for declaration of strcmp.
87732
87733         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87734
87735         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87736         Avoid warning by casting result to `char *' to remove `const'.
87737
87738 2000-06-28  Jim Meyering  <meyering@lucent.com>
87739
87740         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87741         included by quotearg.c, for which we perform this test.  From
87742         Bruno Haible.
87743
87744 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87745
87746         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87747         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87748         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87749
87750 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87751
87752         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87753
87754 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87755
87756         savedir now sets errno on failure and invokes xmalloc to get memory.
87757         Fix a couple of other minor bugs while we're at it.
87758
87759         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87760         (NAMLEN): Remove macro.
87761         (malloc, realloc): Remove decls.
87762         (stpcpy): Likewise.
87763         ("xalloc.h"): Include.
87764         (NAME_SIZE_DEFAULT): New macro.
87765         (savedir): Use xmalloc / xrealloc to allocate memory.
87766         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87767         Skip "" directory entries.
87768         Use strlen to calculate directory entry length, since the old method
87769         is rarely used these days and isn't worth supporting.
87770         Don't use a pointer after freeing it.
87771         Check for integer overflow when calculating allocation size.
87772         Use memcpy to copy entries, instead of stpcpy.
87773         Set errno properly when returning NULL.
87774         Check for readdir error.
87775
87776 2000-06-26  Jim Meyering  <meyering@lucent.com>
87777
87778         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87779
87780 2000-06-25  Jim Meyering  <meyering@lucent.com>
87781
87782         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87783         Linux header bug when _XOPEN_SOURCE is defined to 500.
87784
87785 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87786
87787         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87788         deficiency.
87789
87790 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87791
87792         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87793         Include xalloc.h.
87794         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87795
87796 2000-06-24  Jim Meyering  <meyering@lucent.com>
87797
87798         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87799         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87800         for which strerror does return char*, but which lacks a conveniently
87801         accessible declaration of the function.  If the compile-test says
87802         strerror_r doesn't work, then resort to a `run'-test that works on
87803         BeOS and segfaults on DEC Unix.
87804
87805 2000-06-24  Jim Meyering  <meyering@lucent.com>
87806
87807         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87808
87809 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87810
87811         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87812         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87813
87814 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87815
87816         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87817         (mbrtowc, mbstate_t): Define substitutes if
87818         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87819         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87820         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87821
87822 2000-06-23  Jim Meyering  <meyering@lucent.com>
87823
87824         * m4/afs.m4: Add missing AC_MSG_RESULT.
87825         Reported by Bruno Haible.
87826
87827         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87828         Suggestion from Bruno Haible.
87829
87830 2000-06-23  Jim Meyering  <meyering@lucent.com>
87831
87832         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87833
87834 2000-06-21  Jim Meyering  <meyering@lucent.com>
87835
87836         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87837
87838 2000-06-21  Jim Meyering  <meyering@lucent.com>
87839
87840         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87841         (noinst_HEADERS): Add getstr.h.
87842
87843         * lib/getline.c (getstr): Move into a separate file.
87844         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87845         the following changes: new parameter, delim2; both delim[12]
87846         parameters have type `int', not `char'.  The latter would lose
87847         with 8-bit delimiters.
87848         * lib/getstr.h: New file.
87849
87850 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87851
87852         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87853         than 1024, return a memory chunk of least possible size, instead
87854         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87855         Use free/xmalloc instead of xrealloc to avoid copying for very long
87856         paths.
87857
87858 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87859
87860         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87861         the empty string.
87862
87863 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87864
87865         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87866         address, not strdup.  Include <stdlib.h> and don't declare free().
87867
87868 2000-06-19  Jim Meyering  <meyering@lucent.com>
87869
87870         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87871
87872 2000-06-18  Jim Meyering  <meyering@lucent.com>
87873
87874         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87875
87876         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87877         `checking whether...' message to be consistent with that of the
87878         lstat test.
87879
87880 2000-06-18  Jim Meyering  <meyering@lucent.com>
87881
87882         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87883         Besides, these days every porting target provides a mkdir function.
87884
87885         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87886         needed. (this snippet comes from src/system.h).
87887
87888 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87889
87890         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87891
87892 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87893
87894         * lib/human.c (adjust_value): New function.
87895         (human_readable_inexact): Apply rounding style even when
87896         printing approximate values.
87897
87898 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87899
87900         * lib/human.c (human_readable_inexact): Allow an input block
87901         size that is not a multiple of the output block size, and vice versa.
87902         Reported by Piergiorgio Sartor.
87903
87904 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87905
87906         * lib/getdate.y (get_date): Apply relative times after time
87907         zone indicator, not before.  Reported by Todd A. Jacobs.
87908
87909 2000-06-13  Jim Meyering  <meyering@lucent.com>
87910
87911         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87912
87913         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87914
87915 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87916
87917         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87918
87919 2000-06-12  Jim Meyering  <meyering@lucent.com>
87920
87921         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87922         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87923         optional argument.
87924         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87925         the optional argument, `lib'.
87926
87927 2000-06-08  Jim Meyering  <meyering@lucent.com>
87928
87929         * m4/largefile.m4: Remove file (now that it's part of autoconf).
87930
87931 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87932
87933         Rewrite largefile configuration so that we don't need to run
87934         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
87935         AC_CANONICAL_HOST in configure.in -- jmm]
87936
87937         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
87938         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
87939         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
87940         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
87941         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
87942         All uses changed.
87943         Instead of inspecting the output of getconf, try to compile the
87944         test program without and with the macro definition.
87945         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
87946         for getconf.  Instead, check for the needed flags by compiling
87947         test programs.
87948
87949 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87950
87951         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
87952
87953 2000-06-04  Jim Meyering  <meyering@lucent.com>
87954
87955         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
87956         SunOS 4.1.4 for which gid_t is an unsigned type.
87957
87958 2000-06-03  Jim Meyering  <meyering@lucent.com>
87959
87960         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
87961         now that autoconf requires that.
87962
87963         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
87964         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
87965         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
87966
87967 2000-06-03  Jim Meyering  <meyering@lucent.com>
87968
87969         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
87970
87971 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87972
87973         * m4/glibc21.m4: New file.
87974         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
87975
87976 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
87977
87978         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
87979         newer, don't install charset.alias.
87980         * lib/config.charset: Change the Linux/glibc rules so they become empty
87981         on glibc-2.1 or newer.
87982
87983 2000-06-02  Jim Meyering  <meyering@lucent.com>
87984
87985         * lib/mountlist.c: Back out last change.  Instead, do this...
87986         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
87987         me_dummy member using the same `ignore'-testing code.
87988         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
87989         fs_type strings.
87990         From Mark D. Roth.
87991
87992 2000-05-29  Jim Meyering  <meyering@lucent.com>
87993
87994         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
87995         mounts with the `ignore' attribute.  Based on a patch from
87996         Mark D. Roth.
87997
87998 2000-05-28  Jim Meyering  <meyering@lucent.com>
87999
88000         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88001         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88002         * m4/stat.m4: Likewise.
88003         * m4/lstat.m4: Likewise.
88004         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88005
88006         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88007         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88008
88009 2000-05-26  Jim Meyering  <meyering@lucent.com>
88010
88011         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88012
88013 2000-05-24  Jim Meyering  <meyering@lucent.com>
88014
88015         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88016         autoconf requires that.
88017         * m4/lib-check.m4: Likewise.
88018         * m4/jm-macros.m4: Likewise.
88019         * m4/strftime.m4: Likewise.
88020
88021         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88022         AC_CHECK_DECLS, now that autoconf requires that.
88023
88024 2000-05-22  Jim Meyering  <meyering@lucent.com>
88025
88026         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88027         * m4/lstat.m4: Likewise.
88028
88029 2000-05-22  Jim Meyering  <meyering@lucent.com>
88030
88031         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88032
88033 2000-05-20  Jim Meyering  <meyering@lucent.com>
88034
88035         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88036         (jm_PREREQ): Use it.
88037
88038 2000-05-18  Jim Meyering  <meyering@lucent.com>
88039
88040         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88041         back, too, since it may have been modified by allocate_entry.
88042         (hash_delete): Rewrite to use neither the assignment operator
88043         nor the comma operator in an if-expression.
88044
88045 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88046
88047         * lib/closeout.c:
88048         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88049         Remove; no longer needed.
88050         "quotearg.h": Add include.
88051         (file_name): Do not bother to explicitly initialize to NULL; it's less
88052         efficient on some hosts.
88053         (close_stdout_status): Remove test as to whether stdout was already
88054         closed; it breaks for the case "echo x | sort >&-".
88055         Quote file name colons.
88056         Do not assume that _("write error") lacks format strings.
88057
88058 2000-05-15  Jim Meyering  <meyering@lucent.com>
88059
88060         * lib/version-etc.c (version_etc_copyright): Update the copyright
88061         string used in all --version output.
88062
88063 2000-05-14  Jim Meyering  <meyering@lucent.com>
88064
88065         * lib/closeout.c (close_stdout_set_file_name): New function.
88066         (close_stdout_status): Use new file-scoped global.
88067         Return right away if fstat says the stdout file descriptor is invalid.
88068         * lib/closeout.h (close_stdout_set_file_name): Declare.
88069
88070 2000-05-10  Jim Meyering  <meyering@lucent.com>
88071
88072         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88073         (close_stdout_set_status): New function.
88074         * lib/closeout.h (close_stdout_set_status): Declare.
88075
88076 2000-05-09  Jim Meyering  <meyering@lucent.com>
88077
88078         * m4/gettext.m4: Rename this...
88079         * m4/libintl.m4: ...to this.
88080
88081 2000-05-08  Jim Meyering  <meyering@lucent.com>
88082
88083         * lib/long-options.c: Don't include closeout.h.
88084         (parse_long_options): Don't call close_stdout for --version.
88085
88086 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88087
88088         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88089         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88090         2.1.3 bug.  This avoids a clash when files like regex.c define
88091         _GNU_SOURCE.
88092
88093 2000-05-06  Jim Meyering  <meyering@lucent.com>
88094
88095         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88096         (AC_REPLACE_FUNCS): Add strnlen.
88097
88098         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88099         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88100
88101         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88102         AC_SEARCH_LIBS call for nanosleep.
88103         (LIB_NANOSLEEP): Set and AC_SUBST.
88104
88105 2000-05-06  Jim Meyering  <meyering@lucent.com>
88106
88107         * lib/strnlen.c: Undefine __strnlen and strnlen.
88108         [!weak_alias]: Define __strnlen to strnlen.
88109
88110         * lib/atexit.c: New file, from libiberty.
88111
88112 2000-05-06  Jim Meyering  <meyering@lucent.com>
88113
88114         * lib/closeout.c (close_stdout_status): Also check for errors on the
88115         stderr stream.
88116
88117 2000-05-05  Jim Meyering  <meyering@lucent.com>
88118
88119         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88120         AC_SEARCH_LIBS call for clock_gettime.
88121         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88122
88123         * m4/search-libs.m4: Update from autoconf.
88124
88125         su doesn't work on Solaris 2.6.
88126         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88127         <shadow.h>.  Reported by Dragos Harabor.
88128
88129 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88130
88131         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88132         memcpy instead of xmalloc, xrealloc, path_concat.
88133         (locale_charset): Treat empty environment variables as absent.
88134         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88135
88136 2000-05-04  Jim Meyering  <meyering@lucent.com>
88137
88138         * lib/getopt.c: Update from glibc.
88139         * lib/obstack.c: Likewise.
88140         * lib/obstack.h: Likewise.
88141         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88142         file
88143
88144         * lib/regex.h: Likewise.
88145         * lib/strndup.c: Likewise.
88146         * lib/strnlen.c: New file, from glibc.
88147
88148 2000-05-03  Jim Meyering  <meyering@lucent.com>
88149
88150         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88151
88152 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88153
88154         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88155         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88156         compile-time test, rather than inspecting host and OS, to
88157         decide whether to define _LARGEFILE_SOURCE.
88158
88159 2000-05-01  Jim Meyering  <meyering@lucent.com>
88160
88161         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88162
88163         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88164         Based on a patch from Bruno Haible.
88165
88166 2000-05-01  Jim Meyering  <meyering@lucent.com>
88167
88168         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88169
88170 2000-04-29  Jim Meyering  <meyering@lucent.com>
88171
88172         * lib/path-concat.c: Declare strdup only if it's not defined.
88173         * lib/canon-host.c: Likewise.
88174
88175 2000-04-28  Jim Meyering  <meyering@lucent.com>
88176
88177         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88178         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88179         is included first, then limits.h is included by locale.h by libintl.h.
88180         From John David Anglin.
88181
88182 2000-04-25  Jim Meyering  <meyering@lucent.com>
88183
88184         * lib/makepath.c (S_IRWXUGO): Define.
88185         (make_path): Always perform explicit chmod if MODE specifies any
88186         of the `special' permission bits.  Prompted by a bug report against
88187         install from Mate Wierdl and Joost van Baal.
88188
88189 2000-04-18  Jim Meyering  <meyering@lucent.com>
88190
88191         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88192         (jm_PREREQ): Use it.
88193
88194 2000-04-18  Jim Meyering  <meyering@lucent.com>
88195
88196         * lib/README: New file.
88197
88198         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88199         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88200
88201 2000-04-17  Jim Meyering  <meyering@lucent.com>
88202
88203         Get it right :-)
88204         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88205         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88206         Suggestion from Akim Demaille.
88207
88208 2000-04-17  Jim Meyering  <meyering@lucent.com>
88209
88210         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88211         the definition of it to rpl_strftime also defined-away the system's
88212         declaration.
88213
88214 2000-04-15  Jim Meyering  <meyering@lucent.com>
88215
88216         Use `C' to denote so-called `contiguous' files, the same way
88217         that tar does.
88218         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88219         (ftypelet): Use S_ISCTG.
88220         From Michael Deutschmann.
88221
88222 2000-04-14  Jim Meyering  <meyering@lucent.com>
88223
88224         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88225         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88226         clobbered.
88227
88228 2000-04-14  Jim Meyering  <meyering@lucent.com>
88229
88230         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88231
88232 2000-04-13  Jim Meyering  <meyering@lucent.com>
88233
88234         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88235         AH_VERBATIM to insert required #ifndef into config.h.in.
88236         Suggestion from Akim Demaille.
88237
88238 2000-04-12  Jim Meyering  <meyering@lucent.com>
88239
88240         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88241         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88242         Christian Krackowizer.
88243
88244         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88245         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88246         (AC_SYS_LARGEFILE): Require.
88247         (AM_C_PROTOTYPES): Require.
88248
88249 2000-04-08  Jim Meyering  <meyering@lucent.com>
88250
88251         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88252         names don't conflict.  Reported by Eli Zaretskii.
88253
88254 2000-04-07  Jim Meyering  <meyering@lucent.com>
88255
88256         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88257         sys/types.h, to work around system header problems on AIX 3.2.5.
88258         From Bruno Haible.
88259
88260 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88261
88262         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88263         bug.  Deal with the different error behavior of Irix iconv.
88264
88265 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88266
88267         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88268         IRIX if the installer said otherwise.
88269
88270 2000-04-05  Jim Meyering  <meyering@lucent.com>
88271
88272         Portability tweaks required for ultrix4.3.
88273         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88274         (jm_CHECK_DECLS): Add getutent to the list of functions.
88275         (_jm_DECL_HEADERS): Add utmpx.h.
88276         From John David Anglin.
88277
88278         * m4/strftime.m4: Back out the 2000-04-02 change.
88279         Instead of that change, simply undefine putenv in the test program.
88280
88281 2000-04-05  Jim Meyering  <meyering@lucent.com>
88282
88283         Portability tweaks required for ultrix4.3.
88284         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88285         getutent.
88286         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88287         * lib/canon-host.c: Declare strdup.
88288         * lib/path-concat.c: Likewise.
88289         From John David Anglin.
88290
88291 2000-04-04  Jim Meyering  <meyering@lucent.com>
88292
88293         Be more DOS 8.3-friendly.
88294         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88295         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88296         * lib/Makefile.am: Reflect renaming.
88297         Reported by Eli Zaretskii.
88298
88299         Use a temporary file name that won't clash with `charset.alias'
88300         in the DOS 8.3 name space.
88301         * lib/Makefile.am (charset_tmp): Define.
88302         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88303         (uninstall-local): Likewise.
88304         Reported by Eli Zaretskii.
88305
88306 2000-04-03  Jim Meyering  <meyering@lucent.com>
88307
88308         * m4/gettext.m4: Fix typo in comment.
88309
88310         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88311         textutils/configure.in).  Suggestion from Paul Eggert.
88312         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88313
88314 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88315
88316         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88317         variable in the shell rather than using putenv, which isn't
88318         portable.  This avoids the configure-time inter-test dependency
88319         on the potentially-renamed putenv function.
88320
88321 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88322
88323         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88324         before checking struct stat.st_blksize, so that
88325         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88326
88327 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88328
88329         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88330         since strftime.c uses HAVE_STRFTIME to decide whether to use
88331         the underlying strftime.
88332
88333 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88334
88335         * lib/time/strftime.c (my_strftime): Make sure we call the system
88336         strftime, not ourselves, when invoking the underlying strftime.
88337
88338 2000-03-24  Jim Meyering  <meyering@lucent.com>
88339
88340         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88341         (charset_alias): Define.
88342         (install-exec-local): Factor out common code.
88343         (uninstall-local): Split lines longer than 80.
88344         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88345         (SUFFIXES): Define.
88346         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88347         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88348
88349 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88350
88351         * lib/config.charset: Output a line containing "Packages using this
88352         file".
88353         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88354         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88355         ref-del.sed): New rules.
88356
88357 2000-03-17  Jim Meyering  <meyering@lucent.com>
88358
88359         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88360         Otherwise, include <strings.h>
88361
88362 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88363
88364         * lib/unicodeio.c (utf8_wctomb): New function.
88365         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88366         format instead of in UCS-4 with platform dependent endianness.
88367
88368 2000-03-10  Jim Meyering  <meyering@lucent.com>
88369
88370         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88371         From Marco Franzen.
88372
88373 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88374
88375         * lib/savedir.c (savedir): Work even if directory size is
88376         negative; this can happen with some screwy NFS configurations.
88377
88378 2000-03-06  Jim Meyering  <meyering@lucent.com>
88379
88380         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88381         if it's NULL (because we ran out of memory).  From Bruno Haible.
88382
88383 2000-03-05  Jim Meyering  <meyering@lucent.com>
88384
88385         * lib/localcharset.c ("path-concat.h"): Include.
88386         (get_charset_aliases): Use path_concat instead of ANSI string
88387         concatenation.
88388
88389         * lib/unicodeio.h (PARAMS): Define.
88390         Use it to guard prototype.
88391
88392 2000-03-04  Jim Meyering  <meyering@lucent.com>
88393
88394         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88395         for lib/localcharset.c.
88396
88397 2000-03-04  Jim Meyering  <meyering@lucent.com>
88398
88399         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88400         installing into it.
88401         (uninstall-local): Uncomment this rule so `make distcheck' works
88402         once again.
88403
88404         * lib/unicodeio.c (<errno.h>): Include it.
88405         (errno): Declare if not defined.
88406
88407         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88408
88409         * lib/config.charset: New version, incorporating remarks from a linux
88410         i18n mailing list.  From Bruno Haible.
88411
88412 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88413
88414         * m4/codeset.m4: New file.
88415         * m4/iconv.m4: New file.
88416         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88417
88418 2000-03-03  Jim Meyering  <meyering@lucent.com>
88419
88420         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88421
88422 2000-03-02  Jim Meyering  <meyering@lucent.com>
88423
88424         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88425         the messages come out on separate lines.
88426
88427         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88428         rather than jm_CHECK_DECLARATIONS.
88429         * m4/decl.m4: Remove now-unused file.
88430
88431         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88432         geteuid.
88433
88434 2000-03-02  Jim Meyering  <meyering@lucent.com>
88435
88436         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88437
88438 2000-03-01  Jim Meyering  <meyering@lucent.com>
88439
88440         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88441         * lib/unicodeio.c: Likewise.
88442
88443 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88444
88445         * lib/config.charset: New file.
88446         * lib/localcharset.c: New file.
88447         * lib/unicodeio.h, lib/unicodeio.c: New files.
88448         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88449         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88450         (noinst_HEADERS): Add unicodeio.h.
88451         (all-local, install-exec-local, charset.alias): New targets.
88452
88453 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88454
88455         * lib/quotearg.c (ALERT_CHAR): New macro.
88456         (quotearg_buffer_restyled): Use it.
88457
88458 2000-02-27  Jim Meyering  <meyering@lucent.com>
88459
88460         * m4/check-decl.m4: Add getenv to the list.
88461
88462 2000-02-27  Jim Meyering  <meyering@lucent.com>
88463
88464         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88465         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88466
88467         * lib/backupfile.c: Guard inclusion of stdlib.h with
88468         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88469         Declare malloc if needed.
88470
88471         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88472         `#ifndef HAVE_DECL..'
88473         now that autoconf always defines the HAVE_DECL_ symbols.
88474         * lib/human.c: Likewise.
88475         * lib/same.c: Likewise.
88476         * lib/strtoumax.c: Likewise.
88477
88478         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88479         declaration check was not run.
88480         * lib/hash.c: Likewise.
88481         * lib/human.c: Likewise.
88482         * lib/same.c: Likewise.
88483         * lib/strtoumax.c: Likewise.
88484
88485         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88486         `.', then first look up the entire `.'-containing string as a login
88487         name.
88488
88489 2000-02-23  Jim Meyering  <meyering@lucent.com>
88490
88491         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88492         in place of my hack.
88493
88494 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88495
88496         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88497         (textint): New typedef.
88498         (parser_control): Member year changed from int to textint.
88499         All uses changed.
88500         (YYSTYPE): Removed; replaced by %union with int and textint members.
88501         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88502         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88503         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88504         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88505         (date, number, to_year): Use width of number in digits, not its value,
88506         to determine whether it's a 2-digit year, or a 2-digit time.
88507         (yylex): Store number of digits of numeric tokens.
88508         Reported by John Kendall.
88509
88510         (parser_control): Changed from struct parser_control to typedef (for
88511         consistency).  All uses changed.
88512
88513         (tID): Removed; not used.
88514         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88515
88516 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88517
88518         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88519         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88520
88521 2000-02-12  Jim Meyering  <meyering@lucent.com>
88522
88523         * lib/userspec.c (ISDIGIT): Define it.
88524         (isdigit): Remove definition.
88525         (is_number): Use ISDIGIT, not isdigit.
88526         <libintl.h>: Include.
88527         (_ and N_): Define.
88528         (parse_user_spec): Mark translatable strings.
88529
88530 2000-02-10  Jim Meyering  <meyering@lucent.com>
88531
88532         With these changes, nanosleep.[ch] are finally enough like the other
88533         lib/* replacement files to compile on a few more losing systems.
88534
88535         * lib/nanosleep.h: Don't include config.h.
88536         Remove prototype from declaration of nanosleep.
88537         (PARAMS): Remove now-unneeded definition.
88538         * lib/nanosleep.c: #undef nanosleep.
88539         (rpl_nanosleep): Rename from nanosleep.
88540
88541 2000-02-10  Jim Meyering  <meyering@lucent.com>
88542
88543         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88544         gnu_nanosleep to rpl_nanosleep.
88545
88546 2000-02-09  Jim Meyering  <meyering@lucent.com>
88547
88548         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88549         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88550
88551 2000-02-08  Akim Demaille  <akim@epita.fr>
88552
88553         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88554         `[' and `]' and remove uses of `changequote'.
88555         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88556         (AC_SYS_LARGEFILE): Likewise.
88557         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88558         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88559         of changequote.
88560         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88561         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88562         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88563         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88564
88565 2000-02-05  Jim Meyering  <meyering@lucent.com>
88566
88567         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88568         Remove explicit use of AC_HEADER_TIME.  It is required by
88569         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88570         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88571         in autoconf whereby the expansion of the latter ended up preceding
88572         the expansion of its prerequisite, AC_HEADER_TIME.
88573         Reported by Volker Borchert.
88574
88575 2000-02-03  Jim Meyering  <meyering@lucent.com>
88576
88577         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88578
88579 2000-02-03  Jim Meyering  <meyering@lucent.com>
88580
88581         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88582         rather than with `#if HAVE_UTMPNAME'.
88583
88584 2000-02-02  Jim Meyering  <meyering@lucent.com>
88585
88586         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88587         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88588         Reported by Eli Zaretskii.
88589
88590 2000-02-01  Jim Meyering  <meyering@lucent.com>
88591
88592         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88593
88594 2000-01-31  Jim Meyering  <meyering@lucent.com>
88595
88596         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88597         functions.  Add the time.h and sys/time.h headers along with the
88598         AC_REQUIRE'ment of AC_HEADER_TIME.
88599
88600 2000-01-31  Jim Meyering  <meyering@lucent.com>
88601
88602         * lib/nanosleep.h (nanosleep): Guard declaration with
88603         `#if ! HAVE_DECL_NANOSLEEP'.
88604         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88605         the declaration in that vendor's sys/timers.h.
88606         Reported by Christian Krackowizer.
88607
88608         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88609         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88610         (ISPRINT): Likewise.
88611         Reported by Tom Tromey.
88612
88613 2000-01-30  Jim Meyering  <meyering@lucent.com>
88614
88615         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88616
88617         * m4/prereq.m4 (utmp_includes): Define.
88618         Check for ut_user and ut_name members in both struct utmpx
88619         and struct utmp.
88620
88621 2000-01-30  Jim Meyering  <meyering@lucent.com>
88622
88623         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88624         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88625         header files where only utmpx.ut_user is declared.
88626
88627         * lib/readutmp.h (UT_USER): Define.
88628
88629 2000-01-29  Jim Meyering  <meyering@lucent.com>
88630
88631         * m4/lib-check.m4: New file containing library-related checks from
88632         fileutils and sh-utils (textutils had none).
88633
88634 2000-01-28  Jim Meyering  <meyering@lucent.com>
88635
88636         * m4/perl.m4: Change format of warning message to look more like that
88637         from the missing script.  Suggestion from François Pinard.
88638
88639 2000-01-25  Jim Meyering  <meyering@lucent.com>
88640
88641         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88642         well as time.h in the compile check.
88643         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88644         Fix typo in cross-compiling case: s/yes/no/.
88645
88646 2000-01-23  Jim Meyering  <meyering@lucent.com>
88647
88648         * m4/jm-macros.m4: Move df-related tests here from
88649         fileutils/configure.in
88650
88651         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88652         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88653
88654         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88655         s/space/ac_fsusage_space/.
88656         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88657
88658         * m4/ftruncate.m4: New file (derived from part of
88659         fileutils/configure.in).
88660         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88661         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88662
88663         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88664         AC_SUBST these here, rather than just in sh-util/configure.in, so
88665         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88666         all the same.
88667         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88668         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88669         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88670         (AC_SUBST(POW_LIBM)): Likewise.
88671         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88672
88673 2000-01-23  Jim Meyering  <meyering@lucent.com>
88674
88675         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88676         obstack.c.
88677
88678 2000-01-22  Jim Meyering  <meyering@lucent.com>
88679
88680         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88681
88682         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88683
88684         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88685         configure.in
88686         (AC_CHECK_HEADERS): Likewise for sh-utils.
88687         (AC_CHECK_HEADERS): Likewise for textutils.
88688         Merge the three lists of headers.
88689
88690         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88691         from fileutils' configure.in.
88692
88693         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88694         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88695         check-decl.m4.
88696
88697         * m4/check-decl.m4: Use #if rather than #ifdef.
88698         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88699         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88700         (_jm_DECL_HEADERS): Define new function.
88701         (jm_CHECK_DECLARATIONS): Require it.
88702
88703 2000-01-22  Jim Meyering  <meyering@lucent.com>
88704
88705         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88706         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88707         Required for some AIX systems.  Reported by Christian Krackowizer.
88708         [TESTING] (main): New function.
88709
88710         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88711         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88712         letters.
88713
88714         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88715         iswprint.
88716
88717         * lib/strverscmp.c (ISDIGIT): Define.
88718         (strverscmp): Use ISDIGIT, not isdigit.
88719
88720 2000-01-19  Jim Meyering  <meyering@lucent.com>
88721
88722         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88723         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88724         defines `struct timespec' in <sys/time.h>
88725
88726         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88727         Thanks to Akim for explaining.
88728
88729 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88730
88731         * lib/nanosleep.c (nanosleep):
88732         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88733         POSIX.1 doesn't require SA_INTERRUPT and some systems
88734         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88735         it's been part of POSIX.1 since day 1 (in 1988).
88736
88737 2000-01-17  Jim Meyering  <meyering@lucent.com>
88738
88739         * lib/interlock: Remove unused file.  Reported by François Pinard.
88740
88741 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88742
88743         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88744         alert, backslash, formfeed, and vertical tab unnecessarily in
88745         shell quoting style.
88746
88747 2000-01-16  Jim Meyering  <meyering@lucent.com>
88748
88749         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88750         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88751         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88752         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88753
88754 2000-01-16  Jim Meyering  <meyering@lucent.com>
88755
88756         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88757         because the latter didn't work.
88758
88759 2000-01-15  Jim Meyering  <meyering@lucent.com>
88760
88761         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88762         (AC_REPLACE_FUNCS): Add memcpy and memset.
88763         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88764         Add strpbrk.
88765         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88766
88767 2000-01-12  Jim Meyering  <meyering@lucent.com>
88768
88769         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88770         (jm_PREREQ): Use it.
88771         (jm_PREREQ_READUTMP): New macro.
88772         (jm_PREREQ): Use it.
88773
88774 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88775
88776         Quote multibyte characters correctly.
88777         * m4/c-bs-a.m4: New file.
88778         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88779         (jm_PREREQ): Use it.
88780
88781 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88782
88783         * m4/uintmax_t.m4: Port to autoconf 2.13.
88784
88785 2000-01-08  Jim Meyering  <meyering@ascend.com>
88786
88787         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88788         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88789
88790 2000-01-04  Jim Meyering  <meyering@ascend.com>
88791
88792         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88793         jm_STRUCT_DIRENT_D_TYPE.
88794         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88795         jm_STRUCT_DIRENT_D_INO.
88796         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88797         jm_STRUCT_UTIMBUF.
88798         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88799         renamings.
88800         * m4/utime.m4: Likewise.
88801
88802         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88803         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88804
88805 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88806
88807         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88808         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88809
88810 2000-01-02  Jim Meyering  <meyering@ascend.com>
88811
88812         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88813         remember if this is necessary.
88814
88815 1999-12-26  Jim Meyering  <meyering@ascend.com>
88816
88817         * m4/jm-macros.m4: Use it here.
88818         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88819
88820 1999-12-23  Jim Meyering  <meyering@ascend.com>
88821
88822         * m4/jm-macros.m4: Check for clock_gettime (moved from
88823         fileutils/configure.in)
88824         Check for gettimeofday.
88825
88826 1999-12-20  Jim Meyering  <meyering@ascend.com>
88827
88828         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88829         autoconf-2.14a-1999-12-20.
88830
88831 1999-12-19  Jim Meyering  <meyering@ascend.com>
88832
88833         * m4/lstat-slash.m4: New file.
88834         * m4/jm-macros.m4: Use the new macro:
88835         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88836
88837 1999-12-07  Jim Meyering  <meyering@ascend.com>
88838
88839         * m4/perl.m4: Require that File::Compare be available, too.
88840         Too many systems seem to lack it.
88841
88842         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88843         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88844
88845 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88846
88847         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88848         problem with the QNX 4.25 shell, which doesn't propagate exit
88849         status of failed commands inside shell assignments.
88850
88851 1999-11-17  Jim Meyering  <meyering@ascend.com>
88852
88853         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88854
88855 1999-11-07  Jim Meyering  <meyering@ascend.com>
88856
88857         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88858
88859 1999-11-06  Jim Meyering  <meyering@ascend.com>
88860
88861         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88862         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88863
88864 1999-11-05  Jim Meyering  <meyering@ascend.com>
88865
88866         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88867         configure.in of textutils, fileutils, and sh-utils into this one
88868         (shared between those packages) file.
88869         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88870         AC_STRUCT_ST_BLKSIZE.
88871
88872 1999-11-03  Jim Meyering  <meyering@ascend.com>
88873
88874         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88875         of AC_CHECK_TYPE checks includes unistd.h.
88876         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88877         Suggestion from Akim Demaille.
88878
88879 1999-10-30  Jim Meyering  <meyering@ascend.com>
88880
88881         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88882         m4-quoted string.
88883         * m4/ls-mntd-fs.m4: Likewise.
88884         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88885         * m4/jm-winsz1.m4: Likewise.
88886
88887         * m4/const.m4: Remove file, since the fix made it into the experimental
88888         version of autoconf.
88889         * m4/mktime.m4: Likewise.
88890
88891         * m4/check-type.m4: Remove file, now that the latest version of
88892         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88893
88894         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88895         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88896         AC_CHECK_TYPE.
88897
88898 1999-10-04  Jim Meyering  <meyering@ascend.com>
88899
88900         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88901
88902 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88903
88904         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88905         2.95.1 bug with HP-UX 10.20.
88906
88907 1999-09-17  Jim Meyering  <meyering@ascend.com>
88908
88909         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88910         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88911         due to missing strdup (against sh-utils-2.0).
88912
88913 1999-08-29  Jim Meyering  <meyering@ascend.com>
88914
88915         * m4/jm-macros.m4: Require jm_BISON.
88916         * m4/bison.m4: New file.
88917
88918 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88919
88920         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88921         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88922
88923 1999-08-05  Jim Meyering  <meyering@ascend.com>
88924
88925         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88926         to avoid conflicts with `conftest' on 8+3 filesystems.
88927         Suggestion from Eli Zaretskii.
88928
88929 1999-08-04  Jim Meyering  <meyering@ascend.com>
88930
88931         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
88932         fileutils and sh-utils (textutils's getline test was inadequate).
88933         (AM_FUNC_GETLINE): Run this test.
88934         (AC_CHECK_FUNCS): Check for getdelim.
88935         Reported by Bob Proulx.
88936
88937 1999-08-02  Jim Meyering  <meyering@ascend.com>
88938
88939         * m4/jm-macros.m4: Add a comment.
88940
88941 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88942
88943         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
88944         <inttypes.h> defines strtoumax as a macro (and not as a
88945         function).
88946
88947 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88948
88949         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
88950         that we can shift, multiply and divide unsigned long long
88951         values; Ultrix cc can't do it.
88952
88953 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88954
88955         * m4/mktime.m4: New file, which is a preview of what should appear
88956         in the next public autoconf release.
88957
88958 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88959
88960         * m4/lfs.m4: Remove this file.
88961         * m4/largefile.m4: New file.  It contains the old contents of
88962         lfs.m4, except that all names with prefix AC_LFS have been
88963         changed to use the prefix AC_SYS_LARGEFILE instead, to be
88964         compatible with future autoconf versions.  Also, some minor m4
88965         quoting problems have been fixed.
88966
88967 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88968
88969         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
88970         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
88971         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
88972         and simplify the shell code.
88973
88974 1999-08-01  Jim Meyering  <meyering@ascend.com>
88975
88976         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
88977         m4.
88978
88979 1999-07-20  Jim Meyering  <meyering@ascend.com>
88980
88981         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
88982
88983 1999-07-15  Jim Meyering  <meyering@ascend.com>
88984
88985         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
88986
88987 1999-05-22  Jim Meyering  <meyering@ascend.com>
88988
88989         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
88990
88991 1999-05-20  Jim Meyering  <meyering@ascend.com>
88992
88993         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
88994         Add a colon after each `then' in case $4 is empty.
88995
88996 1999-05-16  Jim Meyering  <meyering@ascend.com>
88997
88998         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
88999
89000 1999-05-10  Jim Meyering  <meyering@ascend.com>
89001
89002         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89003
89004         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89005         AC_FUNC_MKTIME.
89006
89007 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89008
89009         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89010
89011 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89012
89013         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89014         not CPPFLAGS, so that linking works correctly in IRIX.
89015
89016 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89017
89018         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89019
89020 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89021
89022         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89023         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89024         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89025         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89026         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89027
89028         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89029
89030 1999-04-20  Jim Meyering  <meyering@ascend.com>
89031
89032         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89033         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89034         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89035
89036 1999-04-18  Jim Meyering  <meyering@ascend.com>
89037
89038         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89039         * m4/jm-macros.m4: Use it.
89040
89041 1999-04-06  Jim Meyering  <meyering@ascend.com>
89042
89043         * m4/strftime.m4: Remove test for %f.
89044
89045 1999-03-29  Jim Meyering  <meyering@ascend.com>
89046
89047         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89048         superset of the AC_TYPE_* checks in the textutils, fileutils,
89049         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89050         AC_TYPE_PID_T.
89051
89052 1999-03-28  Jim Meyering  <meyering@ascend.com>
89053
89054         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89055         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89056         replaced e.g., in the *.sh files of the sh-utils.
89057
89058 1999-03-20  Jim Meyering  <meyering@ascend.com>
89059
89060         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89061         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89062         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89063
89064 1999-03-19  Jim Meyering  <meyering@ascend.com>
89065
89066         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89067
89068 1999-03-12  Jim Meyering  <meyering@ascend.com>
89069
89070         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89071
89072 1999-03-07  Jim Meyering  <meyering@ascend.com>
89073
89074         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89075         declared.
89076
89077 1999-02-17  Jim Meyering  <meyering@ascend.com>
89078
89079         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89080         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89081
89082 1999-02-07  Jim Meyering  <meyering@ascend.com>
89083
89084         * m4/group-member.m4: New file -- extracted from sh-utils'
89085         configure.in.
89086
89087         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89088         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89089
89090 1999-02-06  Jim Meyering  <meyering@ascend.com>
89091
89092         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89093         * m4/fnmatch.m4: Likewise.
89094         * m4/getgroups.m4: Likewise.
89095         * m4/lstat.m4: Likewise.
89096         * m4/malloc.m4: Likewise.
89097         * m4/putenv.m4: Likewise.
89098         * m4/realloc.m4: Likewise.
89099         * m4/regex.m4: Likewise.
89100         * m4/stat.m4: Likewise.
89101         * m4/strftime.m4: Likewise.
89102         Suggestion from Alain Magloire.
89103
89104         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89105         * m4/fnmatch.m4: Likewise.
89106         * m4/getgroups.m4: Likewise.
89107         * m4/getline.m4: Likewise.
89108         * m4/lstat.m4: Likewise.
89109         * m4/malloc.m4: Likewise.
89110         * m4/memcmp.m4: Likewise.
89111         * m4/putenv.m4: Likewise.
89112         * m4/realloc.m4: Likewise.
89113         * m4/regex.m4: Likewise.
89114         * m4/stat.m4: Likewise.
89115         * m4/strftime.m4: Likewise.
89116         Suggestion from Alain Magloire.
89117
89118         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89119         an argument.
89120
89121         * m4/regex.m4: Add a run-time Test for proper operation of
89122         re_compile_pattern.
89123
89124 1999-01-31  Jim Meyering  <meyering@ascend.com>
89125
89126         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89127
89128 1999-01-30  Jim Meyering  <meyering@ascend.com>
89129
89130         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89131
89132         * m4/jm-mktime.m4: Make this a wrapper around the official
89133         AM_FUNC_MKTIME rather than my private copy, now that the official one
89134         is up to date.
89135         * m4/mktime.m4: Remove file.
89136
89137         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89138         * m4/uptime.m4: Likewise.
89139         * m4/uintmax_t.m4: Likewise.
89140
89141 1999-01-28  Jim Meyering  <meyering@ascend.com>
89142
89143         * m4/jm-macros.m4: Use jm_AFS.
89144         * m4/afs.m4: New file (from fileutils' configure.in).
89145
89146         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89147         * m4/chown.m4: Likewise.
89148         * m4/d-ino.m4: Likewise.
89149         * m4/d-type.m4: Likewise.
89150         * m4/fnmatch.m4: Likewise.
89151         * m4/getgroups.m4: Likewise.
89152         * m4/gettext.m4: Likewise.
89153         * m4/jm-mktime.m4: Likewise.
89154         * m4/jm-winsz2.m4: Likewise.
89155         * m4/lcmessage.m4: Likewise.
89156         * m4/ls-mntd-fs.m4: Likewise.
89157         * m4/malloc.m4: Likewise.
89158         * m4/memcmp.m4: Likewise.
89159         * m4/putenv.m4: Likewise.
89160         * m4/realloc.m4: Likewise.
89161         * m4/st_mtim.m4: Likewise.
89162         * m4/strftime.m4: Likewise.
89163
89164 1999-01-16  Jim Meyering  <meyering@ascend.com>
89165
89166         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89167         (ARGMATCH_DIE_DECL): Define.
89168
89169 1999-01-12  Jim Meyering  <meyering@ascend.com>
89170
89171         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89172         Reported by Lars Hecking.
89173
89174 1999-01-10  Jim Meyering  <meyering@ascend.com>
89175
89176         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89177         gross kludge.
89178         * m4/inttypes_h.m4: Likewise.
89179         * m4/lstat.m4: Likewise.
89180         * m4/malloc.m4: Likewise.
89181         * m4/readdir.m4: Likewise.
89182         * m4/realloc.m4: Likewise.
89183         * m4/st_dm_mode.m4: Likewise.
89184         * m4/stat.m4: Likewise.
89185         * m4/utimbuf.m4: Likewise.
89186         * m4/utimes.m4: Likewise.
89187
89188         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89189         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89190         comments in config.h.in are meaningful.
89191
89192         * m4/jm-macros.m4: Require autoconf-2.13 here.
89193
89194         * m4/regex.m4: By default, don't use the included regex.c on systems
89195         with glibc 2.  Suggestion from Uli Drepper.
89196
89197 1999-01-02  Jim Meyering  <meyering@ascend.com>
89198
89199         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89200
89201 1998-12-18  Jim Meyering  <meyering@ascend.com>
89202
89203         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89204         Based on a suggestion from Lars Hecking.
89205
89206 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89207
89208         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89209
89210 1998-11-16  Jim Meyering  <meyering@ascend.com>
89211
89212         * m4/lfs.m4: Double-quote the `uname...` expression.
89213
89214 1998-11-14  Jim Meyering  <meyering@ascend.com>
89215
89216         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89217         * m4/stat.m4: Likewise.
89218
89219 1998-11-03  Jim Meyering  <meyering@ascend.com>
89220
89221         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89222         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89223
89224 1998-10-18  Jim Meyering  <meyering@ascend.com>
89225
89226         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89227
89228 1998-10-17  Jim Meyering  <meyering@ascend.com>
89229
89230         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89231         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89232         calls for those previously hard-coded headers.  Instead, take a new
89233         parameter.
89234         (jm_CHECK_DECLARATIONS): Reflect interface change.
89235         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89236         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89237
89238         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89239
89240 1998-10-14  Jim Meyering  <meyering@ascend.com>
89241
89242         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89243         instead of "TZ=America/Vancouver".  From Paul Eggert.
89244
89245 1998-10-11  Jim Meyering  <meyering@ascend.com>
89246
89247         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89248         This adds a test for a recently added compatibility fix for mktime.c.
89249         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89250
89251 1998-09-27  Jim Meyering  <meyering@ascend.com>
89252
89253         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89254
89255         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89256         ../configure.in, including a change from Gordon Matzigkeit to allow
89257         cross-compiling for the Hurd.
89258
89259         * m4/glibc.m4: New file/macro to test for the GNU C Library
89260         versions 1 and 2.  From Gordon Matzigkeit.
89261         Indent.
89262
89263 1998-09-21  Jim Meyering  <meyering@ascend.com>
89264
89265         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89266
89267 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89268
89269         Port nanosecond-resolution times to UnixWare 2.1.2 and
89270         pedantic Solaris 2.6.
89271
89272         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89273         AC_STRUCT_ST_MTIM.
89274         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89275         Generate name of ns member, instead of just 1 or undef.
89276         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89277
89278 1998-08-15  Jim Meyering  <meyering@ascend.com>
89279
89280         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89281         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89282         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89283         instead of jm_TYPE_SSIZE_T.
89284
89285 1998-08-12  Jim Meyering  <meyering@ascend.com>
89286
89287         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89288
89289 1998-08-02  Jim Meyering  <meyering@ascend.com>
89290
89291         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89292         in acconfig.h manually.
89293
89294 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89295
89296         * m4/st_mtim.m4: New file.
89297
89298 1998-07-28  Jim Meyering  <meyering@ascend.com>
89299
89300         * m4/utimes.m4: Undef stat.
89301
89302 1998-07-25  Jim Meyering  <meyering@ascend.com>
89303
89304         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89305         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89306
89307 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89308
89309         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89310         uid and gid actually remain unchanged.
89311
89312 1998-07-07  Jim Meyering  <meyering@ascend.com>
89313
89314         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89315
89316 1998-07-04  Jim Meyering  <meyering@ascend.com>
89317
89318         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89319         to prove that this macro can be used in packages without regex.c.
89320
89321 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89322
89323         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89324         is to be used.
89325
89326 1998-07-03  Jim Meyering  <meyering@ascend.com>
89327
89328         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89329
89330         * m4/gettext.m4: New file -- from gettext-0.10.35.
89331         * m4/lcmessage.m4: Likewise.
89332         * m4/progtest.m4: Likewise.
89333
89334         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89335         * m4/jm-macros.m4: Require the new macro.
89336
89337 1998-06-29  Jim Meyering  <meyering@ascend.com>
89338
89339         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89340         for the definition of NGROUPS (used in a system header included
89341         by sys/mount.h).
89342
89343 1998-06-28  Jim Meyering  <meyering@ascend.com>
89344
89345         * m4/ls-mntd-fs.m4: New file.
89346         * m4/fstypename.m4: New file.
89347
89348         * m4/jm-macros.m4: Require the new macro.
89349         * m4/jm-glibc-io.m4: New file.
89350
89351 1998-05-19  Jim Meyering  <meyering@ascend.com>
89352
89353         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89354         * m4/lchown.m4: New file.
89355
89356         * m4/Makefile.am.in: New file.
89357         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89358
89359 1998-05-14  Jim Meyering  <meyering@ascend.com>
89360
89361         * m4/Makefile.am (EXTRA_DIST): Add them.
89362         * m4/jm-macros.m4: New file.
89363         * m4/utimbuf.m4: New file.
89364
89365 1998-05-12  Jim Meyering  <meyering@ascend.com>
89366
89367         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89368
89369 1998-05-11  Jim Meyering  <meyering@ascend.com>
89370
89371         * m4/isc-posix.m4: New file.
89372
89373 1998-05-10  Jim Meyering  <meyering@ascend.com>
89374
89375         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89376
89377 1998-05-09  Jim Meyering  <meyering@ascend.com>
89378
89379         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89380         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89381         with automake.
89382
89383         * m4/ssize_t.m4: New file.
89384         * m4/mktime.m4: Remove file -- the new automake has this now.
89385
89386 1998-04-26  Jim Meyering  <meyering@ascend.com>
89387
89388         * m4/assert.m4: New file.
89389         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89390
89391 1998-04-05  Jim Meyering  <meyering@ascend.com>
89392
89393         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89394         (jm_PREREQ): Use it here.
89395
89396 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89397
89398         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89399         in acconfig.h.
89400
89401 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89402
89403         * m4/prereq.m4: New file.
89404         * m4/error.m4: New file.
89405         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89406
89407 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89408
89409         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89410         cache-check for the same variable -- that defeated the purpose of
89411         the test; the test program was never run.  This was a problem only
89412         on systems with losing getline functions -- HP-UX 10.20 is one.
89413         Reported by Bjorn Helgaas.
89414
89415 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89416
89417         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89418
89419 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89420
89421         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89422
89423         * m4/const.m4: New file.  Use an initializer in this declaration
89424         typedef int charset[2]; const charset x;
89425         Reported by Bob Glickstein.
89426
89427 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89428
89429         * m4/chown.m4: Fix reversed types on -1 args to chown.
89430         From Kaveh Ghazi.
89431
89432 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89433
89434         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89435         Add lseek and memchr.
89436
89437         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89438         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89439         have a 20-character limit on names.
89440
89441 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89442
89443         * m4/inttypes_h.m4: New file.
89444         * m4/uintmax_t.m4: New file.
89445         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89446
89447
89448         -----
89449
89450         Local Variables:
89451         coding: utf-8
89452         End:
89453
89454         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89455
89456         Copying and distribution of this file, with or without
89457         modification, are permitted provided the copyright notice
89458         and this notice are preserved.